1 /* This C file is generated by NIT to compile module standard___file. */
2 #include "standard___file._sep.h"
3 static const char LOCATE_standard___file___Object___printn
[] = "file::Object::printn";
4 void standard___file___Object___printn(val_t p0
, val_t p1
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_standard___file
;
11 fra
.me
.meth
= LOCATE_standard___file___Object___printn
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
16 fra
.me
.REG
[1] = NIT_NULL
;
17 fra
.me
.REG
[2] = NIT_NULL
;
20 /* ../lib/standard/file.nit:26 */
21 fra
.me
.REG
[2] = fra
.me
.REG
[0];
22 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_standard___collection___array___Array
, ID_standard___collection___array___Array
)) /*cast Array[Object]*/;
23 if (UNTAG_Bool(REGB0
)) {
25 nit_abort("Cast failed", NULL
, LOCATE_standard___file
, 26);
27 /* ../lib/standard/file.nit:29 */
28 fra
.me
.REG
[2] = CALL_standard___file___Object___stdout(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
29 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
30 CALL_standard___stream___OStream___write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
31 stack_frame_head
= fra
.me
.prev
;
34 static const char LOCATE_standard___file___Object___print
[] = "file::Object::print";
35 void standard___file___Object___print(val_t p0
, val_t p1
){
36 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
39 static val_t once_value_1
; /* Once value */
40 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
41 fra
.me
.file
= LOCATE_standard___file
;
43 fra
.me
.meth
= LOCATE_standard___file___Object___print
;
46 fra
.me
.nitni_local_ref_head
= NULL
;
47 fra
.me
.REG
[0] = NIT_NULL
;
48 fra
.me
.REG
[1] = NIT_NULL
;
49 fra
.me
.REG
[2] = NIT_NULL
;
52 /* ../lib/standard/file.nit:35 */
53 fra
.me
.REG
[2] = CALL_standard___file___Object___stdout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
54 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
55 CALL_standard___stream___OStream___write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
56 /* ../lib/standard/file.nit:36 */
57 fra
.me
.REG
[0] = CALL_standard___file___Object___stdout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
59 fra
.me
.REG
[1] = BOX_NativeString("\n");
61 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
62 once_value_1
= fra
.me
.REG
[1];
63 register_static_object(&once_value_1
);
64 } else fra
.me
.REG
[1] = once_value_1
;
65 fra
.me
.REG
[1] = fra
.me
.REG
[1];
66 CALL_standard___stream___OStream___write(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
67 stack_frame_head
= fra
.me
.prev
;
70 static const char LOCATE_standard___file___Object___getc
[] = "file::Object::getc";
71 val_t
standard___file___Object___getc(val_t p0
){
72 struct {struct stack_frame_t me
;} fra
;
75 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
76 fra
.me
.file
= LOCATE_standard___file
;
78 fra
.me
.meth
= LOCATE_standard___file___Object___getc
;
81 fra
.me
.nitni_local_ref_head
= NULL
;
82 fra
.me
.REG
[0] = NIT_NULL
;
84 /* ../lib/standard/file.nit:42 */
85 fra
.me
.REG
[0] = CALL_standard___file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
86 REGB0
= CALL_standard___stream___IStream___read_char(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
87 /* ../lib/standard/kernel.nit:318 */
88 REGB0
= TAG_Char(UNTAG_Int(REGB0
));
89 /* ../lib/standard/file.nit:42 */
92 stack_frame_head
= fra
.me
.prev
;
95 static const char LOCATE_standard___file___Object___gets
[] = "file::Object::gets";
96 val_t
standard___file___Object___gets(val_t p0
){
97 struct {struct stack_frame_t me
;} fra
;
99 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
100 fra
.me
.file
= LOCATE_standard___file
;
102 fra
.me
.meth
= LOCATE_standard___file___Object___gets
;
103 fra
.me
.has_broke
= 0;
105 fra
.me
.nitni_local_ref_head
= NULL
;
106 fra
.me
.REG
[0] = NIT_NULL
;
108 /* ../lib/standard/file.nit:48 */
109 fra
.me
.REG
[0] = CALL_standard___file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
110 fra
.me
.REG
[0] = CALL_standard___stream___IStream___read_line(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
113 stack_frame_head
= fra
.me
.prev
;
114 return fra
.me
.REG
[0];
116 static const char LOCATE_standard___file___Object___stdin
[] = "file::Object::stdin";
117 val_t
standard___file___Object___stdin(val_t p0
){
118 struct {struct stack_frame_t me
;} fra
;
120 static val_t once_value_1
; /* Once value */
121 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
122 fra
.me
.file
= LOCATE_standard___file
;
124 fra
.me
.meth
= LOCATE_standard___file___Object___stdin
;
125 fra
.me
.has_broke
= 0;
127 fra
.me
.nitni_local_ref_head
= NULL
;
128 fra
.me
.REG
[0] = NIT_NULL
;
130 /* ../lib/standard/file.nit:369 */
132 fra
.me
.REG
[0] = NEW_Stdin_standard___file___Stdin___init();
133 once_value_1
= fra
.me
.REG
[0];
134 register_static_object(&once_value_1
);
135 } else fra
.me
.REG
[0] = once_value_1
;
136 fra
.me
.REG
[0] = fra
.me
.REG
[0];
139 stack_frame_head
= fra
.me
.prev
;
140 return fra
.me
.REG
[0];
142 static const char LOCATE_standard___file___Object___stdout
[] = "file::Object::stdout";
143 val_t
standard___file___Object___stdout(val_t p0
){
144 struct {struct stack_frame_t me
;} fra
;
146 static val_t once_value_1
; /* Once value */
147 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
148 fra
.me
.file
= LOCATE_standard___file
;
150 fra
.me
.meth
= LOCATE_standard___file___Object___stdout
;
151 fra
.me
.has_broke
= 0;
153 fra
.me
.nitni_local_ref_head
= NULL
;
154 fra
.me
.REG
[0] = NIT_NULL
;
156 /* ../lib/standard/file.nit:372 */
158 fra
.me
.REG
[0] = NEW_Stdout_standard___file___Stdout___init();
159 once_value_1
= fra
.me
.REG
[0];
160 register_static_object(&once_value_1
);
161 } else fra
.me
.REG
[0] = once_value_1
;
162 fra
.me
.REG
[0] = fra
.me
.REG
[0];
165 stack_frame_head
= fra
.me
.prev
;
166 return fra
.me
.REG
[0];
168 static const char LOCATE_standard___file___Object___stderr
[] = "file::Object::stderr";
169 val_t
standard___file___Object___stderr(val_t p0
){
170 struct {struct stack_frame_t me
;} fra
;
172 static val_t once_value_1
; /* Once value */
173 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
174 fra
.me
.file
= LOCATE_standard___file
;
176 fra
.me
.meth
= LOCATE_standard___file___Object___stderr
;
177 fra
.me
.has_broke
= 0;
179 fra
.me
.nitni_local_ref_head
= NULL
;
180 fra
.me
.REG
[0] = NIT_NULL
;
182 /* ../lib/standard/file.nit:375 */
184 fra
.me
.REG
[0] = NEW_Stderr_standard___file___Stderr___init();
185 once_value_1
= fra
.me
.REG
[0];
186 register_static_object(&once_value_1
);
187 } else fra
.me
.REG
[0] = once_value_1
;
188 fra
.me
.REG
[0] = fra
.me
.REG
[0];
191 stack_frame_head
= fra
.me
.prev
;
192 return fra
.me
.REG
[0];
194 static const char LOCATE_standard___file___FStream___path
[] = "file::FStream::path";
195 val_t
standard___file___FStream___path(val_t p0
){
196 struct {struct stack_frame_t me
;} fra
;
198 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
199 fra
.me
.file
= LOCATE_standard___file
;
201 fra
.me
.meth
= LOCATE_standard___file___FStream___path
;
202 fra
.me
.has_broke
= 0;
204 fra
.me
.nitni_local_ref_head
= NULL
;
205 fra
.me
.REG
[0] = NIT_NULL
;
207 /* ../lib/standard/file.nit:55 */
208 fra
.me
.REG
[0] = ATTR_standard___file___FStream____path(fra
.me
.REG
[0]);
209 stack_frame_head
= fra
.me
.prev
;
210 return fra
.me
.REG
[0];
212 static const char LOCATE_standard___file___FStream___file_stat
[] = "file::FStream::file_stat";
213 val_t
standard___file___FStream___file_stat(val_t p0
){
214 struct {struct stack_frame_t me
;} fra
;
217 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
218 fra
.me
.file
= LOCATE_standard___file
;
220 fra
.me
.meth
= LOCATE_standard___file___FStream___file_stat
;
221 fra
.me
.has_broke
= 0;
223 fra
.me
.nitni_local_ref_head
= NULL
;
224 fra
.me
.REG
[0] = NIT_NULL
;
226 /* ../lib/standard/file.nit:62 */
227 fra
.me
.REG
[0] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
228 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
229 if (UNTAG_Bool(REGB0
)) {
230 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 62);
232 fra
.me
.REG
[0] = CALL_standard___file___NativeFile___file_stat(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
235 stack_frame_head
= fra
.me
.prev
;
236 return fra
.me
.REG
[0];
238 static const char LOCATE_standard___file___FStream___init
[] = "file::FStream::init";
239 void standard___file___FStream___init(val_t p0
, int* init_table
){
240 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___FStream
].i
;
241 struct {struct stack_frame_t me
;} fra
;
243 if (init_table
[itpos0
]) return;
244 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
245 fra
.me
.file
= LOCATE_standard___file
;
247 fra
.me
.meth
= LOCATE_standard___file___FStream___init
;
248 fra
.me
.has_broke
= 0;
250 fra
.me
.nitni_local_ref_head
= NULL
;
251 stack_frame_head
= fra
.me
.prev
;
252 init_table
[itpos0
] = 1;
255 static const char LOCATE_standard___file___IFStream___reopen
[] = "file::IFStream::reopen";
256 void standard___file___IFStream___reopen(val_t p0
){
257 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
260 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
261 fra
.me
.file
= LOCATE_standard___file
;
263 fra
.me
.meth
= LOCATE_standard___file___IFStream___reopen
;
264 fra
.me
.has_broke
= 0;
266 fra
.me
.nitni_local_ref_head
= NULL
;
267 fra
.me
.REG
[0] = NIT_NULL
;
268 fra
.me
.REG
[1] = NIT_NULL
;
270 /* ../lib/standard/file.nit:75 */
271 REGB0
= CALL_standard___stream___IStream___eof(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
272 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
273 if (UNTAG_Bool(REGB0
)) {
274 CALL_standard___stream___IOS___close(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
276 /* ../lib/standard/file.nit:76 */
277 fra
.me
.REG
[1] = ATTR_standard___file___FStream____path(fra
.me
.REG
[0]);
278 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
279 if (UNTAG_Bool(REGB0
)) {
280 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 76);
282 fra
.me
.REG
[1] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
283 fra
.me
.REG
[1] = NEW_NativeFile_standard___file___NativeFile___io_open_read(fra
.me
.REG
[1]);
284 ATTR_standard___file___FStream____file(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
285 /* ../lib/standard/file.nit:77 */
287 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB0
;
288 /* ../lib/standard/file.nit:78 */
290 ATTR_standard___stream___BufferedIStream____buffer_pos(fra
.me
.REG
[0]) = REGB0
;
291 /* ../lib/standard/file.nit:79 */
292 fra
.me
.REG
[0] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
293 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
294 if (UNTAG_Bool(REGB0
)) {
295 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 79);
297 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
298 stack_frame_head
= fra
.me
.prev
;
301 static const char LOCATE_standard___file___IFStream___close
[] = "file::IFStream::(stream::IOS::close)";
302 void standard___file___IFStream___close(val_t p0
){
303 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
306 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
307 fra
.me
.file
= LOCATE_standard___file
;
309 fra
.me
.meth
= LOCATE_standard___file___IFStream___close
;
310 fra
.me
.has_broke
= 0;
312 fra
.me
.nitni_local_ref_head
= NULL
;
313 fra
.me
.REG
[0] = NIT_NULL
;
314 fra
.me
.REG
[1] = NIT_NULL
;
316 /* ../lib/standard/file.nit:84 */
317 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
318 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
319 if (UNTAG_Bool(REGB0
)) {
320 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 84);
322 REGB0
= CALL_standard___file___NativeFile___io_close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
323 /* ../lib/standard/file.nit:85 */
325 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB0
;
326 stack_frame_head
= fra
.me
.prev
;
329 static const char LOCATE_standard___file___IFStream___fill_buffer
[] = "file::IFStream::(stream::BufferedIStream::fill_buffer)";
330 void standard___file___IFStream___fill_buffer(val_t p0
){
331 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
336 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
337 fra
.me
.file
= LOCATE_standard___file
;
339 fra
.me
.meth
= LOCATE_standard___file___IFStream___fill_buffer
;
340 fra
.me
.has_broke
= 0;
342 fra
.me
.nitni_local_ref_head
= NULL
;
343 fra
.me
.REG
[0] = NIT_NULL
;
344 fra
.me
.REG
[1] = NIT_NULL
;
345 fra
.me
.REG
[2] = NIT_NULL
;
346 fra
.me
.REG
[3] = NIT_NULL
;
348 /* ../lib/standard/file.nit:90 */
349 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
350 fra
.me
.REG
[2] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
351 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
352 if (UNTAG_Bool(REGB0
)) {
353 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 90);
355 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2])!=NIT_NULL
);
356 if (UNTAG_Bool(REGB0
)) {
358 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___file
, 90);
360 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2]);
361 fra
.me
.REG
[3] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
362 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
363 if (UNTAG_Bool(REGB0
)) {
364 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 90);
366 REGB0
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[3])!=NIT_NULL
);
367 if (UNTAG_Bool(REGB0
)) {
369 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___file
, 90);
371 REGB0
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[3]);
372 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
373 if (UNTAG_Bool(REGB1
)) {
374 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 90);
376 REGB0
= CALL_standard___file___NativeFile___io_read(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
377 /* ../lib/standard/file.nit:91 */
379 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
380 if (UNTAG_Bool(REGB2
)) {
382 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
384 /* ../lib/standard/kernel.nit:241 */
385 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
386 /* ../lib/standard/file.nit:91 */
387 if (UNTAG_Bool(REGB1
)) {
388 /* ../lib/standard/file.nit:92 */
390 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB1
;
391 /* ../lib/standard/file.nit:93 */
395 /* ../lib/standard/file.nit:95 */
396 fra
.me
.REG
[2] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
397 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
398 if (UNTAG_Bool(REGB1
)) {
399 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 95);
401 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB0
;
402 /* ../lib/standard/file.nit:96 */
404 ATTR_standard___stream___BufferedIStream____buffer_pos(fra
.me
.REG
[0]) = REGB0
;
405 stack_frame_head
= fra
.me
.prev
;
408 static const char LOCATE_standard___file___IFStream___end_reached
[] = "file::IFStream::(stream::BufferedIStream::end_reached)";
409 val_t
standard___file___IFStream___end_reached(val_t p0
){
410 struct {struct stack_frame_t me
;} fra
;
413 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
414 fra
.me
.file
= LOCATE_standard___file
;
416 fra
.me
.meth
= LOCATE_standard___file___IFStream___end_reached
;
417 fra
.me
.has_broke
= 0;
419 fra
.me
.nitni_local_ref_head
= NULL
;
420 fra
.me
.REG
[0] = NIT_NULL
;
422 /* ../lib/standard/file.nit:99 */
423 REGB0
= TAG_Bool(ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0])!=NIT_NULL
);
424 if (UNTAG_Bool(REGB0
)) {
426 nit_abort("Uninitialized attribute %s", "_end_reached", LOCATE_standard___file
, 99);
428 REGB0
= ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]);
429 stack_frame_head
= fra
.me
.prev
;
432 static const char LOCATE_standard___file___IFStream___open
[] = "file::IFStream::open";
433 void standard___file___IFStream___open(val_t p0
, val_t p1
, int* init_table
){
434 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
435 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
439 if (init_table
[itpos1
]) return;
440 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
441 fra
.me
.file
= LOCATE_standard___file
;
443 fra
.me
.meth
= LOCATE_standard___file___IFStream___open
;
444 fra
.me
.has_broke
= 0;
446 fra
.me
.nitni_local_ref_head
= NULL
;
447 fra
.me
.REG
[0] = NIT_NULL
;
448 fra
.me
.REG
[1] = NIT_NULL
;
449 fra
.me
.REG
[2] = NIT_NULL
;
452 /* ../lib/standard/file.nit:102 */
453 fra
.me
.REG
[2] = fra
.me
.REG
[0];
454 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
455 CALL_standard___stream___BufferedIStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
456 /* ../lib/standard/file.nit:105 */
457 ATTR_standard___file___FStream____path(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
458 /* ../lib/standard/file.nit:106 */
460 CALL_standard___stream___BufferedIStream___prepare_buffer(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
461 /* ../lib/standard/file.nit:107 */
462 fra
.me
.REG
[1] = ATTR_standard___file___FStream____path(fra
.me
.REG
[2]);
463 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
464 if (UNTAG_Bool(REGB0
)) {
465 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 107);
467 fra
.me
.REG
[1] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
468 fra
.me
.REG
[1] = NEW_NativeFile_standard___file___NativeFile___io_open_read(fra
.me
.REG
[1]);
469 ATTR_standard___file___FStream____file(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
470 /* ../lib/standard/file.nit:108 */
471 fra
.me
.REG
[2] = ATTR_standard___file___FStream____file(fra
.me
.REG
[2]);
472 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
473 if (UNTAG_Bool(REGB0
)) {
475 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
476 if (UNTAG_Bool(REGB1
)) {
480 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
484 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
485 if (UNTAG_Bool(REGB0
)) {
487 nit_abort("Assert '%s' failed", "cant_open_file", LOCATE_standard___file
, 108);
489 stack_frame_head
= fra
.me
.prev
;
490 init_table
[itpos1
] = 1;
493 static const char LOCATE_standard___file___IFStream___init
[] = "file::IFStream::init";
494 void standard___file___IFStream___init(val_t p0
, int* init_table
){
495 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
496 struct {struct stack_frame_t me
;} fra
;
498 if (init_table
[itpos2
]) return;
499 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
500 fra
.me
.file
= LOCATE_standard___file
;
502 fra
.me
.meth
= LOCATE_standard___file___IFStream___init
;
503 fra
.me
.has_broke
= 0;
505 fra
.me
.nitni_local_ref_head
= NULL
;
506 fra
.me
.REG
[0] = NIT_NULL
;
508 /* ../lib/standard/file.nit:111 */
509 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
510 CALL_standard___stream___BufferedIStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
511 stack_frame_head
= fra
.me
.prev
;
512 init_table
[itpos2
] = 1;
515 static const char LOCATE_standard___file___IFStream___without_file
[] = "file::IFStream::without_file";
516 void standard___file___IFStream___without_file(val_t p0
, int* init_table
){
517 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
518 struct {struct stack_frame_t me
;} fra
;
520 if (init_table
[itpos3
]) return;
521 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
522 fra
.me
.file
= LOCATE_standard___file
;
524 fra
.me
.meth
= LOCATE_standard___file___IFStream___without_file
;
525 fra
.me
.has_broke
= 0;
527 fra
.me
.nitni_local_ref_head
= NULL
;
528 fra
.me
.REG
[0] = NIT_NULL
;
530 /* ../lib/standard/file.nit:112 */
531 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
532 CALL_standard___stream___BufferedIStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
533 stack_frame_head
= fra
.me
.prev
;
534 init_table
[itpos3
] = 1;
537 static const char LOCATE_standard___file___OFStream___write
[] = "file::OFStream::(stream::OStream::write)";
538 void standard___file___OFStream___write(val_t p0
, val_t p1
){
539 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
542 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
543 fra
.me
.file
= LOCATE_standard___file
;
545 fra
.me
.meth
= LOCATE_standard___file___OFStream___write
;
546 fra
.me
.has_broke
= 0;
548 fra
.me
.nitni_local_ref_head
= NULL
;
549 fra
.me
.REG
[0] = NIT_NULL
;
550 fra
.me
.REG
[1] = NIT_NULL
;
551 fra
.me
.REG
[2] = NIT_NULL
;
554 /* ../lib/standard/file.nit:122 */
555 REGB0
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
556 if (UNTAG_Bool(REGB0
)) {
558 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 122);
560 REGB0
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
561 if (UNTAG_Bool(REGB0
)) {
563 nit_abort("Assert failed", NULL
, LOCATE_standard___file
, 122);
565 /* ../lib/standard/file.nit:123 */
566 fra
.me
.REG
[2] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
567 /* ../lib/standard/collection/array.nit:24 */
568 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
569 if (UNTAG_Bool(REGB0
)) {
571 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
573 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
574 /* ../lib/standard/file.nit:123 */
575 CALL_standard___file___OFStream___write_native(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], REGB0
);
576 stack_frame_head
= fra
.me
.prev
;
579 static const char LOCATE_standard___file___OFStream___is_writable
[] = "file::OFStream::(stream::OStream::is_writable)";
580 val_t
standard___file___OFStream___is_writable(val_t p0
){
581 struct {struct stack_frame_t me
;} fra
;
584 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
585 fra
.me
.file
= LOCATE_standard___file
;
587 fra
.me
.meth
= LOCATE_standard___file___OFStream___is_writable
;
588 fra
.me
.has_broke
= 0;
590 fra
.me
.nitni_local_ref_head
= NULL
;
591 fra
.me
.REG
[0] = NIT_NULL
;
593 /* ../lib/standard/file.nit:126 */
594 REGB0
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
595 if (UNTAG_Bool(REGB0
)) {
597 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 126);
599 REGB0
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
602 stack_frame_head
= fra
.me
.prev
;
605 static const char LOCATE_standard___file___OFStream___close
[] = "file::OFStream::(stream::IOS::close)";
606 void standard___file___OFStream___close(val_t p0
){
607 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
610 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
611 fra
.me
.file
= LOCATE_standard___file
;
613 fra
.me
.meth
= LOCATE_standard___file___OFStream___close
;
614 fra
.me
.has_broke
= 0;
616 fra
.me
.nitni_local_ref_head
= NULL
;
617 fra
.me
.REG
[0] = NIT_NULL
;
618 fra
.me
.REG
[1] = NIT_NULL
;
620 /* ../lib/standard/file.nit:130 */
621 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
622 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
623 if (UNTAG_Bool(REGB0
)) {
624 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 130);
626 REGB0
= CALL_standard___file___NativeFile___io_close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
627 /* ../lib/standard/file.nit:131 */
629 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]) = REGB0
;
630 stack_frame_head
= fra
.me
.prev
;
633 static const char LOCATE_standard___file___OFStream___write_native
[] = "file::OFStream::write_native";
634 void standard___file___OFStream___write_native(val_t p0
, val_t p1
, val_t p2
){
635 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
641 static val_t once_value_1
; /* Once value */
642 static val_t once_value_2
; /* Once value */
643 static val_t once_value_3
; /* Once value */
644 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
645 fra
.me
.file
= LOCATE_standard___file
;
647 fra
.me
.meth
= LOCATE_standard___file___OFStream___write_native
;
648 fra
.me
.has_broke
= 0;
650 fra
.me
.nitni_local_ref_head
= NULL
;
651 fra
.me
.REG
[0] = NIT_NULL
;
652 fra
.me
.REG
[1] = NIT_NULL
;
653 fra
.me
.REG
[2] = NIT_NULL
;
657 /* ../lib/standard/file.nit:140 */
658 REGB1
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
659 if (UNTAG_Bool(REGB1
)) {
661 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 140);
663 REGB1
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
664 if (UNTAG_Bool(REGB1
)) {
666 nit_abort("Assert failed", NULL
, LOCATE_standard___file
, 140);
668 /* ../lib/standard/file.nit:141 */
669 fra
.me
.REG
[2] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
670 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
671 if (UNTAG_Bool(REGB1
)) {
672 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 141);
674 REGB1
= CALL_standard___file___NativeFile___io_write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
675 /* ../lib/standard/file.nit:142 */
676 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
677 if (UNTAG_Bool(REGB2
)) {
679 /* ../lib/standard/kernel.nit:237 */
680 REGB3
= TAG_Bool((REGB1
)==(REGB0
));
681 /* ../lib/standard/file.nit:142 */
684 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
685 if (UNTAG_Bool(REGB2
)) {
686 /* ../lib/standard/file.nit:144 */
688 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
690 fra
.me
.REG
[2] = BOX_NativeString("Problem in writing : ");
692 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
693 once_value_1
= fra
.me
.REG
[2];
694 register_static_object(&once_value_1
);
695 } else fra
.me
.REG
[2] = once_value_1
;
696 fra
.me
.REG
[2] = fra
.me
.REG
[2];
697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
700 fra
.me
.REG
[2] = BOX_NativeString(" ");
702 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
703 once_value_2
= fra
.me
.REG
[2];
704 register_static_object(&once_value_2
);
705 } else fra
.me
.REG
[2] = once_value_2
;
706 fra
.me
.REG
[2] = fra
.me
.REG
[2];
707 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
710 fra
.me
.REG
[2] = BOX_NativeString("\n");
712 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
713 once_value_3
= fra
.me
.REG
[2];
714 register_static_object(&once_value_3
);
715 } else fra
.me
.REG
[2] = once_value_3
;
716 fra
.me
.REG
[2] = fra
.me
.REG
[2];
717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
718 CALL_standard___file___Object___printn(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
720 stack_frame_head
= fra
.me
.prev
;
723 static const char LOCATE_standard___file___OFStream___open
[] = "file::OFStream::open";
724 void standard___file___OFStream___open(val_t p0
, val_t p1
, int* init_table
){
725 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
726 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
730 if (init_table
[itpos4
]) return;
731 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
732 fra
.me
.file
= LOCATE_standard___file
;
734 fra
.me
.meth
= LOCATE_standard___file___OFStream___open
;
735 fra
.me
.has_broke
= 0;
737 fra
.me
.nitni_local_ref_head
= NULL
;
738 fra
.me
.REG
[0] = NIT_NULL
;
739 fra
.me
.REG
[1] = NIT_NULL
;
740 fra
.me
.REG
[2] = NIT_NULL
;
743 /* ../lib/standard/file.nit:148 */
744 fra
.me
.REG
[2] = fra
.me
.REG
[0];
745 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
746 /* ../lib/standard/file.nit:151 */
747 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
748 fra
.me
.REG
[0] = NEW_NativeFile_standard___file___NativeFile___io_open_write(fra
.me
.REG
[0]);
749 ATTR_standard___file___FStream____file(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
750 /* ../lib/standard/file.nit:152 */
751 fra
.me
.REG
[0] = ATTR_standard___file___FStream____file(fra
.me
.REG
[2]);
752 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
753 if (UNTAG_Bool(REGB0
)) {
755 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
756 if (UNTAG_Bool(REGB1
)) {
760 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
764 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
765 if (UNTAG_Bool(REGB0
)) {
767 nit_abort("Assert '%s' failed", "cant_open_file", LOCATE_standard___file
, 152);
769 /* ../lib/standard/file.nit:153 */
770 ATTR_standard___file___FStream____path(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
771 /* ../lib/standard/file.nit:154 */
773 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[2]) = REGB0
;
774 stack_frame_head
= fra
.me
.prev
;
775 init_table
[itpos4
] = 1;
778 static const char LOCATE_standard___file___OFStream___init
[] = "file::OFStream::init";
779 void standard___file___OFStream___init(val_t p0
, int* init_table
){
780 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
781 struct {struct stack_frame_t me
;} fra
;
783 if (init_table
[itpos5
]) return;
784 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
785 fra
.me
.file
= LOCATE_standard___file
;
787 fra
.me
.meth
= LOCATE_standard___file___OFStream___init
;
788 fra
.me
.has_broke
= 0;
790 fra
.me
.nitni_local_ref_head
= NULL
;
791 fra
.me
.REG
[0] = NIT_NULL
;
793 /* ../lib/standard/file.nit:157 */
794 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
795 stack_frame_head
= fra
.me
.prev
;
796 init_table
[itpos5
] = 1;
799 static const char LOCATE_standard___file___OFStream___without_file
[] = "file::OFStream::without_file";
800 void standard___file___OFStream___without_file(val_t p0
, int* init_table
){
801 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
802 struct {struct stack_frame_t me
;} fra
;
804 if (init_table
[itpos6
]) return;
805 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
806 fra
.me
.file
= LOCATE_standard___file
;
808 fra
.me
.meth
= LOCATE_standard___file___OFStream___without_file
;
809 fra
.me
.has_broke
= 0;
811 fra
.me
.nitni_local_ref_head
= NULL
;
812 fra
.me
.REG
[0] = NIT_NULL
;
814 /* ../lib/standard/file.nit:158 */
815 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
816 stack_frame_head
= fra
.me
.prev
;
817 init_table
[itpos6
] = 1;
820 static const char LOCATE_standard___file___Stdin___init
[] = "file::Stdin::init";
821 void standard___file___Stdin___init(val_t p0
, int* init_table
){
822 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stdin
].i
;
823 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
826 static val_t once_value_1
; /* Once value */
827 if (init_table
[itpos7
]) return;
828 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
829 fra
.me
.file
= LOCATE_standard___file
;
831 fra
.me
.meth
= LOCATE_standard___file___Stdin___init
;
832 fra
.me
.has_broke
= 0;
834 fra
.me
.nitni_local_ref_head
= NULL
;
835 fra
.me
.REG
[0] = NIT_NULL
;
836 fra
.me
.REG
[1] = NIT_NULL
;
838 /* ../lib/standard/file.nit:165 */
839 fra
.me
.REG
[1] = fra
.me
.REG
[0];
840 CALL_standard___file___IFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
841 /* ../lib/standard/file.nit:166 */
842 fra
.me
.REG
[0] = NEW_NativeFile_standard___file___NativeFile___native_stdin();
843 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
844 /* ../lib/standard/file.nit:167 */
846 fra
.me
.REG
[0] = BOX_NativeString("/dev/stdin");
848 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
849 once_value_1
= fra
.me
.REG
[0];
850 register_static_object(&once_value_1
);
851 } else fra
.me
.REG
[0] = once_value_1
;
852 fra
.me
.REG
[0] = fra
.me
.REG
[0];
853 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
854 /* ../lib/standard/file.nit:168 */
856 CALL_standard___stream___BufferedIStream___prepare_buffer(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
857 stack_frame_head
= fra
.me
.prev
;
858 init_table
[itpos7
] = 1;
861 static const char LOCATE_standard___file___Stdin___poll_in
[] = "file::Stdin::poll_in";
862 val_t
standard___file___Stdin___poll_in(val_t p0
){
863 struct {struct stack_frame_t me
;} fra
;
866 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
867 fra
.me
.file
= LOCATE_standard___file
;
869 fra
.me
.meth
= LOCATE_standard___file___Stdin___poll_in
;
870 fra
.me
.has_broke
= 0;
872 fra
.me
.nitni_local_ref_head
= NULL
;
873 fra
.me
.REG
[0] = NIT_NULL
;
875 /* ../lib/standard/file.nit:171 */
876 REGB0
= Stdin_poll_in___out(fra
.me
.REG
[0]);
877 stack_frame_head
= fra
.me
.prev
;
880 static const char LOCATE_standard___file___Stdout___init
[] = "file::Stdout::init";
881 void standard___file___Stdout___init(val_t p0
, int* init_table
){
882 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stdout
].i
;
883 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
886 static val_t once_value_1
; /* Once value */
887 if (init_table
[itpos8
]) return;
888 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
889 fra
.me
.file
= LOCATE_standard___file
;
891 fra
.me
.meth
= LOCATE_standard___file___Stdout___init
;
892 fra
.me
.has_broke
= 0;
894 fra
.me
.nitni_local_ref_head
= NULL
;
895 fra
.me
.REG
[0] = NIT_NULL
;
896 fra
.me
.REG
[1] = NIT_NULL
;
898 /* ../lib/standard/file.nit:178 */
899 fra
.me
.REG
[1] = fra
.me
.REG
[0];
900 CALL_standard___file___OFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
901 /* ../lib/standard/file.nit:179 */
902 fra
.me
.REG
[0] = NEW_NativeFile_standard___file___NativeFile___native_stdout();
903 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
904 /* ../lib/standard/file.nit:180 */
906 fra
.me
.REG
[0] = BOX_NativeString("/dev/stdout");
908 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
909 once_value_1
= fra
.me
.REG
[0];
910 register_static_object(&once_value_1
);
911 } else fra
.me
.REG
[0] = once_value_1
;
912 fra
.me
.REG
[0] = fra
.me
.REG
[0];
913 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
914 /* ../lib/standard/file.nit:181 */
916 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[1]) = REGB0
;
917 stack_frame_head
= fra
.me
.prev
;
918 init_table
[itpos8
] = 1;
921 static const char LOCATE_standard___file___Stderr___init
[] = "file::Stderr::init";
922 void standard___file___Stderr___init(val_t p0
, int* init_table
){
923 int itpos9
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stderr
].i
;
924 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
927 static val_t once_value_1
; /* Once value */
928 if (init_table
[itpos9
]) return;
929 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
930 fra
.me
.file
= LOCATE_standard___file
;
932 fra
.me
.meth
= LOCATE_standard___file___Stderr___init
;
933 fra
.me
.has_broke
= 0;
935 fra
.me
.nitni_local_ref_head
= NULL
;
936 fra
.me
.REG
[0] = NIT_NULL
;
937 fra
.me
.REG
[1] = NIT_NULL
;
939 /* ../lib/standard/file.nit:187 */
940 fra
.me
.REG
[1] = fra
.me
.REG
[0];
941 CALL_standard___file___OFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
942 /* ../lib/standard/file.nit:188 */
943 fra
.me
.REG
[0] = NEW_NativeFile_standard___file___NativeFile___native_stderr();
944 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
945 /* ../lib/standard/file.nit:189 */
947 fra
.me
.REG
[0] = BOX_NativeString("/dev/stderr");
949 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
950 once_value_1
= fra
.me
.REG
[0];
951 register_static_object(&once_value_1
);
952 } else fra
.me
.REG
[0] = once_value_1
;
953 fra
.me
.REG
[0] = fra
.me
.REG
[0];
954 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
955 /* ../lib/standard/file.nit:190 */
957 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[1]) = REGB0
;
958 stack_frame_head
= fra
.me
.prev
;
959 init_table
[itpos9
] = 1;
962 static const char LOCATE_standard___file___String___file_exists
[] = "file::String::file_exists";
963 val_t
standard___file___String___file_exists(val_t p0
){
964 struct {struct stack_frame_t me
;} fra
;
967 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
968 fra
.me
.file
= LOCATE_standard___file
;
970 fra
.me
.meth
= LOCATE_standard___file___String___file_exists
;
971 fra
.me
.has_broke
= 0;
973 fra
.me
.nitni_local_ref_head
= NULL
;
974 fra
.me
.REG
[0] = NIT_NULL
;
976 /* ../lib/standard/file.nit:198 */
977 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
978 REGB0
= CALL_standard___file___NativeString___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
981 stack_frame_head
= fra
.me
.prev
;
984 static const char LOCATE_standard___file___String___file_stat
[] = "file::String::file_stat";
985 val_t
standard___file___String___file_stat(val_t p0
){
986 struct {struct stack_frame_t me
;} fra
;
988 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
989 fra
.me
.file
= LOCATE_standard___file
;
991 fra
.me
.meth
= LOCATE_standard___file___String___file_stat
;
992 fra
.me
.has_broke
= 0;
994 fra
.me
.nitni_local_ref_head
= NULL
;
995 fra
.me
.REG
[0] = NIT_NULL
;
997 /* ../lib/standard/file.nit:200 */
998 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
999 fra
.me
.REG
[0] = CALL_standard___file___NativeString___file_stat(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1002 stack_frame_head
= fra
.me
.prev
;
1003 return fra
.me
.REG
[0];
1005 static const char LOCATE_standard___file___String___file_lstat
[] = "file::String::file_lstat";
1006 val_t
standard___file___String___file_lstat(val_t p0
){
1007 struct {struct stack_frame_t me
;} fra
;
1009 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1010 fra
.me
.file
= LOCATE_standard___file
;
1012 fra
.me
.meth
= LOCATE_standard___file___String___file_lstat
;
1013 fra
.me
.has_broke
= 0;
1014 fra
.me
.REG_size
= 1;
1015 fra
.me
.nitni_local_ref_head
= NULL
;
1016 fra
.me
.REG
[0] = NIT_NULL
;
1018 /* ../lib/standard/file.nit:201 */
1019 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1020 fra
.me
.REG
[0] = CALL_standard___file___NativeString___file_lstat(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1023 stack_frame_head
= fra
.me
.prev
;
1024 return fra
.me
.REG
[0];
1026 static const char LOCATE_standard___file___String___file_delete
[] = "file::String::file_delete";
1027 val_t
standard___file___String___file_delete(val_t p0
){
1028 struct {struct stack_frame_t me
;} fra
;
1031 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1032 fra
.me
.file
= LOCATE_standard___file
;
1034 fra
.me
.meth
= LOCATE_standard___file___String___file_delete
;
1035 fra
.me
.has_broke
= 0;
1036 fra
.me
.REG_size
= 1;
1037 fra
.me
.nitni_local_ref_head
= NULL
;
1038 fra
.me
.REG
[0] = NIT_NULL
;
1040 /* ../lib/standard/file.nit:204 */
1041 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1042 REGB0
= CALL_standard___file___NativeString___file_delete(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1045 stack_frame_head
= fra
.me
.prev
;
1048 static const char LOCATE_standard___file___String___strip_extension
[] = "file::String::strip_extension";
1049 val_t
standard___file___String___strip_extension(val_t p0
, val_t p1
){
1050 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1055 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1056 fra
.me
.file
= LOCATE_standard___file
;
1058 fra
.me
.meth
= LOCATE_standard___file___String___strip_extension
;
1059 fra
.me
.has_broke
= 0;
1060 fra
.me
.REG_size
= 2;
1061 fra
.me
.nitni_local_ref_head
= NULL
;
1062 fra
.me
.REG
[0] = NIT_NULL
;
1063 fra
.me
.REG
[1] = NIT_NULL
;
1066 /* ../lib/standard/file.nit:209 */
1067 REGB0
= CALL_standard___string___AbstractString___has_suffix(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1068 if (UNTAG_Bool(REGB0
)) {
1069 /* ../lib/standard/file.nit:210 */
1071 /* ../lib/standard/collection/array.nit:24 */
1072 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1073 if (UNTAG_Bool(REGB1
)) {
1075 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1077 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1078 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1079 if (UNTAG_Bool(REGB2
)) {
1081 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1083 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1084 /* ../lib/standard/kernel.nit:247 */
1085 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1086 /* ../lib/standard/file.nit:210 */
1087 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1090 /* ../lib/standard/file.nit:212 */
1091 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1094 stack_frame_head
= fra
.me
.prev
;
1095 return fra
.me
.REG
[1];
1097 static const char LOCATE_standard___file___String___basename
[] = "file::String::basename";
1098 val_t
standard___file___String___basename(val_t p0
, val_t p1
){
1099 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1104 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1105 fra
.me
.file
= LOCATE_standard___file
;
1107 fra
.me
.meth
= LOCATE_standard___file___String___basename
;
1108 fra
.me
.has_broke
= 0;
1109 fra
.me
.REG_size
= 3;
1110 fra
.me
.nitni_local_ref_head
= NULL
;
1111 fra
.me
.REG
[0] = NIT_NULL
;
1112 fra
.me
.REG
[1] = NIT_NULL
;
1113 fra
.me
.REG
[2] = NIT_NULL
;
1116 /* ../lib/standard/file.nit:218 */
1117 REGB0
= TAG_Char('/');
1118 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1119 if (UNTAG_Bool(REGB1
)) {
1121 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file
, 218);
1123 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1125 /* ../lib/standard/kernel.nit:247 */
1126 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1127 /* ../lib/standard/file.nit:218 */
1128 REGB2
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1129 /* ../lib/standard/file.nit:219 */
1130 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1131 /* ../lib/standard/file.nit:220 */
1133 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1134 if (UNTAG_Bool(REGB1
)) {
1136 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1138 /* ../lib/standard/kernel.nit:243 */
1139 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1140 /* ../lib/standard/file.nit:220 */
1141 if (UNTAG_Bool(REGB0
)) {
1142 /* ../lib/standard/file.nit:221 */
1144 /* ../lib/standard/kernel.nit:245 */
1145 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1146 /* ../lib/standard/file.nit:221 */
1147 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1148 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1150 /* ../lib/standard/file.nit:223 */
1151 fra
.me
.REG
[1] = CALL_standard___file___String___strip_extension(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1154 stack_frame_head
= fra
.me
.prev
;
1155 return fra
.me
.REG
[1];
1157 static const char LOCATE_standard___file___String___dirname
[] = "file::String::dirname";
1158 val_t
standard___file___String___dirname(val_t p0
){
1159 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1164 static val_t once_value_2
; /* Once value */
1165 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1166 fra
.me
.file
= LOCATE_standard___file
;
1168 fra
.me
.meth
= LOCATE_standard___file___String___dirname
;
1169 fra
.me
.has_broke
= 0;
1170 fra
.me
.REG_size
= 2;
1171 fra
.me
.nitni_local_ref_head
= NULL
;
1172 fra
.me
.REG
[0] = NIT_NULL
;
1173 fra
.me
.REG
[1] = NIT_NULL
;
1175 /* ../lib/standard/file.nit:229 */
1176 REGB0
= TAG_Char('/');
1177 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1178 if (UNTAG_Bool(REGB1
)) {
1180 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file
, 229);
1182 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1184 /* ../lib/standard/kernel.nit:247 */
1185 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1186 /* ../lib/standard/file.nit:229 */
1187 REGB2
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1188 /* ../lib/standard/file.nit:230 */
1190 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1191 if (UNTAG_Bool(REGB1
)) {
1193 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1195 /* ../lib/standard/kernel.nit:243 */
1196 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1197 /* ../lib/standard/file.nit:230 */
1198 if (UNTAG_Bool(REGB0
)) {
1199 /* ../lib/standard/file.nit:231 */
1201 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1204 /* ../lib/standard/file.nit:233 */
1205 if (!once_value_2
) {
1206 fra
.me
.REG
[1] = BOX_NativeString(".");
1208 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
1209 once_value_2
= fra
.me
.REG
[1];
1210 register_static_object(&once_value_2
);
1211 } else fra
.me
.REG
[1] = once_value_2
;
1212 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1213 fra
.me
.REG
[0] = fra
.me
.REG
[1];
1217 stack_frame_head
= fra
.me
.prev
;
1218 return fra
.me
.REG
[0];
1220 static const char LOCATE_standard___file___String___simplify_path
[] = "file::String::simplify_path";
1221 val_t
standard___file___String___simplify_path(val_t p0
){
1222 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1227 static val_t once_value_1
; /* Once value */
1228 static val_t once_value_2
; /* Once value */
1229 static val_t once_value_4
; /* Once value */
1230 static val_t once_value_5
; /* Once value */
1231 static val_t once_value_6
; /* Once value */
1232 static val_t once_value_8
; /* Once value */
1233 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1234 fra
.me
.file
= LOCATE_standard___file
;
1236 fra
.me
.meth
= LOCATE_standard___file___String___simplify_path
;
1237 fra
.me
.has_broke
= 0;
1238 fra
.me
.REG_size
= 6;
1239 fra
.me
.nitni_local_ref_head
= NULL
;
1240 fra
.me
.REG
[0] = NIT_NULL
;
1241 fra
.me
.REG
[1] = NIT_NULL
;
1242 fra
.me
.REG
[2] = NIT_NULL
;
1243 fra
.me
.REG
[3] = NIT_NULL
;
1244 fra
.me
.REG
[4] = NIT_NULL
;
1245 fra
.me
.REG
[5] = NIT_NULL
;
1247 /* ../lib/standard/file.nit:252 */
1248 if (!once_value_1
) {
1249 fra
.me
.REG
[1] = BOX_NativeString("/");
1251 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1252 once_value_1
= fra
.me
.REG
[1];
1253 register_static_object(&once_value_1
);
1254 } else fra
.me
.REG
[1] = once_value_1
;
1255 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1256 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1257 /* ../lib/standard/file.nit:253 */
1258 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
1259 /* ../lib/standard/collection/array.nit:270 */
1261 /* ../lib/standard/collection/array.nit:271 */
1262 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1263 if (UNTAG_Bool(REGB1
)) {
1265 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
1267 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1268 /* ../lib/standard/collection/array.nit:272 */
1269 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1270 /* ../lib/standard/collection/array.nit:273 */
1272 /* ../lib/standard/collection/array.nit:24 */
1273 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1274 if (UNTAG_Bool(REGB1
)) {
1276 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1278 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1279 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1280 if (UNTAG_Bool(REGB2
)) {
1282 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1284 /* ../lib/standard/kernel.nit:242 */
1285 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1286 /* ../lib/standard/collection/array.nit:273 */
1287 if (UNTAG_Bool(REGB1
)) {
1288 /* ../lib/standard/collection/array.nit:274 */
1289 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1290 if (UNTAG_Bool(REGB1
)) {
1291 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
1293 /* ../lib/standard/collection/array.nit:725 */
1294 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1295 /* ../lib/standard/file.nit:255 */
1296 if (!once_value_2
) {
1297 fra
.me
.REG
[4] = BOX_NativeString(".");
1299 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1300 once_value_2
= fra
.me
.REG
[4];
1301 register_static_object(&once_value_2
);
1302 } else fra
.me
.REG
[4] = once_value_2
;
1303 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1304 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1305 if (UNTAG_Bool(REGB1
)) {
1307 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1310 if (UNTAG_Bool(REGB1
)) {
1313 /* ../lib/standard/file.nit:256 */
1314 if (!once_value_4
) {
1315 fra
.me
.REG
[4] = BOX_NativeString("");
1317 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1318 once_value_4
= fra
.me
.REG
[4];
1319 register_static_object(&once_value_4
);
1320 } else fra
.me
.REG
[4] = once_value_4
;
1321 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1322 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1323 if (UNTAG_Bool(REGB1
)) {
1325 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1328 if (UNTAG_Bool(REGB1
)) {
1329 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1330 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1332 REGB2
= TAG_Bool(0);
1335 if (UNTAG_Bool(REGB1
)) {
1338 /* ../lib/standard/file.nit:257 */
1339 if (!once_value_5
) {
1340 fra
.me
.REG
[4] = BOX_NativeString("..");
1342 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1343 once_value_5
= fra
.me
.REG
[4];
1344 register_static_object(&once_value_5
);
1345 } else fra
.me
.REG
[4] = once_value_5
;
1346 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1347 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1348 if (UNTAG_Bool(REGB1
)) {
1350 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1353 if (UNTAG_Bool(REGB1
)) {
1354 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1355 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1357 REGB2
= TAG_Bool(0);
1360 if (UNTAG_Bool(REGB1
)) {
1361 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1362 if (!once_value_6
) {
1363 fra
.me
.REG
[5] = BOX_NativeString("..");
1365 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
1366 once_value_6
= fra
.me
.REG
[5];
1367 register_static_object(&once_value_6
);
1368 } else fra
.me
.REG
[5] = once_value_6
;
1369 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1370 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[5],fra
.me
.REG
[4]));
1371 if (UNTAG_Bool(REGB1
)) {
1373 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1374 if (UNTAG_Bool(REGB2
)) {
1375 REGB2
= TAG_Bool(0);
1378 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1382 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1384 REGB2
= TAG_Bool(0);
1387 if (UNTAG_Bool(REGB1
)) {
1388 /* ../lib/standard/file.nit:258 */
1389 CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1390 /* ../lib/standard/file.nit:259 */
1393 /* ../lib/standard/file.nit:261 */
1394 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1396 /* ../lib/standard/collection/array.nit:275 */
1398 /* ../lib/standard/kernel.nit:245 */
1399 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1400 /* ../lib/standard/collection/array.nit:275 */
1403 /* ../lib/standard/collection/array.nit:273 */
1408 /* ../lib/standard/file.nit:263 */
1409 if (!once_value_8
) {
1410 fra
.me
.REG
[2] = BOX_NativeString("/");
1412 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
1413 once_value_8
= fra
.me
.REG
[2];
1414 register_static_object(&once_value_8
);
1415 } else fra
.me
.REG
[2] = once_value_8
;
1416 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1417 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1420 stack_frame_head
= fra
.me
.prev
;
1421 return fra
.me
.REG
[2];
1423 static const char LOCATE_standard___file___String___join_path
[] = "file::String::join_path";
1424 val_t
standard___file___String___join_path(val_t p0
, val_t p1
){
1425 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1430 static val_t once_value_2
; /* Once value */
1431 static val_t once_value_3
; /* Once value */
1432 static val_t once_value_4
; /* Once value */
1433 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1434 fra
.me
.file
= LOCATE_standard___file
;
1436 fra
.me
.meth
= LOCATE_standard___file___String___join_path
;
1437 fra
.me
.has_broke
= 0;
1438 fra
.me
.REG_size
= 5;
1439 fra
.me
.nitni_local_ref_head
= NULL
;
1440 fra
.me
.REG
[0] = NIT_NULL
;
1441 fra
.me
.REG
[1] = NIT_NULL
;
1442 fra
.me
.REG
[2] = NIT_NULL
;
1443 fra
.me
.REG
[3] = NIT_NULL
;
1444 fra
.me
.REG
[4] = NIT_NULL
;
1447 /* ../lib/standard/file.nit:283 */
1448 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1449 if (UNTAG_Bool(REGB0
)) {
1450 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1453 /* ../lib/standard/file.nit:284 */
1454 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1455 if (UNTAG_Bool(REGB0
)) {
1456 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1459 /* ../lib/standard/file.nit:285 */
1461 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1462 REGB1
= TAG_Char('/');
1463 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1464 if (UNTAG_Bool(REGB2
)) {
1466 /* ../lib/standard/kernel.nit:434 */
1467 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1468 /* ../lib/standard/file.nit:285 */
1471 if (UNTAG_Bool(REGB2
)) {
1472 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1475 /* ../lib/standard/file.nit:286 */
1477 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1478 if (!once_value_2
) {
1479 fra
.me
.REG
[4] = BOX_NativeString("");
1481 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
1482 once_value_2
= fra
.me
.REG
[4];
1483 register_static_object(&once_value_2
);
1484 } else fra
.me
.REG
[4] = once_value_2
;
1485 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1488 if (!once_value_3
) {
1489 fra
.me
.REG
[0] = BOX_NativeString("/");
1491 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
1492 once_value_3
= fra
.me
.REG
[0];
1493 register_static_object(&once_value_3
);
1494 } else fra
.me
.REG
[0] = once_value_3
;
1495 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1497 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1498 if (!once_value_4
) {
1499 fra
.me
.REG
[1] = BOX_NativeString("");
1501 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
1502 once_value_4
= fra
.me
.REG
[1];
1503 register_static_object(&once_value_4
);
1504 } else fra
.me
.REG
[1] = once_value_4
;
1505 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1507 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1508 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1511 stack_frame_head
= fra
.me
.prev
;
1512 return fra
.me
.REG
[2];
1514 static const char LOCATE_standard___file___String___mkdir
[] = "file::String::mkdir";
1515 void standard___file___String___mkdir(val_t p0
){
1516 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1521 static val_t once_value_1
; /* Once value */
1522 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1523 fra
.me
.file
= LOCATE_standard___file
;
1525 fra
.me
.meth
= LOCATE_standard___file___String___mkdir
;
1526 fra
.me
.has_broke
= 0;
1527 fra
.me
.REG_size
= 4;
1528 fra
.me
.nitni_local_ref_head
= NULL
;
1529 fra
.me
.REG
[0] = NIT_NULL
;
1530 fra
.me
.REG
[1] = NIT_NULL
;
1531 fra
.me
.REG
[2] = NIT_NULL
;
1532 fra
.me
.REG
[3] = NIT_NULL
;
1534 /* ../lib/standard/file.nit:292 */
1535 if (!once_value_1
) {
1536 fra
.me
.REG
[1] = BOX_NativeString("/");
1538 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1539 once_value_1
= fra
.me
.REG
[1];
1540 register_static_object(&once_value_1
);
1541 } else fra
.me
.REG
[1] = once_value_1
;
1542 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1543 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1544 /* ../lib/standard/file.nit:293 */
1545 fra
.me
.REG
[0] = NEW_Buffer_standard___string___Buffer___init();
1546 /* ../lib/standard/file.nit:294 */
1547 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1548 if (UNTAG_Bool(REGB0
)) {
1551 /* ../lib/standard/file.nit:295 */
1553 /* ../lib/standard/collection/array.nit:279 */
1554 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1555 /* ../lib/standard/collection/array.nit:281 */
1557 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1558 if (UNTAG_Bool(REGB2
)) {
1560 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1562 /* ../lib/standard/kernel.nit:243 */
1563 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1564 /* ../lib/standard/collection/array.nit:281 */
1565 if (UNTAG_Bool(REGB1
)) {
1566 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1567 if (UNTAG_Bool(REGB1
)) {
1569 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
1571 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1572 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1573 if (UNTAG_Bool(REGB2
)) {
1575 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1577 /* ../lib/standard/kernel.nit:242 */
1578 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1580 /* ../lib/standard/collection/array.nit:281 */
1581 REGB2
= TAG_Bool(0);
1584 if (UNTAG_Bool(REGB1
)) {
1586 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
1588 /* ../lib/standard/collection/array.nit:282 */
1589 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1590 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1591 if (UNTAG_Bool(REGB1
)) {
1592 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
1594 /* ../lib/standard/collection/array.nit:725 */
1595 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1596 /* ../lib/standard/collection/array.nit:282 */
1599 /* ../lib/standard/file.nit:295 */
1600 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1601 if (UNTAG_Bool(REGB0
)) {
1602 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 295);
1604 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1605 if (UNTAG_Bool(REGB0
)) {
1606 /* ../lib/standard/file.nit:297 */
1607 REGB0
= TAG_Char('/');
1608 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1610 /* ../lib/standard/collection/array.nit:270 */
1612 /* ../lib/standard/collection/array.nit:271 */
1613 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1614 if (UNTAG_Bool(REGB1
)) {
1616 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
1618 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1619 /* ../lib/standard/collection/array.nit:272 */
1620 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1621 /* ../lib/standard/collection/array.nit:273 */
1623 /* ../lib/standard/collection/array.nit:24 */
1624 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1625 if (UNTAG_Bool(REGB1
)) {
1627 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1629 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1630 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1631 if (UNTAG_Bool(REGB2
)) {
1633 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1635 /* ../lib/standard/kernel.nit:242 */
1636 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1637 /* ../lib/standard/collection/array.nit:273 */
1638 if (UNTAG_Bool(REGB1
)) {
1639 /* ../lib/standard/collection/array.nit:274 */
1640 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1641 if (UNTAG_Bool(REGB1
)) {
1642 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
1644 /* ../lib/standard/collection/array.nit:725 */
1645 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1646 /* ../lib/standard/file.nit:300 */
1647 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1648 if (UNTAG_Bool(REGB1
)) {
1651 /* ../lib/standard/file.nit:301 */
1652 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1653 /* ../lib/standard/file.nit:302 */
1654 REGB1
= TAG_Char('/');
1655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1656 /* ../lib/standard/file.nit:303 */
1657 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1658 fra
.me
.REG
[3] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1659 CALL_standard___file___NativeString___file_mkdir(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1661 /* ../lib/standard/collection/array.nit:275 */
1663 /* ../lib/standard/kernel.nit:245 */
1664 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1665 /* ../lib/standard/collection/array.nit:275 */
1668 /* ../lib/standard/collection/array.nit:273 */
1674 stack_frame_head
= fra
.me
.prev
;
1677 static const char LOCATE_standard___file___String___file_extension
[] = "file::String::file_extension";
1678 val_t
standard___file___String___file_extension(val_t p0
){
1679 struct {struct stack_frame_t me
;} fra
;
1684 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1685 fra
.me
.file
= LOCATE_standard___file
;
1687 fra
.me
.meth
= LOCATE_standard___file___String___file_extension
;
1688 fra
.me
.has_broke
= 0;
1689 fra
.me
.REG_size
= 1;
1690 fra
.me
.nitni_local_ref_head
= NULL
;
1691 fra
.me
.REG
[0] = NIT_NULL
;
1693 /* ../lib/standard/file.nit:310 */
1694 REGB0
= TAG_Char('.');
1695 REGB0
= CALL_standard___collection___array___AbstractArrayRead___last_index_of(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1696 /* ../lib/standard/file.nit:311 */
1698 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1699 if (UNTAG_Bool(REGB2
)) {
1701 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1703 /* ../lib/standard/kernel.nit:243 */
1704 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1705 /* ../lib/standard/file.nit:311 */
1706 if (UNTAG_Bool(REGB1
)) {
1707 /* ../lib/standard/file.nit:312 */
1709 /* ../lib/standard/kernel.nit:245 */
1710 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1711 /* ../lib/standard/collection/array.nit:24 */
1712 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1713 if (UNTAG_Bool(REGB0
)) {
1715 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1717 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1718 /* ../lib/standard/file.nit:312 */
1719 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, REGB0
);
1722 /* ../lib/standard/file.nit:314 */
1723 fra
.me
.REG
[0] = NIT_NULL
;
1727 stack_frame_head
= fra
.me
.prev
;
1728 return fra
.me
.REG
[0];
1730 static const char LOCATE_standard___file___String___files
[] = "file::String::files";
1731 val_t
standard___file___String___files(val_t p0
){
1732 struct {struct stack_frame_t me
;} fra
;
1734 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1735 fra
.me
.file
= LOCATE_standard___file
;
1737 fra
.me
.meth
= LOCATE_standard___file___String___files
;
1738 fra
.me
.has_broke
= 0;
1739 fra
.me
.REG_size
= 1;
1740 fra
.me
.nitni_local_ref_head
= NULL
;
1741 fra
.me
.REG
[0] = NIT_NULL
;
1743 /* ../lib/standard/file.nit:318 */
1744 fra
.me
.REG
[0] = String_files___out(fra
.me
.REG
[0]);
1749 stack_frame_head
= fra
.me
.prev
;
1750 return fra
.me
.REG
[0];
1752 static const char LOCATE_standard___file___NativeString___file_exists
[] = "file::NativeString::file_exists";
1753 val_t
standard___file___NativeString___file_exists(val_t p0
){
1754 struct {struct stack_frame_t me
;} fra
;
1757 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1758 fra
.me
.file
= LOCATE_standard___file
;
1760 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_exists
;
1761 fra
.me
.has_broke
= 0;
1762 fra
.me
.REG_size
= 1;
1763 fra
.me
.nitni_local_ref_head
= NULL
;
1764 fra
.me
.REG
[0] = NIT_NULL
;
1766 /* ../lib/standard/file.nit:323 */
1767 REGB0
= NativeString_file_exists___out(fra
.me
.REG
[0]);
1768 stack_frame_head
= fra
.me
.prev
;
1771 static const char LOCATE_standard___file___NativeString___file_stat
[] = "file::NativeString::file_stat";
1772 val_t
standard___file___NativeString___file_stat(val_t p0
){
1773 struct {struct stack_frame_t me
;} fra
;
1775 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1776 fra
.me
.file
= LOCATE_standard___file
;
1778 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_stat
;
1779 fra
.me
.has_broke
= 0;
1780 fra
.me
.REG_size
= 1;
1781 fra
.me
.nitni_local_ref_head
= NULL
;
1782 fra
.me
.REG
[0] = NIT_NULL
;
1784 /* ../lib/standard/file.nit:324 */
1785 fra
.me
.REG
[0] = NativeString_file_stat___out(fra
.me
.REG
[0]);
1786 stack_frame_head
= fra
.me
.prev
;
1787 return fra
.me
.REG
[0];
1789 static const char LOCATE_standard___file___NativeString___file_lstat
[] = "file::NativeString::file_lstat";
1790 val_t
standard___file___NativeString___file_lstat(val_t p0
){
1791 struct {struct stack_frame_t me
;} fra
;
1793 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1794 fra
.me
.file
= LOCATE_standard___file
;
1796 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_lstat
;
1797 fra
.me
.has_broke
= 0;
1798 fra
.me
.REG_size
= 1;
1799 fra
.me
.nitni_local_ref_head
= NULL
;
1800 fra
.me
.REG
[0] = NIT_NULL
;
1802 /* ../lib/standard/file.nit:325 */
1803 fra
.me
.REG
[0] = NativeString_file_lstat___out(fra
.me
.REG
[0]);
1804 stack_frame_head
= fra
.me
.prev
;
1805 return fra
.me
.REG
[0];
1807 static const char LOCATE_standard___file___NativeString___file_mkdir
[] = "file::NativeString::file_mkdir";
1808 val_t
standard___file___NativeString___file_mkdir(val_t p0
){
1809 struct {struct stack_frame_t me
;} fra
;
1812 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1813 fra
.me
.file
= LOCATE_standard___file
;
1815 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_mkdir
;
1816 fra
.me
.has_broke
= 0;
1817 fra
.me
.REG_size
= 1;
1818 fra
.me
.nitni_local_ref_head
= NULL
;
1819 fra
.me
.REG
[0] = NIT_NULL
;
1821 /* ../lib/standard/file.nit:333 */
1822 REGB0
= NativeString_file_mkdir___out(fra
.me
.REG
[0]);
1823 stack_frame_head
= fra
.me
.prev
;
1826 static const char LOCATE_standard___file___NativeString___file_delete
[] = "file::NativeString::file_delete";
1827 val_t
standard___file___NativeString___file_delete(val_t p0
){
1828 struct {struct stack_frame_t me
;} fra
;
1831 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1832 fra
.me
.file
= LOCATE_standard___file
;
1834 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_delete
;
1835 fra
.me
.has_broke
= 0;
1836 fra
.me
.REG_size
= 1;
1837 fra
.me
.nitni_local_ref_head
= NULL
;
1838 fra
.me
.REG
[0] = NIT_NULL
;
1840 /* ../lib/standard/file.nit:334 */
1841 REGB0
= NativeString_file_delete___out(fra
.me
.REG
[0]);
1842 stack_frame_head
= fra
.me
.prev
;
1845 static const char LOCATE_standard___file___FileStat___mode
[] = "file::FileStat::mode";
1846 val_t
standard___file___FileStat___mode(val_t p0
){
1847 struct {struct stack_frame_t me
;} fra
;
1850 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1851 fra
.me
.file
= LOCATE_standard___file
;
1853 fra
.me
.meth
= LOCATE_standard___file___FileStat___mode
;
1854 fra
.me
.has_broke
= 0;
1855 fra
.me
.REG_size
= 1;
1856 fra
.me
.nitni_local_ref_head
= NULL
;
1857 fra
.me
.REG
[0] = NIT_NULL
;
1859 /* ../lib/standard/file.nit:338 */
1860 REGB0
= FileStat_mode___out(fra
.me
.REG
[0]);
1861 stack_frame_head
= fra
.me
.prev
;
1864 static const char LOCATE_standard___file___FileStat___atime
[] = "file::FileStat::atime";
1865 val_t
standard___file___FileStat___atime(val_t p0
){
1866 struct {struct stack_frame_t me
;} fra
;
1869 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1870 fra
.me
.file
= LOCATE_standard___file
;
1872 fra
.me
.meth
= LOCATE_standard___file___FileStat___atime
;
1873 fra
.me
.has_broke
= 0;
1874 fra
.me
.REG_size
= 1;
1875 fra
.me
.nitni_local_ref_head
= NULL
;
1876 fra
.me
.REG
[0] = NIT_NULL
;
1878 /* ../lib/standard/file.nit:340 */
1879 REGB0
= FileStat_atime___out(fra
.me
.REG
[0]);
1880 stack_frame_head
= fra
.me
.prev
;
1883 static const char LOCATE_standard___file___FileStat___ctime
[] = "file::FileStat::ctime";
1884 val_t
standard___file___FileStat___ctime(val_t p0
){
1885 struct {struct stack_frame_t me
;} fra
;
1888 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1889 fra
.me
.file
= LOCATE_standard___file
;
1891 fra
.me
.meth
= LOCATE_standard___file___FileStat___ctime
;
1892 fra
.me
.has_broke
= 0;
1893 fra
.me
.REG_size
= 1;
1894 fra
.me
.nitni_local_ref_head
= NULL
;
1895 fra
.me
.REG
[0] = NIT_NULL
;
1897 /* ../lib/standard/file.nit:341 */
1898 REGB0
= FileStat_ctime___out(fra
.me
.REG
[0]);
1899 stack_frame_head
= fra
.me
.prev
;
1902 static const char LOCATE_standard___file___FileStat___mtime
[] = "file::FileStat::mtime";
1903 val_t
standard___file___FileStat___mtime(val_t p0
){
1904 struct {struct stack_frame_t me
;} fra
;
1907 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1908 fra
.me
.file
= LOCATE_standard___file
;
1910 fra
.me
.meth
= LOCATE_standard___file___FileStat___mtime
;
1911 fra
.me
.has_broke
= 0;
1912 fra
.me
.REG_size
= 1;
1913 fra
.me
.nitni_local_ref_head
= NULL
;
1914 fra
.me
.REG
[0] = NIT_NULL
;
1916 /* ../lib/standard/file.nit:342 */
1917 REGB0
= FileStat_mtime___out(fra
.me
.REG
[0]);
1918 stack_frame_head
= fra
.me
.prev
;
1921 static const char LOCATE_standard___file___FileStat___size
[] = "file::FileStat::size";
1922 val_t
standard___file___FileStat___size(val_t p0
){
1923 struct {struct stack_frame_t me
;} fra
;
1926 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1927 fra
.me
.file
= LOCATE_standard___file
;
1929 fra
.me
.meth
= LOCATE_standard___file___FileStat___size
;
1930 fra
.me
.has_broke
= 0;
1931 fra
.me
.REG_size
= 1;
1932 fra
.me
.nitni_local_ref_head
= NULL
;
1933 fra
.me
.REG
[0] = NIT_NULL
;
1935 /* ../lib/standard/file.nit:343 */
1936 REGB0
= FileStat_size___out(fra
.me
.REG
[0]);
1937 stack_frame_head
= fra
.me
.prev
;
1940 static const char LOCATE_standard___file___FileStat___is_reg
[] = "file::FileStat::is_reg";
1941 val_t
standard___file___FileStat___is_reg(val_t p0
){
1942 struct {struct stack_frame_t me
;} fra
;
1945 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1946 fra
.me
.file
= LOCATE_standard___file
;
1948 fra
.me
.meth
= LOCATE_standard___file___FileStat___is_reg
;
1949 fra
.me
.has_broke
= 0;
1950 fra
.me
.REG_size
= 1;
1951 fra
.me
.nitni_local_ref_head
= NULL
;
1952 fra
.me
.REG
[0] = NIT_NULL
;
1954 /* ../lib/standard/file.nit:345 */
1955 REGB0
= FileStat_is_reg___out(fra
.me
.REG
[0]);
1956 stack_frame_head
= fra
.me
.prev
;
1959 static const char LOCATE_standard___file___FileStat___is_dir
[] = "file::FileStat::is_dir";
1960 val_t
standard___file___FileStat___is_dir(val_t p0
){
1961 struct {struct stack_frame_t me
;} fra
;
1964 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1965 fra
.me
.file
= LOCATE_standard___file
;
1967 fra
.me
.meth
= LOCATE_standard___file___FileStat___is_dir
;
1968 fra
.me
.has_broke
= 0;
1969 fra
.me
.REG_size
= 1;
1970 fra
.me
.nitni_local_ref_head
= NULL
;
1971 fra
.me
.REG
[0] = NIT_NULL
;
1973 /* ../lib/standard/file.nit:346 */
1974 REGB0
= FileStat_is_dir___out(fra
.me
.REG
[0]);
1975 stack_frame_head
= fra
.me
.prev
;
1978 static const char LOCATE_standard___file___FileStat___is_chr
[] = "file::FileStat::is_chr";
1979 val_t
standard___file___FileStat___is_chr(val_t p0
){
1980 struct {struct stack_frame_t me
;} fra
;
1983 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1984 fra
.me
.file
= LOCATE_standard___file
;
1986 fra
.me
.meth
= LOCATE_standard___file___FileStat___is_chr
;
1987 fra
.me
.has_broke
= 0;
1988 fra
.me
.REG_size
= 1;
1989 fra
.me
.nitni_local_ref_head
= NULL
;
1990 fra
.me
.REG
[0] = NIT_NULL
;
1992 /* ../lib/standard/file.nit:347 */
1993 REGB0
= FileStat_is_chr___out(fra
.me
.REG
[0]);
1994 stack_frame_head
= fra
.me
.prev
;
1997 static const char LOCATE_standard___file___FileStat___is_blk
[] = "file::FileStat::is_blk";
1998 val_t
standard___file___FileStat___is_blk(val_t p0
){
1999 struct {struct stack_frame_t me
;} fra
;
2002 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2003 fra
.me
.file
= LOCATE_standard___file
;
2005 fra
.me
.meth
= LOCATE_standard___file___FileStat___is_blk
;
2006 fra
.me
.has_broke
= 0;
2007 fra
.me
.REG_size
= 1;
2008 fra
.me
.nitni_local_ref_head
= NULL
;
2009 fra
.me
.REG
[0] = NIT_NULL
;
2011 /* ../lib/standard/file.nit:348 */
2012 REGB0
= FileStat_is_blk___out(fra
.me
.REG
[0]);
2013 stack_frame_head
= fra
.me
.prev
;
2016 static const char LOCATE_standard___file___FileStat___is_fifo
[] = "file::FileStat::is_fifo";
2017 val_t
standard___file___FileStat___is_fifo(val_t p0
){
2018 struct {struct stack_frame_t me
;} fra
;
2021 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2022 fra
.me
.file
= LOCATE_standard___file
;
2024 fra
.me
.meth
= LOCATE_standard___file___FileStat___is_fifo
;
2025 fra
.me
.has_broke
= 0;
2026 fra
.me
.REG_size
= 1;
2027 fra
.me
.nitni_local_ref_head
= NULL
;
2028 fra
.me
.REG
[0] = NIT_NULL
;
2030 /* ../lib/standard/file.nit:349 */
2031 REGB0
= FileStat_is_fifo___out(fra
.me
.REG
[0]);
2032 stack_frame_head
= fra
.me
.prev
;
2035 static const char LOCATE_standard___file___FileStat___is_lnk
[] = "file::FileStat::is_lnk";
2036 val_t
standard___file___FileStat___is_lnk(val_t p0
){
2037 struct {struct stack_frame_t me
;} fra
;
2040 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2041 fra
.me
.file
= LOCATE_standard___file
;
2043 fra
.me
.meth
= LOCATE_standard___file___FileStat___is_lnk
;
2044 fra
.me
.has_broke
= 0;
2045 fra
.me
.REG_size
= 1;
2046 fra
.me
.nitni_local_ref_head
= NULL
;
2047 fra
.me
.REG
[0] = NIT_NULL
;
2049 /* ../lib/standard/file.nit:350 */
2050 REGB0
= FileStat_is_lnk___out(fra
.me
.REG
[0]);
2051 stack_frame_head
= fra
.me
.prev
;
2054 static const char LOCATE_standard___file___FileStat___is_sock
[] = "file::FileStat::is_sock";
2055 val_t
standard___file___FileStat___is_sock(val_t p0
){
2056 struct {struct stack_frame_t me
;} fra
;
2059 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2060 fra
.me
.file
= LOCATE_standard___file
;
2062 fra
.me
.meth
= LOCATE_standard___file___FileStat___is_sock
;
2063 fra
.me
.has_broke
= 0;
2064 fra
.me
.REG_size
= 1;
2065 fra
.me
.nitni_local_ref_head
= NULL
;
2066 fra
.me
.REG
[0] = NIT_NULL
;
2068 /* ../lib/standard/file.nit:351 */
2069 REGB0
= FileStat_is_sock___out(fra
.me
.REG
[0]);
2070 stack_frame_head
= fra
.me
.prev
;
2073 static const char LOCATE_standard___file___NativeFile___io_read
[] = "file::NativeFile::io_read";
2074 val_t
standard___file___NativeFile___io_read(val_t p0
, val_t p1
, val_t p2
){
2075 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2078 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2079 fra
.me
.file
= LOCATE_standard___file
;
2081 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_read
;
2082 fra
.me
.has_broke
= 0;
2083 fra
.me
.REG_size
= 2;
2084 fra
.me
.nitni_local_ref_head
= NULL
;
2085 fra
.me
.REG
[0] = NIT_NULL
;
2086 fra
.me
.REG
[1] = NIT_NULL
;
2090 /* ../lib/standard/file.nit:356 */
2091 REGB0
= NativeFile_io_read___out(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
2092 stack_frame_head
= fra
.me
.prev
;
2095 static const char LOCATE_standard___file___NativeFile___io_write
[] = "file::NativeFile::io_write";
2096 val_t
standard___file___NativeFile___io_write(val_t p0
, val_t p1
, val_t p2
){
2097 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2100 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2101 fra
.me
.file
= LOCATE_standard___file
;
2103 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_write
;
2104 fra
.me
.has_broke
= 0;
2105 fra
.me
.REG_size
= 2;
2106 fra
.me
.nitni_local_ref_head
= NULL
;
2107 fra
.me
.REG
[0] = NIT_NULL
;
2108 fra
.me
.REG
[1] = NIT_NULL
;
2112 /* ../lib/standard/file.nit:357 */
2113 REGB0
= NativeFile_io_write___out(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
2114 stack_frame_head
= fra
.me
.prev
;
2117 static const char LOCATE_standard___file___NativeFile___io_close
[] = "file::NativeFile::io_close";
2118 val_t
standard___file___NativeFile___io_close(val_t p0
){
2119 struct {struct stack_frame_t me
;} fra
;
2122 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2123 fra
.me
.file
= LOCATE_standard___file
;
2125 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_close
;
2126 fra
.me
.has_broke
= 0;
2127 fra
.me
.REG_size
= 1;
2128 fra
.me
.nitni_local_ref_head
= NULL
;
2129 fra
.me
.REG
[0] = NIT_NULL
;
2131 /* ../lib/standard/file.nit:358 */
2132 REGB0
= NativeFile_io_close___out(fra
.me
.REG
[0]);
2133 stack_frame_head
= fra
.me
.prev
;
2136 static const char LOCATE_standard___file___NativeFile___file_stat
[] = "file::NativeFile::file_stat";
2137 val_t
standard___file___NativeFile___file_stat(val_t p0
){
2138 struct {struct stack_frame_t me
;} fra
;
2140 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2141 fra
.me
.file
= LOCATE_standard___file
;
2143 fra
.me
.meth
= LOCATE_standard___file___NativeFile___file_stat
;
2144 fra
.me
.has_broke
= 0;
2145 fra
.me
.REG_size
= 1;
2146 fra
.me
.nitni_local_ref_head
= NULL
;
2147 fra
.me
.REG
[0] = NIT_NULL
;
2149 /* ../lib/standard/file.nit:359 */
2150 fra
.me
.REG
[0] = NativeFile_file_stat___out(fra
.me
.REG
[0]);
2151 stack_frame_head
= fra
.me
.prev
;
2152 return fra
.me
.REG
[0];
2154 static const char LOCATE_standard___file___NativeFile___io_open_read
[] = "file::NativeFile::io_open_read";
2155 void standard___file___NativeFile___io_open_read(val_t p0
, val_t p1
, int* init_table
){
2156 int itpos10
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2157 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2159 if (init_table
[itpos10
]) return;
2160 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2161 fra
.me
.file
= LOCATE_standard___file
;
2163 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_open_read
;
2164 fra
.me
.has_broke
= 0;
2165 fra
.me
.REG_size
= 2;
2166 fra
.me
.nitni_local_ref_head
= NULL
;
2167 fra
.me
.REG
[0] = NIT_NULL
;
2168 fra
.me
.REG
[1] = NIT_NULL
;
2171 /* ../lib/standard/file.nit:361 */
2172 stack_frame_head
= fra
.me
.prev
;
2173 init_table
[itpos10
] = 1;
2176 static const char LOCATE_standard___file___NativeFile___io_open_write
[] = "file::NativeFile::io_open_write";
2177 void standard___file___NativeFile___io_open_write(val_t p0
, val_t p1
, int* init_table
){
2178 int itpos11
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2179 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2181 if (init_table
[itpos11
]) return;
2182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2183 fra
.me
.file
= LOCATE_standard___file
;
2185 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_open_write
;
2186 fra
.me
.has_broke
= 0;
2187 fra
.me
.REG_size
= 2;
2188 fra
.me
.nitni_local_ref_head
= NULL
;
2189 fra
.me
.REG
[0] = NIT_NULL
;
2190 fra
.me
.REG
[1] = NIT_NULL
;
2193 /* ../lib/standard/file.nit:362 */
2194 stack_frame_head
= fra
.me
.prev
;
2195 init_table
[itpos11
] = 1;
2198 static const char LOCATE_standard___file___NativeFile___native_stdin
[] = "file::NativeFile::native_stdin";
2199 void standard___file___NativeFile___native_stdin(val_t p0
, int* init_table
){
2200 int itpos12
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2201 struct {struct stack_frame_t me
;} fra
;
2203 if (init_table
[itpos12
]) return;
2204 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2205 fra
.me
.file
= LOCATE_standard___file
;
2207 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stdin
;
2208 fra
.me
.has_broke
= 0;
2209 fra
.me
.REG_size
= 1;
2210 fra
.me
.nitni_local_ref_head
= NULL
;
2211 fra
.me
.REG
[0] = NIT_NULL
;
2213 /* ../lib/standard/file.nit:363 */
2214 stack_frame_head
= fra
.me
.prev
;
2215 init_table
[itpos12
] = 1;
2218 static const char LOCATE_standard___file___NativeFile___native_stdout
[] = "file::NativeFile::native_stdout";
2219 void standard___file___NativeFile___native_stdout(val_t p0
, int* init_table
){
2220 int itpos13
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2221 struct {struct stack_frame_t me
;} fra
;
2223 if (init_table
[itpos13
]) return;
2224 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2225 fra
.me
.file
= LOCATE_standard___file
;
2227 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stdout
;
2228 fra
.me
.has_broke
= 0;
2229 fra
.me
.REG_size
= 1;
2230 fra
.me
.nitni_local_ref_head
= NULL
;
2231 fra
.me
.REG
[0] = NIT_NULL
;
2233 /* ../lib/standard/file.nit:364 */
2234 stack_frame_head
= fra
.me
.prev
;
2235 init_table
[itpos13
] = 1;
2238 static const char LOCATE_standard___file___NativeFile___native_stderr
[] = "file::NativeFile::native_stderr";
2239 void standard___file___NativeFile___native_stderr(val_t p0
, int* init_table
){
2240 int itpos14
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2241 struct {struct stack_frame_t me
;} fra
;
2243 if (init_table
[itpos14
]) return;
2244 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2245 fra
.me
.file
= LOCATE_standard___file
;
2247 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stderr
;
2248 fra
.me
.has_broke
= 0;
2249 fra
.me
.REG_size
= 1;
2250 fra
.me
.nitni_local_ref_head
= NULL
;
2251 fra
.me
.REG
[0] = NIT_NULL
;
2253 /* ../lib/standard/file.nit:365 */
2254 stack_frame_head
= fra
.me
.prev
;
2255 init_table
[itpos14
] = 1;