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:25 */
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
, 25);
27 /* ../lib/standard/file.nit:28 */
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:34 */
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:35 */
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] = NEW_String_standard___string___String___with_native(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:41 */
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:300 */
88 REGB0
= TAG_Char(UNTAG_Int(REGB0
));
89 /* ../lib/standard/file.nit:41 */
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:47 */
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:351 */
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:354 */
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:357 */
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:54 */
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:61 */
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
, 61);
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:74 */
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:75 */
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
, 75);
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:76 */
287 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB0
;
288 /* ../lib/standard/file.nit:77 */
290 ATTR_standard___stream___BufferedIStream____buffer_pos(fra
.me
.REG
[0]) = REGB0
;
291 /* ../lib/standard/file.nit:78 */
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
, 78);
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:83 */
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
, 83);
322 REGB0
= CALL_standard___file___NativeFile___io_close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
323 /* ../lib/standard/file.nit:84 */
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:89 */
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
, 89);
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
, 89);
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
, 89);
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
, 89);
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
, 89);
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:90 */
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:234 */
385 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
386 /* ../lib/standard/file.nit:90 */
387 if (UNTAG_Bool(REGB1
)) {
388 /* ../lib/standard/file.nit:91 */
390 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB1
;
391 /* ../lib/standard/file.nit:92 */
395 /* ../lib/standard/file.nit:94 */
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
, 94);
401 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB0
;
402 /* ../lib/standard/file.nit:95 */
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:98 */
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
, 98);
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:101 */
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:104 */
457 ATTR_standard___file___FStream____path(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
458 /* ../lib/standard/file.nit:105 */
460 CALL_standard___stream___BufferedIStream___prepare_buffer(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
461 /* ../lib/standard/file.nit:106 */
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
, 106);
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:107 */
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
, 107);
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:110 */
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:111 */
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:121 */
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
, 121);
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
, 121);
565 /* ../lib/standard/file.nit:122 */
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:122 */
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:125 */
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
, 125);
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:129 */
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
, 129);
626 REGB0
= CALL_standard___file___NativeFile___io_close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
627 /* ../lib/standard/file.nit:130 */
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:139 */
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
, 139);
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
, 139);
668 /* ../lib/standard/file.nit:140 */
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
, 140);
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:141 */
676 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
677 if (UNTAG_Bool(REGB2
)) {
679 /* ../lib/standard/kernel.nit:230 */
680 REGB3
= TAG_Bool((REGB1
)==(REGB0
));
681 /* ../lib/standard/file.nit:141 */
684 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
685 if (UNTAG_Bool(REGB2
)) {
686 /* ../lib/standard/file.nit:143 */
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] = NEW_String_standard___string___String___with_native(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] = NEW_String_standard___string___String___with_native(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] = NEW_String_standard___string___String___with_native(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:147 */
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:150 */
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:151 */
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
, 151);
769 /* ../lib/standard/file.nit:152 */
770 ATTR_standard___file___FStream____path(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
771 /* ../lib/standard/file.nit:153 */
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:156 */
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:157 */
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:164 */
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:165 */
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:166 */
846 fra
.me
.REG
[0] = BOX_NativeString("/dev/stdin");
848 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(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:167 */
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:170 */
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:177 */
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:178 */
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:179 */
906 fra
.me
.REG
[0] = BOX_NativeString("/dev/stdout");
908 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(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:180 */
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:186 */
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:187 */
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:188 */
947 fra
.me
.REG
[0] = BOX_NativeString("/dev/stderr");
949 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(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:189 */
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:197 */
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:199 */
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_delete
[] = "file::String::file_delete";
1006 val_t
standard___file___String___file_delete(val_t p0
){
1007 struct {struct stack_frame_t me
;} fra
;
1010 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1011 fra
.me
.file
= LOCATE_standard___file
;
1013 fra
.me
.meth
= LOCATE_standard___file___String___file_delete
;
1014 fra
.me
.has_broke
= 0;
1015 fra
.me
.REG_size
= 1;
1016 fra
.me
.nitni_local_ref_head
= NULL
;
1017 fra
.me
.REG
[0] = NIT_NULL
;
1019 /* ../lib/standard/file.nit:202 */
1020 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1021 REGB0
= CALL_standard___file___NativeString___file_delete(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1024 stack_frame_head
= fra
.me
.prev
;
1027 static const char LOCATE_standard___file___String___strip_extension
[] = "file::String::strip_extension";
1028 val_t
standard___file___String___strip_extension(val_t p0
, val_t p1
){
1029 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1034 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1035 fra
.me
.file
= LOCATE_standard___file
;
1037 fra
.me
.meth
= LOCATE_standard___file___String___strip_extension
;
1038 fra
.me
.has_broke
= 0;
1039 fra
.me
.REG_size
= 2;
1040 fra
.me
.nitni_local_ref_head
= NULL
;
1041 fra
.me
.REG
[0] = NIT_NULL
;
1042 fra
.me
.REG
[1] = NIT_NULL
;
1045 /* ../lib/standard/file.nit:207 */
1046 REGB0
= CALL_standard___string___AbstractString___has_suffix(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1047 if (UNTAG_Bool(REGB0
)) {
1048 /* ../lib/standard/file.nit:208 */
1050 /* ../lib/standard/collection/array.nit:24 */
1051 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1052 if (UNTAG_Bool(REGB1
)) {
1054 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1056 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1057 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1058 if (UNTAG_Bool(REGB2
)) {
1060 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1062 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1063 /* ../lib/standard/kernel.nit:240 */
1064 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1065 /* ../lib/standard/file.nit:208 */
1066 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1069 /* ../lib/standard/file.nit:210 */
1070 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1073 stack_frame_head
= fra
.me
.prev
;
1074 return fra
.me
.REG
[1];
1076 static const char LOCATE_standard___file___String___basename
[] = "file::String::basename";
1077 val_t
standard___file___String___basename(val_t p0
, val_t p1
){
1078 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1083 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1084 fra
.me
.file
= LOCATE_standard___file
;
1086 fra
.me
.meth
= LOCATE_standard___file___String___basename
;
1087 fra
.me
.has_broke
= 0;
1088 fra
.me
.REG_size
= 3;
1089 fra
.me
.nitni_local_ref_head
= NULL
;
1090 fra
.me
.REG
[0] = NIT_NULL
;
1091 fra
.me
.REG
[1] = NIT_NULL
;
1092 fra
.me
.REG
[2] = NIT_NULL
;
1095 /* ../lib/standard/file.nit:216 */
1096 REGB0
= TAG_Char('/');
1097 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1098 if (UNTAG_Bool(REGB1
)) {
1100 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file
, 216);
1102 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1104 /* ../lib/standard/kernel.nit:240 */
1105 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1106 /* ../lib/standard/file.nit:216 */
1107 REGB2
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1108 /* ../lib/standard/file.nit:217 */
1109 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1110 /* ../lib/standard/file.nit:218 */
1112 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1113 if (UNTAG_Bool(REGB1
)) {
1115 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1117 /* ../lib/standard/kernel.nit:236 */
1118 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1119 /* ../lib/standard/file.nit:218 */
1120 if (UNTAG_Bool(REGB0
)) {
1121 /* ../lib/standard/file.nit:219 */
1123 /* ../lib/standard/kernel.nit:238 */
1124 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1125 /* ../lib/standard/file.nit:219 */
1126 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1127 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1129 /* ../lib/standard/file.nit:221 */
1130 fra
.me
.REG
[1] = CALL_standard___file___String___strip_extension(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1133 stack_frame_head
= fra
.me
.prev
;
1134 return fra
.me
.REG
[1];
1136 static const char LOCATE_standard___file___String___dirname
[] = "file::String::dirname";
1137 val_t
standard___file___String___dirname(val_t p0
){
1138 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1143 static val_t once_value_2
; /* Once value */
1144 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1145 fra
.me
.file
= LOCATE_standard___file
;
1147 fra
.me
.meth
= LOCATE_standard___file___String___dirname
;
1148 fra
.me
.has_broke
= 0;
1149 fra
.me
.REG_size
= 2;
1150 fra
.me
.nitni_local_ref_head
= NULL
;
1151 fra
.me
.REG
[0] = NIT_NULL
;
1152 fra
.me
.REG
[1] = NIT_NULL
;
1154 /* ../lib/standard/file.nit:227 */
1155 REGB0
= TAG_Char('/');
1156 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1157 if (UNTAG_Bool(REGB1
)) {
1159 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file
, 227);
1161 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1163 /* ../lib/standard/kernel.nit:240 */
1164 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1165 /* ../lib/standard/file.nit:227 */
1166 REGB2
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1167 /* ../lib/standard/file.nit:228 */
1169 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1170 if (UNTAG_Bool(REGB1
)) {
1172 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1174 /* ../lib/standard/kernel.nit:236 */
1175 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1176 /* ../lib/standard/file.nit:228 */
1177 if (UNTAG_Bool(REGB0
)) {
1178 /* ../lib/standard/file.nit:229 */
1180 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1183 /* ../lib/standard/file.nit:231 */
1184 if (!once_value_2
) {
1185 fra
.me
.REG
[1] = BOX_NativeString(".");
1187 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB2
);
1188 once_value_2
= fra
.me
.REG
[1];
1189 register_static_object(&once_value_2
);
1190 } else fra
.me
.REG
[1] = once_value_2
;
1191 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1192 fra
.me
.REG
[0] = fra
.me
.REG
[1];
1196 stack_frame_head
= fra
.me
.prev
;
1197 return fra
.me
.REG
[0];
1199 static const char LOCATE_standard___file___String___simplify_path
[] = "file::String::simplify_path";
1200 val_t
standard___file___String___simplify_path(val_t p0
){
1201 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1206 static val_t once_value_1
; /* Once value */
1207 static val_t once_value_2
; /* Once value */
1208 static val_t once_value_4
; /* Once value */
1209 static val_t once_value_5
; /* Once value */
1210 static val_t once_value_6
; /* Once value */
1211 static val_t once_value_8
; /* Once value */
1212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1213 fra
.me
.file
= LOCATE_standard___file
;
1215 fra
.me
.meth
= LOCATE_standard___file___String___simplify_path
;
1216 fra
.me
.has_broke
= 0;
1217 fra
.me
.REG_size
= 6;
1218 fra
.me
.nitni_local_ref_head
= NULL
;
1219 fra
.me
.REG
[0] = NIT_NULL
;
1220 fra
.me
.REG
[1] = NIT_NULL
;
1221 fra
.me
.REG
[2] = NIT_NULL
;
1222 fra
.me
.REG
[3] = NIT_NULL
;
1223 fra
.me
.REG
[4] = NIT_NULL
;
1224 fra
.me
.REG
[5] = NIT_NULL
;
1226 /* ../lib/standard/file.nit:250 */
1227 if (!once_value_1
) {
1228 fra
.me
.REG
[1] = BOX_NativeString("/");
1230 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
1231 once_value_1
= fra
.me
.REG
[1];
1232 register_static_object(&once_value_1
);
1233 } else fra
.me
.REG
[1] = once_value_1
;
1234 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1235 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1236 /* ../lib/standard/file.nit:251 */
1237 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
1238 /* ../lib/standard/collection/array.nit:269 */
1240 /* ../lib/standard/collection/array.nit:270 */
1241 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1242 if (UNTAG_Bool(REGB1
)) {
1244 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1246 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1247 /* ../lib/standard/collection/array.nit:271 */
1248 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1249 /* ../lib/standard/collection/array.nit:272 */
1251 /* ../lib/standard/collection/array.nit:24 */
1252 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1253 if (UNTAG_Bool(REGB1
)) {
1255 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1257 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1258 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1259 if (UNTAG_Bool(REGB2
)) {
1261 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1263 /* ../lib/standard/kernel.nit:235 */
1264 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1265 /* ../lib/standard/collection/array.nit:272 */
1266 if (UNTAG_Bool(REGB1
)) {
1267 /* ../lib/standard/collection/array.nit:273 */
1268 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1269 if (UNTAG_Bool(REGB1
)) {
1270 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1272 /* ../lib/standard/collection/array.nit:724 */
1273 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1274 /* ../lib/standard/file.nit:253 */
1275 if (!once_value_2
) {
1276 fra
.me
.REG
[4] = BOX_NativeString(".");
1278 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1279 once_value_2
= fra
.me
.REG
[4];
1280 register_static_object(&once_value_2
);
1281 } else fra
.me
.REG
[4] = once_value_2
;
1282 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1283 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1284 if (UNTAG_Bool(REGB1
)) {
1286 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1289 if (UNTAG_Bool(REGB1
)) {
1292 /* ../lib/standard/file.nit:254 */
1293 if (!once_value_4
) {
1294 fra
.me
.REG
[4] = BOX_NativeString("");
1296 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1297 once_value_4
= fra
.me
.REG
[4];
1298 register_static_object(&once_value_4
);
1299 } else fra
.me
.REG
[4] = once_value_4
;
1300 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1301 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1302 if (UNTAG_Bool(REGB1
)) {
1304 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1307 if (UNTAG_Bool(REGB1
)) {
1308 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1309 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1311 REGB2
= TAG_Bool(0);
1314 if (UNTAG_Bool(REGB1
)) {
1317 /* ../lib/standard/file.nit:255 */
1318 if (!once_value_5
) {
1319 fra
.me
.REG
[4] = BOX_NativeString("..");
1321 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1322 once_value_5
= fra
.me
.REG
[4];
1323 register_static_object(&once_value_5
);
1324 } else fra
.me
.REG
[4] = once_value_5
;
1325 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1326 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1327 if (UNTAG_Bool(REGB1
)) {
1329 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1332 if (UNTAG_Bool(REGB1
)) {
1333 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1334 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1336 REGB2
= TAG_Bool(0);
1339 if (UNTAG_Bool(REGB1
)) {
1340 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1341 if (!once_value_6
) {
1342 fra
.me
.REG
[5] = BOX_NativeString("..");
1344 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
1345 once_value_6
= fra
.me
.REG
[5];
1346 register_static_object(&once_value_6
);
1347 } else fra
.me
.REG
[5] = once_value_6
;
1348 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1349 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[5],fra
.me
.REG
[4]));
1350 if (UNTAG_Bool(REGB1
)) {
1352 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1353 if (UNTAG_Bool(REGB2
)) {
1354 REGB2
= TAG_Bool(0);
1357 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1361 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1363 REGB2
= TAG_Bool(0);
1366 if (UNTAG_Bool(REGB1
)) {
1367 /* ../lib/standard/file.nit:256 */
1368 CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1369 /* ../lib/standard/file.nit:257 */
1372 /* ../lib/standard/file.nit:259 */
1373 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1375 /* ../lib/standard/collection/array.nit:274 */
1377 /* ../lib/standard/kernel.nit:238 */
1378 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1379 /* ../lib/standard/collection/array.nit:274 */
1382 /* ../lib/standard/collection/array.nit:272 */
1387 /* ../lib/standard/file.nit:261 */
1388 if (!once_value_8
) {
1389 fra
.me
.REG
[2] = BOX_NativeString("/");
1391 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1392 once_value_8
= fra
.me
.REG
[2];
1393 register_static_object(&once_value_8
);
1394 } else fra
.me
.REG
[2] = once_value_8
;
1395 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1396 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1399 stack_frame_head
= fra
.me
.prev
;
1400 return fra
.me
.REG
[2];
1402 static const char LOCATE_standard___file___String___join_path
[] = "file::String::join_path";
1403 val_t
standard___file___String___join_path(val_t p0
, val_t p1
){
1404 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1409 static val_t once_value_2
; /* Once value */
1410 static val_t once_value_3
; /* Once value */
1411 static val_t once_value_4
; /* Once value */
1412 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1413 fra
.me
.file
= LOCATE_standard___file
;
1415 fra
.me
.meth
= LOCATE_standard___file___String___join_path
;
1416 fra
.me
.has_broke
= 0;
1417 fra
.me
.REG_size
= 5;
1418 fra
.me
.nitni_local_ref_head
= NULL
;
1419 fra
.me
.REG
[0] = NIT_NULL
;
1420 fra
.me
.REG
[1] = NIT_NULL
;
1421 fra
.me
.REG
[2] = NIT_NULL
;
1422 fra
.me
.REG
[3] = NIT_NULL
;
1423 fra
.me
.REG
[4] = NIT_NULL
;
1426 /* ../lib/standard/file.nit:281 */
1427 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1428 if (UNTAG_Bool(REGB0
)) {
1429 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1432 /* ../lib/standard/file.nit:282 */
1433 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1434 if (UNTAG_Bool(REGB0
)) {
1435 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1438 /* ../lib/standard/file.nit:283 */
1440 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1441 REGB1
= TAG_Char('/');
1442 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1443 if (UNTAG_Bool(REGB2
)) {
1445 /* ../lib/standard/kernel.nit:381 */
1446 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1447 /* ../lib/standard/file.nit:283 */
1450 if (UNTAG_Bool(REGB2
)) {
1451 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1454 /* ../lib/standard/file.nit:284 */
1456 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1457 if (!once_value_2
) {
1458 fra
.me
.REG
[4] = BOX_NativeString("");
1460 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
1461 once_value_2
= fra
.me
.REG
[4];
1462 register_static_object(&once_value_2
);
1463 } else fra
.me
.REG
[4] = once_value_2
;
1464 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1465 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1467 if (!once_value_3
) {
1468 fra
.me
.REG
[0] = BOX_NativeString("/");
1470 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
1471 once_value_3
= fra
.me
.REG
[0];
1472 register_static_object(&once_value_3
);
1473 } else fra
.me
.REG
[0] = once_value_3
;
1474 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1477 if (!once_value_4
) {
1478 fra
.me
.REG
[1] = BOX_NativeString("");
1480 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB2
);
1481 once_value_4
= fra
.me
.REG
[1];
1482 register_static_object(&once_value_4
);
1483 } else fra
.me
.REG
[1] = once_value_4
;
1484 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1485 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1486 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1487 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1490 stack_frame_head
= fra
.me
.prev
;
1491 return fra
.me
.REG
[2];
1493 static const char LOCATE_standard___file___String___mkdir
[] = "file::String::mkdir";
1494 void standard___file___String___mkdir(val_t p0
){
1495 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1500 static val_t once_value_1
; /* Once value */
1501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1502 fra
.me
.file
= LOCATE_standard___file
;
1504 fra
.me
.meth
= LOCATE_standard___file___String___mkdir
;
1505 fra
.me
.has_broke
= 0;
1506 fra
.me
.REG_size
= 4;
1507 fra
.me
.nitni_local_ref_head
= NULL
;
1508 fra
.me
.REG
[0] = NIT_NULL
;
1509 fra
.me
.REG
[1] = NIT_NULL
;
1510 fra
.me
.REG
[2] = NIT_NULL
;
1511 fra
.me
.REG
[3] = NIT_NULL
;
1513 /* ../lib/standard/file.nit:290 */
1514 if (!once_value_1
) {
1515 fra
.me
.REG
[1] = BOX_NativeString("/");
1517 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
1518 once_value_1
= fra
.me
.REG
[1];
1519 register_static_object(&once_value_1
);
1520 } else fra
.me
.REG
[1] = once_value_1
;
1521 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1522 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1523 /* ../lib/standard/file.nit:291 */
1524 fra
.me
.REG
[0] = NEW_Buffer_standard___string___Buffer___init();
1525 /* ../lib/standard/file.nit:292 */
1526 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1527 if (UNTAG_Bool(REGB0
)) {
1530 /* ../lib/standard/file.nit:293 */
1532 /* ../lib/standard/collection/array.nit:278 */
1533 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1534 /* ../lib/standard/collection/array.nit:280 */
1536 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1537 if (UNTAG_Bool(REGB2
)) {
1539 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1541 /* ../lib/standard/kernel.nit:236 */
1542 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1543 /* ../lib/standard/collection/array.nit:280 */
1544 if (UNTAG_Bool(REGB1
)) {
1545 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1546 if (UNTAG_Bool(REGB1
)) {
1548 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1550 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1551 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1552 if (UNTAG_Bool(REGB2
)) {
1554 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1556 /* ../lib/standard/kernel.nit:235 */
1557 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1559 /* ../lib/standard/collection/array.nit:280 */
1560 REGB2
= TAG_Bool(0);
1563 if (UNTAG_Bool(REGB1
)) {
1565 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1567 /* ../lib/standard/collection/array.nit:281 */
1568 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1569 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1570 if (UNTAG_Bool(REGB1
)) {
1571 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1573 /* ../lib/standard/collection/array.nit:724 */
1574 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1575 /* ../lib/standard/collection/array.nit:281 */
1578 /* ../lib/standard/file.nit:293 */
1579 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1580 if (UNTAG_Bool(REGB0
)) {
1581 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 293);
1583 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1584 if (UNTAG_Bool(REGB0
)) {
1585 /* ../lib/standard/file.nit:295 */
1586 REGB0
= TAG_Char('/');
1587 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1589 /* ../lib/standard/collection/array.nit:269 */
1591 /* ../lib/standard/collection/array.nit:270 */
1592 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1593 if (UNTAG_Bool(REGB1
)) {
1595 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1597 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1598 /* ../lib/standard/collection/array.nit:271 */
1599 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1600 /* ../lib/standard/collection/array.nit:272 */
1602 /* ../lib/standard/collection/array.nit:24 */
1603 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1604 if (UNTAG_Bool(REGB1
)) {
1606 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1608 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1609 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1610 if (UNTAG_Bool(REGB2
)) {
1612 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1614 /* ../lib/standard/kernel.nit:235 */
1615 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1616 /* ../lib/standard/collection/array.nit:272 */
1617 if (UNTAG_Bool(REGB1
)) {
1618 /* ../lib/standard/collection/array.nit:273 */
1619 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1620 if (UNTAG_Bool(REGB1
)) {
1621 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1623 /* ../lib/standard/collection/array.nit:724 */
1624 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1625 /* ../lib/standard/file.nit:298 */
1626 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1627 if (UNTAG_Bool(REGB1
)) {
1630 /* ../lib/standard/file.nit:299 */
1631 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1632 /* ../lib/standard/file.nit:300 */
1633 REGB1
= TAG_Char('/');
1634 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1635 /* ../lib/standard/file.nit:301 */
1636 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1637 fra
.me
.REG
[3] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1638 CALL_standard___file___NativeString___file_mkdir(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1640 /* ../lib/standard/collection/array.nit:274 */
1642 /* ../lib/standard/kernel.nit:238 */
1643 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1644 /* ../lib/standard/collection/array.nit:274 */
1647 /* ../lib/standard/collection/array.nit:272 */
1653 stack_frame_head
= fra
.me
.prev
;
1656 static const char LOCATE_standard___file___String___file_extension
[] = "file::String::file_extension";
1657 val_t
standard___file___String___file_extension(val_t p0
){
1658 struct {struct stack_frame_t me
;} fra
;
1663 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1664 fra
.me
.file
= LOCATE_standard___file
;
1666 fra
.me
.meth
= LOCATE_standard___file___String___file_extension
;
1667 fra
.me
.has_broke
= 0;
1668 fra
.me
.REG_size
= 1;
1669 fra
.me
.nitni_local_ref_head
= NULL
;
1670 fra
.me
.REG
[0] = NIT_NULL
;
1672 /* ../lib/standard/file.nit:308 */
1673 REGB0
= TAG_Char('.');
1674 REGB0
= CALL_standard___collection___array___AbstractArrayRead___last_index_of(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1675 /* ../lib/standard/file.nit:309 */
1677 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1678 if (UNTAG_Bool(REGB2
)) {
1680 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1682 /* ../lib/standard/kernel.nit:236 */
1683 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1684 /* ../lib/standard/file.nit:309 */
1685 if (UNTAG_Bool(REGB1
)) {
1686 /* ../lib/standard/file.nit:310 */
1688 /* ../lib/standard/kernel.nit:238 */
1689 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1690 /* ../lib/standard/collection/array.nit:24 */
1691 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1692 if (UNTAG_Bool(REGB0
)) {
1694 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1696 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1697 /* ../lib/standard/file.nit:310 */
1698 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, REGB0
);
1701 /* ../lib/standard/file.nit:312 */
1702 fra
.me
.REG
[0] = NIT_NULL
;
1706 stack_frame_head
= fra
.me
.prev
;
1707 return fra
.me
.REG
[0];
1709 static const char LOCATE_standard___file___String___files
[] = "file::String::files";
1710 val_t
standard___file___String___files(val_t p0
){
1711 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___String___files
;
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:316 */
1723 fra
.me
.REG
[0] = String_files___out(fra
.me
.REG
[0]);
1728 stack_frame_head
= fra
.me
.prev
;
1729 return fra
.me
.REG
[0];
1731 static const char LOCATE_standard___file___NativeString___file_exists
[] = "file::NativeString::file_exists";
1732 val_t
standard___file___NativeString___file_exists(val_t p0
){
1733 struct {struct stack_frame_t me
;} fra
;
1736 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1737 fra
.me
.file
= LOCATE_standard___file
;
1739 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_exists
;
1740 fra
.me
.has_broke
= 0;
1741 fra
.me
.REG_size
= 1;
1742 fra
.me
.nitni_local_ref_head
= NULL
;
1743 fra
.me
.REG
[0] = NIT_NULL
;
1745 /* ../lib/standard/file.nit:321 */
1746 REGB0
= NativeString_file_exists___out(fra
.me
.REG
[0]);
1747 stack_frame_head
= fra
.me
.prev
;
1750 static const char LOCATE_standard___file___NativeString___file_stat
[] = "file::NativeString::file_stat";
1751 val_t
standard___file___NativeString___file_stat(val_t p0
){
1752 struct {struct stack_frame_t me
;} fra
;
1754 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1755 fra
.me
.file
= LOCATE_standard___file
;
1757 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_stat
;
1758 fra
.me
.has_broke
= 0;
1759 fra
.me
.REG_size
= 1;
1760 fra
.me
.nitni_local_ref_head
= NULL
;
1761 fra
.me
.REG
[0] = NIT_NULL
;
1763 /* ../lib/standard/file.nit:322 */
1764 fra
.me
.REG
[0] = NativeString_file_stat___out(fra
.me
.REG
[0]);
1765 stack_frame_head
= fra
.me
.prev
;
1766 return fra
.me
.REG
[0];
1768 static const char LOCATE_standard___file___NativeString___file_mkdir
[] = "file::NativeString::file_mkdir";
1769 val_t
standard___file___NativeString___file_mkdir(val_t p0
){
1770 struct {struct stack_frame_t me
;} fra
;
1773 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1774 fra
.me
.file
= LOCATE_standard___file
;
1776 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_mkdir
;
1777 fra
.me
.has_broke
= 0;
1778 fra
.me
.REG_size
= 1;
1779 fra
.me
.nitni_local_ref_head
= NULL
;
1780 fra
.me
.REG
[0] = NIT_NULL
;
1782 /* ../lib/standard/file.nit:323 */
1783 REGB0
= NativeString_file_mkdir___out(fra
.me
.REG
[0]);
1784 stack_frame_head
= fra
.me
.prev
;
1787 static const char LOCATE_standard___file___NativeString___file_delete
[] = "file::NativeString::file_delete";
1788 val_t
standard___file___NativeString___file_delete(val_t p0
){
1789 struct {struct stack_frame_t me
;} fra
;
1792 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1793 fra
.me
.file
= LOCATE_standard___file
;
1795 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_delete
;
1796 fra
.me
.has_broke
= 0;
1797 fra
.me
.REG_size
= 1;
1798 fra
.me
.nitni_local_ref_head
= NULL
;
1799 fra
.me
.REG
[0] = NIT_NULL
;
1801 /* ../lib/standard/file.nit:324 */
1802 REGB0
= NativeString_file_delete___out(fra
.me
.REG
[0]);
1803 stack_frame_head
= fra
.me
.prev
;
1806 static const char LOCATE_standard___file___FileStat___mode
[] = "file::FileStat::mode";
1807 val_t
standard___file___FileStat___mode(val_t p0
){
1808 struct {struct stack_frame_t me
;} fra
;
1811 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1812 fra
.me
.file
= LOCATE_standard___file
;
1814 fra
.me
.meth
= LOCATE_standard___file___FileStat___mode
;
1815 fra
.me
.has_broke
= 0;
1816 fra
.me
.REG_size
= 1;
1817 fra
.me
.nitni_local_ref_head
= NULL
;
1818 fra
.me
.REG
[0] = NIT_NULL
;
1820 /* ../lib/standard/file.nit:328 */
1821 REGB0
= FileStat_mode___out(fra
.me
.REG
[0]);
1822 stack_frame_head
= fra
.me
.prev
;
1825 static const char LOCATE_standard___file___FileStat___atime
[] = "file::FileStat::atime";
1826 val_t
standard___file___FileStat___atime(val_t p0
){
1827 struct {struct stack_frame_t me
;} fra
;
1830 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1831 fra
.me
.file
= LOCATE_standard___file
;
1833 fra
.me
.meth
= LOCATE_standard___file___FileStat___atime
;
1834 fra
.me
.has_broke
= 0;
1835 fra
.me
.REG_size
= 1;
1836 fra
.me
.nitni_local_ref_head
= NULL
;
1837 fra
.me
.REG
[0] = NIT_NULL
;
1839 /* ../lib/standard/file.nit:330 */
1840 REGB0
= FileStat_atime___out(fra
.me
.REG
[0]);
1841 stack_frame_head
= fra
.me
.prev
;
1844 static const char LOCATE_standard___file___FileStat___ctime
[] = "file::FileStat::ctime";
1845 val_t
standard___file___FileStat___ctime(val_t p0
){
1846 struct {struct stack_frame_t me
;} fra
;
1849 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1850 fra
.me
.file
= LOCATE_standard___file
;
1852 fra
.me
.meth
= LOCATE_standard___file___FileStat___ctime
;
1853 fra
.me
.has_broke
= 0;
1854 fra
.me
.REG_size
= 1;
1855 fra
.me
.nitni_local_ref_head
= NULL
;
1856 fra
.me
.REG
[0] = NIT_NULL
;
1858 /* ../lib/standard/file.nit:331 */
1859 REGB0
= FileStat_ctime___out(fra
.me
.REG
[0]);
1860 stack_frame_head
= fra
.me
.prev
;
1863 static const char LOCATE_standard___file___FileStat___mtime
[] = "file::FileStat::mtime";
1864 val_t
standard___file___FileStat___mtime(val_t p0
){
1865 struct {struct stack_frame_t me
;} fra
;
1868 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1869 fra
.me
.file
= LOCATE_standard___file
;
1871 fra
.me
.meth
= LOCATE_standard___file___FileStat___mtime
;
1872 fra
.me
.has_broke
= 0;
1873 fra
.me
.REG_size
= 1;
1874 fra
.me
.nitni_local_ref_head
= NULL
;
1875 fra
.me
.REG
[0] = NIT_NULL
;
1877 /* ../lib/standard/file.nit:332 */
1878 REGB0
= FileStat_mtime___out(fra
.me
.REG
[0]);
1879 stack_frame_head
= fra
.me
.prev
;
1882 static const char LOCATE_standard___file___FileStat___size
[] = "file::FileStat::size";
1883 val_t
standard___file___FileStat___size(val_t p0
){
1884 struct {struct stack_frame_t me
;} fra
;
1887 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1888 fra
.me
.file
= LOCATE_standard___file
;
1890 fra
.me
.meth
= LOCATE_standard___file___FileStat___size
;
1891 fra
.me
.has_broke
= 0;
1892 fra
.me
.REG_size
= 1;
1893 fra
.me
.nitni_local_ref_head
= NULL
;
1894 fra
.me
.REG
[0] = NIT_NULL
;
1896 /* ../lib/standard/file.nit:333 */
1897 REGB0
= FileStat_size___out(fra
.me
.REG
[0]);
1898 stack_frame_head
= fra
.me
.prev
;
1901 static const char LOCATE_standard___file___NativeFile___io_read
[] = "file::NativeFile::io_read";
1902 val_t
standard___file___NativeFile___io_read(val_t p0
, val_t p1
, val_t p2
){
1903 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1906 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1907 fra
.me
.file
= LOCATE_standard___file
;
1909 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_read
;
1910 fra
.me
.has_broke
= 0;
1911 fra
.me
.REG_size
= 2;
1912 fra
.me
.nitni_local_ref_head
= NULL
;
1913 fra
.me
.REG
[0] = NIT_NULL
;
1914 fra
.me
.REG
[1] = NIT_NULL
;
1918 /* ../lib/standard/file.nit:338 */
1919 REGB0
= NativeFile_io_read___out(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1920 stack_frame_head
= fra
.me
.prev
;
1923 static const char LOCATE_standard___file___NativeFile___io_write
[] = "file::NativeFile::io_write";
1924 val_t
standard___file___NativeFile___io_write(val_t p0
, val_t p1
, val_t p2
){
1925 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1928 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1929 fra
.me
.file
= LOCATE_standard___file
;
1931 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_write
;
1932 fra
.me
.has_broke
= 0;
1933 fra
.me
.REG_size
= 2;
1934 fra
.me
.nitni_local_ref_head
= NULL
;
1935 fra
.me
.REG
[0] = NIT_NULL
;
1936 fra
.me
.REG
[1] = NIT_NULL
;
1940 /* ../lib/standard/file.nit:339 */
1941 REGB0
= NativeFile_io_write___out(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1942 stack_frame_head
= fra
.me
.prev
;
1945 static const char LOCATE_standard___file___NativeFile___io_close
[] = "file::NativeFile::io_close";
1946 val_t
standard___file___NativeFile___io_close(val_t p0
){
1947 struct {struct stack_frame_t me
;} fra
;
1950 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1951 fra
.me
.file
= LOCATE_standard___file
;
1953 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_close
;
1954 fra
.me
.has_broke
= 0;
1955 fra
.me
.REG_size
= 1;
1956 fra
.me
.nitni_local_ref_head
= NULL
;
1957 fra
.me
.REG
[0] = NIT_NULL
;
1959 /* ../lib/standard/file.nit:340 */
1960 REGB0
= NativeFile_io_close___out(fra
.me
.REG
[0]);
1961 stack_frame_head
= fra
.me
.prev
;
1964 static const char LOCATE_standard___file___NativeFile___file_stat
[] = "file::NativeFile::file_stat";
1965 val_t
standard___file___NativeFile___file_stat(val_t p0
){
1966 struct {struct stack_frame_t me
;} fra
;
1968 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1969 fra
.me
.file
= LOCATE_standard___file
;
1971 fra
.me
.meth
= LOCATE_standard___file___NativeFile___file_stat
;
1972 fra
.me
.has_broke
= 0;
1973 fra
.me
.REG_size
= 1;
1974 fra
.me
.nitni_local_ref_head
= NULL
;
1975 fra
.me
.REG
[0] = NIT_NULL
;
1977 /* ../lib/standard/file.nit:341 */
1978 fra
.me
.REG
[0] = NativeFile_file_stat___out(fra
.me
.REG
[0]);
1979 stack_frame_head
= fra
.me
.prev
;
1980 return fra
.me
.REG
[0];
1982 static const char LOCATE_standard___file___NativeFile___io_open_read
[] = "file::NativeFile::io_open_read";
1983 void standard___file___NativeFile___io_open_read(val_t p0
, val_t p1
, int* init_table
){
1984 int itpos10
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
1985 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1987 if (init_table
[itpos10
]) return;
1988 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1989 fra
.me
.file
= LOCATE_standard___file
;
1991 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_open_read
;
1992 fra
.me
.has_broke
= 0;
1993 fra
.me
.REG_size
= 2;
1994 fra
.me
.nitni_local_ref_head
= NULL
;
1995 fra
.me
.REG
[0] = NIT_NULL
;
1996 fra
.me
.REG
[1] = NIT_NULL
;
1999 /* ../lib/standard/file.nit:343 */
2000 stack_frame_head
= fra
.me
.prev
;
2001 init_table
[itpos10
] = 1;
2004 static const char LOCATE_standard___file___NativeFile___io_open_write
[] = "file::NativeFile::io_open_write";
2005 void standard___file___NativeFile___io_open_write(val_t p0
, val_t p1
, int* init_table
){
2006 int itpos11
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2007 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2009 if (init_table
[itpos11
]) return;
2010 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2011 fra
.me
.file
= LOCATE_standard___file
;
2013 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_open_write
;
2014 fra
.me
.has_broke
= 0;
2015 fra
.me
.REG_size
= 2;
2016 fra
.me
.nitni_local_ref_head
= NULL
;
2017 fra
.me
.REG
[0] = NIT_NULL
;
2018 fra
.me
.REG
[1] = NIT_NULL
;
2021 /* ../lib/standard/file.nit:344 */
2022 stack_frame_head
= fra
.me
.prev
;
2023 init_table
[itpos11
] = 1;
2026 static const char LOCATE_standard___file___NativeFile___native_stdin
[] = "file::NativeFile::native_stdin";
2027 void standard___file___NativeFile___native_stdin(val_t p0
, int* init_table
){
2028 int itpos12
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2029 struct {struct stack_frame_t me
;} fra
;
2031 if (init_table
[itpos12
]) return;
2032 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2033 fra
.me
.file
= LOCATE_standard___file
;
2035 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stdin
;
2036 fra
.me
.has_broke
= 0;
2037 fra
.me
.REG_size
= 1;
2038 fra
.me
.nitni_local_ref_head
= NULL
;
2039 fra
.me
.REG
[0] = NIT_NULL
;
2041 /* ../lib/standard/file.nit:345 */
2042 stack_frame_head
= fra
.me
.prev
;
2043 init_table
[itpos12
] = 1;
2046 static const char LOCATE_standard___file___NativeFile___native_stdout
[] = "file::NativeFile::native_stdout";
2047 void standard___file___NativeFile___native_stdout(val_t p0
, int* init_table
){
2048 int itpos13
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2049 struct {struct stack_frame_t me
;} fra
;
2051 if (init_table
[itpos13
]) return;
2052 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2053 fra
.me
.file
= LOCATE_standard___file
;
2055 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stdout
;
2056 fra
.me
.has_broke
= 0;
2057 fra
.me
.REG_size
= 1;
2058 fra
.me
.nitni_local_ref_head
= NULL
;
2059 fra
.me
.REG
[0] = NIT_NULL
;
2061 /* ../lib/standard/file.nit:346 */
2062 stack_frame_head
= fra
.me
.prev
;
2063 init_table
[itpos13
] = 1;
2066 static const char LOCATE_standard___file___NativeFile___native_stderr
[] = "file::NativeFile::native_stderr";
2067 void standard___file___NativeFile___native_stderr(val_t p0
, int* init_table
){
2068 int itpos14
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
2069 struct {struct stack_frame_t me
;} fra
;
2071 if (init_table
[itpos14
]) return;
2072 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2073 fra
.me
.file
= LOCATE_standard___file
;
2075 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stderr
;
2076 fra
.me
.has_broke
= 0;
2077 fra
.me
.REG_size
= 1;
2078 fra
.me
.nitni_local_ref_head
= NULL
;
2079 fra
.me
.REG
[0] = NIT_NULL
;
2081 /* ../lib/standard/file.nit:347 */
2082 stack_frame_head
= fra
.me
.prev
;
2083 init_table
[itpos14
] = 1;