1 /* This C file is generated by NIT to compile module standard___file. */
2 #include "standard___file._sep.h"
3 void standard___file___Object___printn(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_standard___file
;
10 fra
.me
.meth
= LOCATE_standard___file___Object___printn
;
13 fra
.me
.REG
[0] = NIT_NULL
;
14 fra
.me
.REG
[1] = NIT_NULL
;
15 fra
.me
.REG
[2] = NIT_NULL
;
18 /* ./../lib/standard//file.nit:25 */
19 fra
.me
.REG
[2] = fra
.me
.REG
[0];
20 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_standard___collection___array___Array
, ID_standard___collection___array___Array
)) /*cast Array[Object]*/;
21 if (UNTAG_Bool(REGB0
)) {
23 nit_abort("Cast failed", NULL
, LOCATE_standard___file
, 25);
25 /* ./../lib/standard//file.nit:28 */
26 fra
.me
.REG
[2] = CALL_standard___file___Object___stdout(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
27 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
28 CALL_standard___stream___OStream___write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
29 stack_frame_head
= fra
.me
.prev
;
32 void standard___file___Object___print(val_t p0
, val_t p1
){
33 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
36 static val_t once_value_1
; /* Once value */
37 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
38 fra
.me
.file
= LOCATE_standard___file
;
40 fra
.me
.meth
= LOCATE_standard___file___Object___print
;
43 fra
.me
.REG
[0] = NIT_NULL
;
44 fra
.me
.REG
[1] = NIT_NULL
;
45 fra
.me
.REG
[2] = NIT_NULL
;
48 /* ./../lib/standard//file.nit:34 */
49 fra
.me
.REG
[2] = CALL_standard___file___Object___stdout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
50 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
51 CALL_standard___stream___OStream___write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
52 /* ./../lib/standard//file.nit:35 */
53 fra
.me
.REG
[0] = CALL_standard___file___Object___stdout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
55 fra
.me
.REG
[1] = BOX_NativeString("\n");
57 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
58 once_value_1
= fra
.me
.REG
[1];
59 register_static_object(&once_value_1
);
60 } else fra
.me
.REG
[1] = once_value_1
;
61 fra
.me
.REG
[1] = fra
.me
.REG
[1];
62 CALL_standard___stream___OStream___write(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
63 stack_frame_head
= fra
.me
.prev
;
66 val_t
standard___file___Object___getc(val_t p0
){
67 struct {struct stack_frame_t me
;} fra
;
70 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
71 fra
.me
.file
= LOCATE_standard___file
;
73 fra
.me
.meth
= LOCATE_standard___file___Object___getc
;
76 fra
.me
.REG
[0] = NIT_NULL
;
78 /* ./../lib/standard//file.nit:41 */
79 fra
.me
.REG
[0] = CALL_standard___file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
80 REGB0
= CALL_standard___stream___IStream___read_char(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
81 /* ./../lib/standard//kernel.nit:297 */
82 REGB0
= TAG_Char(UNTAG_Int(REGB0
));
83 /* ./../lib/standard//file.nit:41 */
86 stack_frame_head
= fra
.me
.prev
;
89 val_t
standard___file___Object___gets(val_t p0
){
90 struct {struct stack_frame_t me
;} fra
;
92 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
93 fra
.me
.file
= LOCATE_standard___file
;
95 fra
.me
.meth
= LOCATE_standard___file___Object___gets
;
98 fra
.me
.REG
[0] = NIT_NULL
;
100 /* ./../lib/standard//file.nit:47 */
101 fra
.me
.REG
[0] = CALL_standard___file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
102 fra
.me
.REG
[0] = CALL_standard___stream___IStream___read_line(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
105 stack_frame_head
= fra
.me
.prev
;
106 return fra
.me
.REG
[0];
108 val_t
standard___file___Object___stdin(val_t p0
){
109 struct {struct stack_frame_t me
;} fra
;
111 static val_t once_value_1
; /* Once value */
112 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
113 fra
.me
.file
= LOCATE_standard___file
;
115 fra
.me
.meth
= LOCATE_standard___file___Object___stdin
;
116 fra
.me
.has_broke
= 0;
118 fra
.me
.REG
[0] = NIT_NULL
;
120 /* ./../lib/standard//file.nit:324 */
122 fra
.me
.REG
[0] = NEW_Stdin_standard___file___Stdin___init();
123 once_value_1
= fra
.me
.REG
[0];
124 register_static_object(&once_value_1
);
125 } else fra
.me
.REG
[0] = once_value_1
;
126 fra
.me
.REG
[0] = fra
.me
.REG
[0];
129 stack_frame_head
= fra
.me
.prev
;
130 return fra
.me
.REG
[0];
132 val_t
standard___file___Object___stdout(val_t p0
){
133 struct {struct stack_frame_t me
;} fra
;
135 static val_t once_value_1
; /* Once value */
136 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
137 fra
.me
.file
= LOCATE_standard___file
;
139 fra
.me
.meth
= LOCATE_standard___file___Object___stdout
;
140 fra
.me
.has_broke
= 0;
142 fra
.me
.REG
[0] = NIT_NULL
;
144 /* ./../lib/standard//file.nit:327 */
146 fra
.me
.REG
[0] = NEW_Stdout_standard___file___Stdout___init();
147 once_value_1
= fra
.me
.REG
[0];
148 register_static_object(&once_value_1
);
149 } else fra
.me
.REG
[0] = once_value_1
;
150 fra
.me
.REG
[0] = fra
.me
.REG
[0];
153 stack_frame_head
= fra
.me
.prev
;
154 return fra
.me
.REG
[0];
156 val_t
standard___file___Object___stderr(val_t p0
){
157 struct {struct stack_frame_t me
;} fra
;
159 static val_t once_value_1
; /* Once value */
160 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
161 fra
.me
.file
= LOCATE_standard___file
;
163 fra
.me
.meth
= LOCATE_standard___file___Object___stderr
;
164 fra
.me
.has_broke
= 0;
166 fra
.me
.REG
[0] = NIT_NULL
;
168 /* ./../lib/standard//file.nit:330 */
170 fra
.me
.REG
[0] = NEW_Stderr_standard___file___Stderr___init();
171 once_value_1
= fra
.me
.REG
[0];
172 register_static_object(&once_value_1
);
173 } else fra
.me
.REG
[0] = once_value_1
;
174 fra
.me
.REG
[0] = fra
.me
.REG
[0];
177 stack_frame_head
= fra
.me
.prev
;
178 return fra
.me
.REG
[0];
180 val_t
standard___file___FStream___path(val_t p0
){
181 struct {struct stack_frame_t me
;} fra
;
183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
184 fra
.me
.file
= LOCATE_standard___file
;
186 fra
.me
.meth
= LOCATE_standard___file___FStream___path
;
187 fra
.me
.has_broke
= 0;
189 fra
.me
.REG
[0] = NIT_NULL
;
191 /* ./../lib/standard//file.nit:55 */
192 fra
.me
.REG
[0] = ATTR_standard___file___FStream____path(fra
.me
.REG
[0]);
193 stack_frame_head
= fra
.me
.prev
;
194 return fra
.me
.REG
[0];
196 val_t
standard___file___FStream___file_stat(val_t p0
){
197 struct {struct stack_frame_t me
;} fra
;
200 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
201 fra
.me
.file
= LOCATE_standard___file
;
203 fra
.me
.meth
= LOCATE_standard___file___FStream___file_stat
;
204 fra
.me
.has_broke
= 0;
206 fra
.me
.REG
[0] = NIT_NULL
;
208 /* ./../lib/standard//file.nit:62 */
209 fra
.me
.REG
[0] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
210 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
211 if (UNTAG_Bool(REGB0
)) {
212 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 62);
214 fra
.me
.REG
[0] = CALL_standard___file___NativeFile___file_stat(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
217 stack_frame_head
= fra
.me
.prev
;
218 return fra
.me
.REG
[0];
220 void standard___file___IFStream___reopen(val_t p0
){
221 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
224 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
225 fra
.me
.file
= LOCATE_standard___file
;
227 fra
.me
.meth
= LOCATE_standard___file___IFStream___reopen
;
228 fra
.me
.has_broke
= 0;
230 fra
.me
.REG
[0] = NIT_NULL
;
231 fra
.me
.REG
[1] = NIT_NULL
;
233 /* ./../lib/standard//file.nit:75 */
234 REGB0
= CALL_standard___stream___IStream___eof(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
235 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
236 if (UNTAG_Bool(REGB0
)) {
237 CALL_standard___stream___IOS___close(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
239 /* ./../lib/standard//file.nit:76 */
240 fra
.me
.REG
[1] = ATTR_standard___file___FStream____path(fra
.me
.REG
[0]);
241 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
242 if (UNTAG_Bool(REGB0
)) {
243 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 76);
245 fra
.me
.REG
[1] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
246 fra
.me
.REG
[1] = CALL_standard___file___NativeFileCapable___io_open_read(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
247 ATTR_standard___file___FStream____file(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
248 /* ./../lib/standard//file.nit:77 */
249 REGB0
= TAG_Bool(false);
250 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB0
;
251 /* ./../lib/standard//file.nit:78 */
253 ATTR_standard___stream___BufferedIStream____buffer_pos(fra
.me
.REG
[0]) = REGB0
;
254 /* ./../lib/standard//file.nit:79 */
255 fra
.me
.REG
[0] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
256 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
257 if (UNTAG_Bool(REGB0
)) {
258 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 79);
260 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
261 stack_frame_head
= fra
.me
.prev
;
264 void standard___file___IFStream___close(val_t p0
){
265 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
268 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
269 fra
.me
.file
= LOCATE_standard___file
;
271 fra
.me
.meth
= LOCATE_standard___file___IFStream___close
;
272 fra
.me
.has_broke
= 0;
274 fra
.me
.REG
[0] = NIT_NULL
;
275 fra
.me
.REG
[1] = NIT_NULL
;
277 /* ./../lib/standard//file.nit:84 */
278 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
279 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
280 if (UNTAG_Bool(REGB0
)) {
281 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 84);
283 REGB0
= CALL_standard___file___NativeFile___io_close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
284 /* ./../lib/standard//file.nit:85 */
285 REGB0
= TAG_Bool(true);
286 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB0
;
287 stack_frame_head
= fra
.me
.prev
;
290 void standard___file___IFStream___fill_buffer(val_t p0
){
291 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
296 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
297 fra
.me
.file
= LOCATE_standard___file
;
299 fra
.me
.meth
= LOCATE_standard___file___IFStream___fill_buffer
;
300 fra
.me
.has_broke
= 0;
302 fra
.me
.REG
[0] = NIT_NULL
;
303 fra
.me
.REG
[1] = NIT_NULL
;
304 fra
.me
.REG
[2] = NIT_NULL
;
305 fra
.me
.REG
[3] = NIT_NULL
;
307 /* ./../lib/standard//file.nit:90 */
308 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
309 fra
.me
.REG
[2] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
310 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
311 if (UNTAG_Bool(REGB0
)) {
312 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 90);
314 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2])!=NIT_NULL
);
315 if (UNTAG_Bool(REGB0
)) {
317 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___file
, 90);
319 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2]);
320 fra
.me
.REG
[3] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
321 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
322 if (UNTAG_Bool(REGB0
)) {
323 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 90);
325 REGB0
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[3])!=NIT_NULL
);
326 if (UNTAG_Bool(REGB0
)) {
328 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___file
, 90);
330 REGB0
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[3]);
331 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
332 if (UNTAG_Bool(REGB1
)) {
333 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 90);
335 REGB0
= CALL_standard___file___NativeFile___io_read(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
336 /* ./../lib/standard//file.nit:91 */
338 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
339 if (UNTAG_Bool(REGB2
)) {
341 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
343 /* ./../lib/standard//kernel.nit:231 */
344 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
345 /* ./../lib/standard//file.nit:91 */
346 if (UNTAG_Bool(REGB1
)) {
347 /* ./../lib/standard//file.nit:92 */
348 REGB1
= TAG_Bool(true);
349 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB1
;
350 /* ./../lib/standard//file.nit:93 */
354 /* ./../lib/standard//file.nit:95 */
355 fra
.me
.REG
[2] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
356 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
357 if (UNTAG_Bool(REGB1
)) {
358 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 95);
360 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB0
;
361 /* ./../lib/standard//file.nit:96 */
363 ATTR_standard___stream___BufferedIStream____buffer_pos(fra
.me
.REG
[0]) = REGB0
;
364 stack_frame_head
= fra
.me
.prev
;
367 val_t
standard___file___IFStream___end_reached(val_t p0
){
368 struct {struct stack_frame_t me
;} fra
;
371 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
372 fra
.me
.file
= LOCATE_standard___file
;
374 fra
.me
.meth
= LOCATE_standard___file___IFStream___end_reached
;
375 fra
.me
.has_broke
= 0;
377 fra
.me
.REG
[0] = NIT_NULL
;
379 /* ./../lib/standard//file.nit:99 */
380 REGB0
= TAG_Bool(ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0])!=NIT_NULL
);
381 if (UNTAG_Bool(REGB0
)) {
383 nit_abort("Uninitialized attribute %s", "_end_reached", LOCATE_standard___file
, 99);
385 REGB0
= ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]);
386 stack_frame_head
= fra
.me
.prev
;
389 void standard___file___IFStream___open(val_t p0
, val_t p1
, int* init_table
){
390 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
391 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
395 if (init_table
[itpos0
]) return;
396 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
397 fra
.me
.file
= LOCATE_standard___file
;
399 fra
.me
.meth
= LOCATE_standard___file___IFStream___open
;
400 fra
.me
.has_broke
= 0;
402 fra
.me
.REG
[0] = NIT_NULL
;
403 fra
.me
.REG
[1] = NIT_NULL
;
406 /* ./../lib/standard//file.nit:105 */
407 ATTR_standard___file___FStream____path(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
408 /* ./../lib/standard//file.nit:106 */
410 CALL_standard___stream___BufferedIStream___prepare_buffer(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
411 /* ./../lib/standard//file.nit:107 */
412 fra
.me
.REG
[1] = ATTR_standard___file___FStream____path(fra
.me
.REG
[0]);
413 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
414 if (UNTAG_Bool(REGB0
)) {
415 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 107);
417 fra
.me
.REG
[1] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
418 fra
.me
.REG
[1] = CALL_standard___file___NativeFileCapable___io_open_read(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
419 ATTR_standard___file___FStream____file(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
420 /* ./../lib/standard//file.nit:108 */
421 fra
.me
.REG
[0] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
422 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
423 if (UNTAG_Bool(REGB0
)) {
425 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
426 if (UNTAG_Bool(REGB1
)) {
427 REGB1
= TAG_Bool(false);
430 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
434 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
435 if (UNTAG_Bool(REGB0
)) {
437 nit_abort("Assert %s failed", "'cant_open_file'", LOCATE_standard___file
, 108);
439 stack_frame_head
= fra
.me
.prev
;
440 init_table
[itpos0
] = 1;
443 void standard___file___IFStream___init(val_t p0
, int* init_table
){
444 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
445 struct {struct stack_frame_t me
;} fra
;
447 if (init_table
[itpos1
]) return;
448 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
449 fra
.me
.file
= LOCATE_standard___file
;
451 fra
.me
.meth
= LOCATE_standard___file___IFStream___init
;
452 fra
.me
.has_broke
= 0;
454 fra
.me
.REG
[0] = NIT_NULL
;
456 stack_frame_head
= fra
.me
.prev
;
457 init_table
[itpos1
] = 1;
460 void standard___file___IFStream___without_file(val_t p0
, int* init_table
){
461 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
462 struct {struct stack_frame_t me
;} fra
;
464 if (init_table
[itpos2
]) return;
465 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
466 fra
.me
.file
= LOCATE_standard___file
;
468 fra
.me
.meth
= LOCATE_standard___file___IFStream___without_file
;
469 fra
.me
.has_broke
= 0;
471 fra
.me
.REG
[0] = NIT_NULL
;
473 stack_frame_head
= fra
.me
.prev
;
474 init_table
[itpos2
] = 1;
477 void standard___file___OFStream___write(val_t p0
, val_t p1
){
478 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
481 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
482 fra
.me
.file
= LOCATE_standard___file
;
484 fra
.me
.meth
= LOCATE_standard___file___OFStream___write
;
485 fra
.me
.has_broke
= 0;
487 fra
.me
.REG
[0] = NIT_NULL
;
488 fra
.me
.REG
[1] = NIT_NULL
;
489 fra
.me
.REG
[2] = NIT_NULL
;
492 /* ./../lib/standard//file.nit:122 */
493 REGB0
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
494 if (UNTAG_Bool(REGB0
)) {
496 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 122);
498 REGB0
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
499 if (UNTAG_Bool(REGB0
)) {
501 nit_abort("Assert failed", NULL
, LOCATE_standard___file
, 122);
503 /* ./../lib/standard//file.nit:123 */
504 fra
.me
.REG
[2] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
505 /* ./../lib/standard//collection//array.nit:24 */
506 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
507 if (UNTAG_Bool(REGB0
)) {
509 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
511 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
512 /* ./../lib/standard//file.nit:123 */
513 CALL_standard___file___OFStream___write_native(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], REGB0
);
514 stack_frame_head
= fra
.me
.prev
;
517 val_t
standard___file___OFStream___is_writable(val_t p0
){
518 struct {struct stack_frame_t me
;} fra
;
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___OFStream___is_writable
;
525 fra
.me
.has_broke
= 0;
527 fra
.me
.REG
[0] = NIT_NULL
;
529 /* ./../lib/standard//file.nit:126 */
530 REGB0
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
531 if (UNTAG_Bool(REGB0
)) {
533 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 126);
535 REGB0
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
538 stack_frame_head
= fra
.me
.prev
;
541 void standard___file___OFStream___close(val_t p0
){
542 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
545 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
546 fra
.me
.file
= LOCATE_standard___file
;
548 fra
.me
.meth
= LOCATE_standard___file___OFStream___close
;
549 fra
.me
.has_broke
= 0;
551 fra
.me
.REG
[0] = NIT_NULL
;
552 fra
.me
.REG
[1] = NIT_NULL
;
554 /* ./../lib/standard//file.nit:130 */
555 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
556 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
557 if (UNTAG_Bool(REGB0
)) {
558 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 130);
560 REGB0
= CALL_standard___file___NativeFile___io_close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
561 /* ./../lib/standard//file.nit:131 */
562 REGB0
= TAG_Bool(false);
563 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]) = REGB0
;
564 stack_frame_head
= fra
.me
.prev
;
567 void standard___file___OFStream___write_native(val_t p0
, val_t p1
, val_t p2
){
568 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
574 static val_t once_value_1
; /* Once value */
575 static val_t once_value_2
; /* Once value */
576 static val_t once_value_3
; /* Once value */
577 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
578 fra
.me
.file
= LOCATE_standard___file
;
580 fra
.me
.meth
= LOCATE_standard___file___OFStream___write_native
;
581 fra
.me
.has_broke
= 0;
583 fra
.me
.REG
[0] = NIT_NULL
;
584 fra
.me
.REG
[1] = NIT_NULL
;
585 fra
.me
.REG
[2] = NIT_NULL
;
589 /* ./../lib/standard//file.nit:140 */
590 REGB1
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
591 if (UNTAG_Bool(REGB1
)) {
593 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 140);
595 REGB1
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
596 if (UNTAG_Bool(REGB1
)) {
598 nit_abort("Assert failed", NULL
, LOCATE_standard___file
, 140);
600 /* ./../lib/standard//file.nit:141 */
601 fra
.me
.REG
[2] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
602 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
603 if (UNTAG_Bool(REGB1
)) {
604 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 141);
606 REGB1
= CALL_standard___file___NativeFile___io_write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
607 /* ./../lib/standard//file.nit:142 */
608 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
609 if (UNTAG_Bool(REGB2
)) {
611 /* ./../lib/standard//kernel.nit:227 */
612 REGB3
= TAG_Bool((REGB1
)==(REGB0
));
613 /* ./../lib/standard//file.nit:142 */
616 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
617 if (UNTAG_Bool(REGB2
)) {
618 /* ./../lib/standard//file.nit:144 */
620 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
622 fra
.me
.REG
[2] = BOX_NativeString("Problem in writing : ");
624 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
625 once_value_1
= fra
.me
.REG
[2];
626 register_static_object(&once_value_1
);
627 } else fra
.me
.REG
[2] = once_value_1
;
628 fra
.me
.REG
[2] = fra
.me
.REG
[2];
629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
632 fra
.me
.REG
[2] = BOX_NativeString(" ");
634 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
635 once_value_2
= fra
.me
.REG
[2];
636 register_static_object(&once_value_2
);
637 } else fra
.me
.REG
[2] = once_value_2
;
638 fra
.me
.REG
[2] = fra
.me
.REG
[2];
639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
640 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
642 fra
.me
.REG
[2] = BOX_NativeString("\n");
644 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
645 once_value_3
= fra
.me
.REG
[2];
646 register_static_object(&once_value_3
);
647 } else fra
.me
.REG
[2] = once_value_3
;
648 fra
.me
.REG
[2] = fra
.me
.REG
[2];
649 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
650 CALL_standard___file___Object___printn(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
652 stack_frame_head
= fra
.me
.prev
;
655 void standard___file___OFStream___open(val_t p0
, val_t p1
, int* init_table
){
656 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
657 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
661 if (init_table
[itpos3
]) return;
662 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
663 fra
.me
.file
= LOCATE_standard___file
;
665 fra
.me
.meth
= LOCATE_standard___file___OFStream___open
;
666 fra
.me
.has_broke
= 0;
668 fra
.me
.REG
[0] = NIT_NULL
;
669 fra
.me
.REG
[1] = NIT_NULL
;
670 fra
.me
.REG
[2] = NIT_NULL
;
673 /* ./../lib/standard//file.nit:151 */
674 fra
.me
.REG
[2] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
675 fra
.me
.REG
[2] = CALL_standard___file___NativeFileCapable___io_open_write(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
676 ATTR_standard___file___FStream____file(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
677 /* ./../lib/standard//file.nit:152 */
678 fra
.me
.REG
[2] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
679 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
680 if (UNTAG_Bool(REGB0
)) {
682 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
683 if (UNTAG_Bool(REGB1
)) {
684 REGB1
= TAG_Bool(false);
687 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
691 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
692 if (UNTAG_Bool(REGB0
)) {
694 nit_abort("Assert %s failed", "'cant_open_file'", LOCATE_standard___file
, 152);
696 /* ./../lib/standard//file.nit:153 */
697 ATTR_standard___file___FStream____path(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
698 /* ./../lib/standard//file.nit:154 */
699 REGB0
= TAG_Bool(true);
700 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]) = REGB0
;
701 stack_frame_head
= fra
.me
.prev
;
702 init_table
[itpos3
] = 1;
705 void standard___file___OFStream___init(val_t p0
, int* init_table
){
706 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
707 struct {struct stack_frame_t me
;} fra
;
709 if (init_table
[itpos4
]) return;
710 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
711 fra
.me
.file
= LOCATE_standard___file
;
713 fra
.me
.meth
= LOCATE_standard___file___OFStream___init
;
714 fra
.me
.has_broke
= 0;
716 fra
.me
.REG
[0] = NIT_NULL
;
718 stack_frame_head
= fra
.me
.prev
;
719 init_table
[itpos4
] = 1;
722 void standard___file___OFStream___without_file(val_t p0
, int* init_table
){
723 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
724 struct {struct stack_frame_t me
;} fra
;
726 if (init_table
[itpos5
]) return;
727 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
728 fra
.me
.file
= LOCATE_standard___file
;
730 fra
.me
.meth
= LOCATE_standard___file___OFStream___without_file
;
731 fra
.me
.has_broke
= 0;
733 fra
.me
.REG
[0] = NIT_NULL
;
735 stack_frame_head
= fra
.me
.prev
;
736 init_table
[itpos5
] = 1;
739 void standard___file___Stdin___init(val_t p0
, int* init_table
){
740 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stdin
].i
;
741 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
744 static val_t once_value_1
; /* Once value */
745 if (init_table
[itpos6
]) return;
746 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
747 fra
.me
.file
= LOCATE_standard___file
;
749 fra
.me
.meth
= LOCATE_standard___file___Stdin___init
;
750 fra
.me
.has_broke
= 0;
752 fra
.me
.REG
[0] = NIT_NULL
;
753 fra
.me
.REG
[1] = NIT_NULL
;
755 /* ./../lib/standard//file.nit:165 */
756 fra
.me
.REG
[1] = fra
.me
.REG
[0];
757 CALL_standard___file___IFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
758 /* ./../lib/standard//file.nit:166 */
759 fra
.me
.REG
[0] = CALL_standard___file___NativeFileCapable___native_stdin(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
760 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
761 /* ./../lib/standard//file.nit:167 */
763 fra
.me
.REG
[0] = BOX_NativeString("/dev/stdin");
765 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
766 once_value_1
= fra
.me
.REG
[0];
767 register_static_object(&once_value_1
);
768 } else fra
.me
.REG
[0] = once_value_1
;
769 fra
.me
.REG
[0] = fra
.me
.REG
[0];
770 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
771 /* ./../lib/standard//file.nit:168 */
773 CALL_standard___stream___BufferedIStream___prepare_buffer(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
774 stack_frame_head
= fra
.me
.prev
;
775 init_table
[itpos6
] = 1;
778 void standard___file___Stdout___init(val_t p0
, int* init_table
){
779 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stdout
].i
;
780 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
783 static val_t once_value_1
; /* Once value */
784 if (init_table
[itpos7
]) return;
785 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
786 fra
.me
.file
= LOCATE_standard___file
;
788 fra
.me
.meth
= LOCATE_standard___file___Stdout___init
;
789 fra
.me
.has_broke
= 0;
791 fra
.me
.REG
[0] = NIT_NULL
;
792 fra
.me
.REG
[1] = NIT_NULL
;
794 /* ./../lib/standard//file.nit:174 */
795 fra
.me
.REG
[1] = fra
.me
.REG
[0];
796 CALL_standard___file___OFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
797 /* ./../lib/standard//file.nit:175 */
798 fra
.me
.REG
[0] = CALL_standard___file___NativeFileCapable___native_stdout(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
799 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
800 /* ./../lib/standard//file.nit:176 */
802 fra
.me
.REG
[0] = BOX_NativeString("/dev/stdout");
804 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
805 once_value_1
= fra
.me
.REG
[0];
806 register_static_object(&once_value_1
);
807 } else fra
.me
.REG
[0] = once_value_1
;
808 fra
.me
.REG
[0] = fra
.me
.REG
[0];
809 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
810 /* ./../lib/standard//file.nit:177 */
811 REGB0
= TAG_Bool(true);
812 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[1]) = REGB0
;
813 stack_frame_head
= fra
.me
.prev
;
814 init_table
[itpos7
] = 1;
817 void standard___file___Stderr___init(val_t p0
, int* init_table
){
818 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stderr
].i
;
819 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
822 static val_t once_value_1
; /* Once value */
823 if (init_table
[itpos8
]) return;
824 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
825 fra
.me
.file
= LOCATE_standard___file
;
827 fra
.me
.meth
= LOCATE_standard___file___Stderr___init
;
828 fra
.me
.has_broke
= 0;
830 fra
.me
.REG
[0] = NIT_NULL
;
831 fra
.me
.REG
[1] = NIT_NULL
;
833 /* ./../lib/standard//file.nit:183 */
834 fra
.me
.REG
[1] = fra
.me
.REG
[0];
835 CALL_standard___file___OFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
836 /* ./../lib/standard//file.nit:184 */
837 fra
.me
.REG
[0] = CALL_standard___file___NativeFileCapable___native_stderr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
838 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
839 /* ./../lib/standard//file.nit:185 */
841 fra
.me
.REG
[0] = BOX_NativeString("/dev/stderr");
843 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
844 once_value_1
= fra
.me
.REG
[0];
845 register_static_object(&once_value_1
);
846 } else fra
.me
.REG
[0] = once_value_1
;
847 fra
.me
.REG
[0] = fra
.me
.REG
[0];
848 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
849 /* ./../lib/standard//file.nit:186 */
850 REGB0
= TAG_Bool(true);
851 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[1]) = REGB0
;
852 stack_frame_head
= fra
.me
.prev
;
853 init_table
[itpos8
] = 1;
856 val_t
standard___file___String___file_exists(val_t p0
){
857 struct {struct stack_frame_t me
;} fra
;
860 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
861 fra
.me
.file
= LOCATE_standard___file
;
863 fra
.me
.meth
= LOCATE_standard___file___String___file_exists
;
864 fra
.me
.has_broke
= 0;
866 fra
.me
.REG
[0] = NIT_NULL
;
868 /* ./../lib/standard//file.nit:194 */
869 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
870 REGB0
= CALL_standard___file___NativeString___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
873 stack_frame_head
= fra
.me
.prev
;
876 val_t
standard___file___String___file_stat(val_t p0
){
877 struct {struct stack_frame_t me
;} fra
;
879 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
880 fra
.me
.file
= LOCATE_standard___file
;
882 fra
.me
.meth
= LOCATE_standard___file___String___file_stat
;
883 fra
.me
.has_broke
= 0;
885 fra
.me
.REG
[0] = NIT_NULL
;
887 /* ./../lib/standard//file.nit:196 */
888 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
889 fra
.me
.REG
[0] = CALL_standard___file___NativeString___file_stat(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
892 stack_frame_head
= fra
.me
.prev
;
893 return fra
.me
.REG
[0];
895 val_t
standard___file___String___file_delete(val_t p0
){
896 struct {struct stack_frame_t me
;} fra
;
899 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
900 fra
.me
.file
= LOCATE_standard___file
;
902 fra
.me
.meth
= LOCATE_standard___file___String___file_delete
;
903 fra
.me
.has_broke
= 0;
905 fra
.me
.REG
[0] = NIT_NULL
;
907 /* ./../lib/standard//file.nit:199 */
908 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
909 REGB0
= CALL_standard___file___NativeString___file_delete(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
912 stack_frame_head
= fra
.me
.prev
;
915 val_t
standard___file___String___strip_extension(val_t p0
, val_t p1
){
916 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
921 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
922 fra
.me
.file
= LOCATE_standard___file
;
924 fra
.me
.meth
= LOCATE_standard___file___String___strip_extension
;
925 fra
.me
.has_broke
= 0;
927 fra
.me
.REG
[0] = NIT_NULL
;
928 fra
.me
.REG
[1] = NIT_NULL
;
931 /* ./../lib/standard//file.nit:204 */
932 REGB0
= CALL_standard___string___AbstractString___has_suffix(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
933 if (UNTAG_Bool(REGB0
)) {
934 /* ./../lib/standard//file.nit:205 */
936 /* ./../lib/standard//collection//array.nit:24 */
937 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
938 if (UNTAG_Bool(REGB1
)) {
940 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
942 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
943 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
944 if (UNTAG_Bool(REGB2
)) {
946 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
948 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
949 /* ./../lib/standard//kernel.nit:237 */
950 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
951 /* ./../lib/standard//file.nit:205 */
952 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
955 /* ./../lib/standard//file.nit:207 */
956 fra
.me
.REG
[1] = fra
.me
.REG
[0];
959 stack_frame_head
= fra
.me
.prev
;
960 return fra
.me
.REG
[1];
962 val_t
standard___file___String___basename(val_t p0
, val_t p1
){
963 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
968 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
969 fra
.me
.file
= LOCATE_standard___file
;
971 fra
.me
.meth
= LOCATE_standard___file___String___basename
;
972 fra
.me
.has_broke
= 0;
974 fra
.me
.REG
[0] = NIT_NULL
;
975 fra
.me
.REG
[1] = NIT_NULL
;
976 fra
.me
.REG
[2] = NIT_NULL
;
979 /* ./../lib/standard//file.nit:213 */
980 REGB0
= TAG_Char('/');
981 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
982 if (UNTAG_Bool(REGB1
)) {
984 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file
, 213);
986 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
988 /* ./../lib/standard//kernel.nit:237 */
989 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
990 /* ./../lib/standard//file.nit:213 */
991 REGB2
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
992 /* ./../lib/standard//file.nit:214 */
993 fra
.me
.REG
[2] = fra
.me
.REG
[0];
994 /* ./../lib/standard//file.nit:215 */
996 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
997 if (UNTAG_Bool(REGB1
)) {
999 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1001 /* ./../lib/standard//kernel.nit:233 */
1002 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1003 /* ./../lib/standard//file.nit:215 */
1004 if (UNTAG_Bool(REGB0
)) {
1005 /* ./../lib/standard//file.nit:216 */
1007 /* ./../lib/standard//kernel.nit:235 */
1008 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1009 /* ./../lib/standard//file.nit:216 */
1010 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1011 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1013 /* ./../lib/standard//file.nit:218 */
1014 fra
.me
.REG
[1] = CALL_standard___file___String___strip_extension(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1017 stack_frame_head
= fra
.me
.prev
;
1018 return fra
.me
.REG
[1];
1020 val_t
standard___file___String___dirname(val_t p0
){
1021 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1026 static val_t once_value_2
; /* Once value */
1027 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1028 fra
.me
.file
= LOCATE_standard___file
;
1030 fra
.me
.meth
= LOCATE_standard___file___String___dirname
;
1031 fra
.me
.has_broke
= 0;
1032 fra
.me
.REG_size
= 2;
1033 fra
.me
.REG
[0] = NIT_NULL
;
1034 fra
.me
.REG
[1] = NIT_NULL
;
1036 /* ./../lib/standard//file.nit:224 */
1037 REGB0
= TAG_Char('/');
1038 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1039 if (UNTAG_Bool(REGB1
)) {
1041 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file
, 224);
1043 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1045 /* ./../lib/standard//kernel.nit:237 */
1046 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1047 /* ./../lib/standard//file.nit:224 */
1048 REGB2
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1049 /* ./../lib/standard//file.nit:225 */
1051 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1052 if (UNTAG_Bool(REGB1
)) {
1054 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1056 /* ./../lib/standard//kernel.nit:233 */
1057 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1058 /* ./../lib/standard//file.nit:225 */
1059 if (UNTAG_Bool(REGB0
)) {
1060 /* ./../lib/standard//file.nit:226 */
1062 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1065 /* ./../lib/standard//file.nit:228 */
1066 if (!once_value_2
) {
1067 fra
.me
.REG
[1] = BOX_NativeString(".");
1069 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB2
);
1070 once_value_2
= fra
.me
.REG
[1];
1071 register_static_object(&once_value_2
);
1072 } else fra
.me
.REG
[1] = once_value_2
;
1073 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1074 fra
.me
.REG
[0] = fra
.me
.REG
[1];
1078 stack_frame_head
= fra
.me
.prev
;
1079 return fra
.me
.REG
[0];
1081 val_t
standard___file___String___simplify_path(val_t p0
){
1082 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1087 static val_t once_value_1
; /* Once value */
1088 static val_t once_value_2
; /* Once value */
1089 static val_t once_value_4
; /* Once value */
1090 static val_t once_value_5
; /* Once value */
1091 static val_t once_value_7
; /* Once value */
1092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1093 fra
.me
.file
= LOCATE_standard___file
;
1095 fra
.me
.meth
= LOCATE_standard___file___String___simplify_path
;
1096 fra
.me
.has_broke
= 0;
1097 fra
.me
.REG_size
= 5;
1098 fra
.me
.REG
[0] = NIT_NULL
;
1099 fra
.me
.REG
[1] = NIT_NULL
;
1100 fra
.me
.REG
[2] = NIT_NULL
;
1101 fra
.me
.REG
[3] = NIT_NULL
;
1102 fra
.me
.REG
[4] = NIT_NULL
;
1104 /* ./../lib/standard//file.nit:247 */
1105 if (!once_value_1
) {
1106 fra
.me
.REG
[1] = BOX_NativeString("/");
1108 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
1109 once_value_1
= fra
.me
.REG
[1];
1110 register_static_object(&once_value_1
);
1111 } else fra
.me
.REG
[1] = once_value_1
;
1112 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1113 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1114 /* ./../lib/standard//file.nit:248 */
1115 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
1116 /* ./../lib/standard//collection//array.nit:269 */
1118 /* ./../lib/standard//collection//array.nit:270 */
1119 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1120 if (UNTAG_Bool(REGB1
)) {
1122 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1124 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1125 /* ./../lib/standard//collection//array.nit:271 */
1126 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1127 /* ./../lib/standard//collection//array.nit:272 */
1129 /* ./../lib/standard//collection//array.nit:24 */
1130 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1131 if (UNTAG_Bool(REGB1
)) {
1133 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1135 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1136 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1137 if (UNTAG_Bool(REGB2
)) {
1139 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1141 /* ./../lib/standard//kernel.nit:232 */
1142 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1143 /* ./../lib/standard//collection//array.nit:272 */
1144 if (UNTAG_Bool(REGB1
)) {
1145 /* ./../lib/standard//collection//array.nit:273 */
1146 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1147 if (UNTAG_Bool(REGB1
)) {
1148 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1150 /* ./../lib/standard//collection//array.nit:718 */
1151 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1152 /* ./../lib/standard//file.nit:250 */
1153 if (!once_value_2
) {
1154 fra
.me
.REG
[4] = BOX_NativeString(".");
1156 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1157 once_value_2
= fra
.me
.REG
[4];
1158 register_static_object(&once_value_2
);
1159 } else fra
.me
.REG
[4] = once_value_2
;
1160 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1161 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1162 if (UNTAG_Bool(REGB1
)) {
1164 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1167 if (UNTAG_Bool(REGB1
)) {
1170 /* ./../lib/standard//file.nit:251 */
1171 if (!once_value_4
) {
1172 fra
.me
.REG
[4] = BOX_NativeString("");
1174 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1175 once_value_4
= fra
.me
.REG
[4];
1176 register_static_object(&once_value_4
);
1177 } else fra
.me
.REG
[4] = once_value_4
;
1178 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1179 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1180 if (UNTAG_Bool(REGB1
)) {
1182 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1185 if (UNTAG_Bool(REGB1
)) {
1186 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1187 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1189 REGB2
= TAG_Bool(false);
1192 if (UNTAG_Bool(REGB1
)) {
1195 /* ./../lib/standard//file.nit:252 */
1196 if (!once_value_5
) {
1197 fra
.me
.REG
[4] = BOX_NativeString("..");
1199 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1200 once_value_5
= fra
.me
.REG
[4];
1201 register_static_object(&once_value_5
);
1202 } else fra
.me
.REG
[4] = once_value_5
;
1203 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1204 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1205 if (UNTAG_Bool(REGB1
)) {
1207 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1210 if (UNTAG_Bool(REGB1
)) {
1211 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1212 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1214 REGB2
= TAG_Bool(false);
1217 if (UNTAG_Bool(REGB1
)) {
1218 /* ./../lib/standard//file.nit:253 */
1219 CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1220 /* ./../lib/standard//file.nit:254 */
1223 /* ./../lib/standard//file.nit:256 */
1224 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1226 /* ./../lib/standard//collection//array.nit:274 */
1228 /* ./../lib/standard//kernel.nit:235 */
1229 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1230 /* ./../lib/standard//collection//array.nit:274 */
1233 /* ./../lib/standard//collection//array.nit:272 */
1238 /* ./../lib/standard//file.nit:258 */
1239 if (!once_value_7
) {
1240 fra
.me
.REG
[2] = BOX_NativeString("/");
1242 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1243 once_value_7
= fra
.me
.REG
[2];
1244 register_static_object(&once_value_7
);
1245 } else fra
.me
.REG
[2] = once_value_7
;
1246 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1247 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1250 stack_frame_head
= fra
.me
.prev
;
1251 return fra
.me
.REG
[2];
1253 void standard___file___String___mkdir(val_t p0
){
1254 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1259 static val_t once_value_1
; /* Once value */
1260 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1261 fra
.me
.file
= LOCATE_standard___file
;
1263 fra
.me
.meth
= LOCATE_standard___file___String___mkdir
;
1264 fra
.me
.has_broke
= 0;
1265 fra
.me
.REG_size
= 4;
1266 fra
.me
.REG
[0] = NIT_NULL
;
1267 fra
.me
.REG
[1] = NIT_NULL
;
1268 fra
.me
.REG
[2] = NIT_NULL
;
1269 fra
.me
.REG
[3] = NIT_NULL
;
1271 /* ./../lib/standard//file.nit:264 */
1272 if (!once_value_1
) {
1273 fra
.me
.REG
[1] = BOX_NativeString("/");
1275 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
1276 once_value_1
= fra
.me
.REG
[1];
1277 register_static_object(&once_value_1
);
1278 } else fra
.me
.REG
[1] = once_value_1
;
1279 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1280 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1281 /* ./../lib/standard//file.nit:265 */
1282 fra
.me
.REG
[0] = NEW_Buffer_standard___string___Buffer___init();
1283 /* ./../lib/standard//file.nit:266 */
1284 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1285 if (UNTAG_Bool(REGB0
)) {
1288 /* ./../lib/standard//file.nit:267 */
1290 /* ./../lib/standard//collection//array.nit:278 */
1291 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1292 /* ./../lib/standard//collection//array.nit:280 */
1294 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1295 if (UNTAG_Bool(REGB2
)) {
1297 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1299 /* ./../lib/standard//kernel.nit:233 */
1300 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1301 /* ./../lib/standard//collection//array.nit:280 */
1302 if (UNTAG_Bool(REGB1
)) {
1303 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1304 if (UNTAG_Bool(REGB1
)) {
1306 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1308 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1309 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1310 if (UNTAG_Bool(REGB2
)) {
1312 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1314 /* ./../lib/standard//kernel.nit:232 */
1315 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1317 /* ./../lib/standard//collection//array.nit:280 */
1318 REGB2
= TAG_Bool(false);
1321 if (UNTAG_Bool(REGB1
)) {
1323 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
1325 /* ./../lib/standard//collection//array.nit:281 */
1326 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1327 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1328 if (UNTAG_Bool(REGB1
)) {
1329 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1331 /* ./../lib/standard//collection//array.nit:718 */
1332 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1333 /* ./../lib/standard//collection//array.nit:281 */
1336 /* ./../lib/standard//file.nit:267 */
1337 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1338 if (UNTAG_Bool(REGB0
)) {
1339 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 267);
1341 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1342 if (UNTAG_Bool(REGB0
)) {
1343 /* ./../lib/standard//file.nit:269 */
1344 REGB0
= TAG_Char('/');
1345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1347 /* ./../lib/standard//collection//array.nit:269 */
1349 /* ./../lib/standard//collection//array.nit:270 */
1350 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1351 if (UNTAG_Bool(REGB1
)) {
1353 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1355 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1356 /* ./../lib/standard//collection//array.nit:271 */
1357 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1358 /* ./../lib/standard//collection//array.nit:272 */
1360 /* ./../lib/standard//collection//array.nit:24 */
1361 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1362 if (UNTAG_Bool(REGB1
)) {
1364 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1366 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1367 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1368 if (UNTAG_Bool(REGB2
)) {
1370 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1372 /* ./../lib/standard//kernel.nit:232 */
1373 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1374 /* ./../lib/standard//collection//array.nit:272 */
1375 if (UNTAG_Bool(REGB1
)) {
1376 /* ./../lib/standard//collection//array.nit:273 */
1377 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1378 if (UNTAG_Bool(REGB1
)) {
1379 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1381 /* ./../lib/standard//collection//array.nit:718 */
1382 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1383 /* ./../lib/standard//file.nit:272 */
1384 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1385 if (UNTAG_Bool(REGB1
)) {
1388 /* ./../lib/standard//file.nit:273 */
1389 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1390 /* ./../lib/standard//file.nit:274 */
1391 REGB1
= TAG_Char('/');
1392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1393 /* ./../lib/standard//file.nit:275 */
1394 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1395 fra
.me
.REG
[3] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1396 CALL_standard___file___NativeString___file_mkdir(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1398 /* ./../lib/standard//collection//array.nit:274 */
1400 /* ./../lib/standard//kernel.nit:235 */
1401 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1402 /* ./../lib/standard//collection//array.nit:274 */
1405 /* ./../lib/standard//collection//array.nit:272 */
1411 stack_frame_head
= fra
.me
.prev
;
1414 val_t
standard___file___String___file_extension(val_t p0
){
1415 struct {struct stack_frame_t me
;} fra
;
1420 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1421 fra
.me
.file
= LOCATE_standard___file
;
1423 fra
.me
.meth
= LOCATE_standard___file___String___file_extension
;
1424 fra
.me
.has_broke
= 0;
1425 fra
.me
.REG_size
= 1;
1426 fra
.me
.REG
[0] = NIT_NULL
;
1428 /* ./../lib/standard//file.nit:282 */
1429 REGB0
= TAG_Char('.');
1430 REGB0
= CALL_standard___collection___array___AbstractArrayRead___last_index_of(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1431 /* ./../lib/standard//file.nit:283 */
1433 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1434 if (UNTAG_Bool(REGB2
)) {
1436 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1438 /* ./../lib/standard//kernel.nit:233 */
1439 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1440 /* ./../lib/standard//file.nit:283 */
1441 if (UNTAG_Bool(REGB1
)) {
1442 /* ./../lib/standard//file.nit:284 */
1444 /* ./../lib/standard//kernel.nit:235 */
1445 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1446 /* ./../lib/standard//collection//array.nit:24 */
1447 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1448 if (UNTAG_Bool(REGB0
)) {
1450 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1452 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1453 /* ./../lib/standard//file.nit:284 */
1454 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, REGB0
);
1457 /* ./../lib/standard//file.nit:286 */
1458 fra
.me
.REG
[0] = NIT_NULL
;
1462 stack_frame_head
= fra
.me
.prev
;
1463 return fra
.me
.REG
[0];
1465 val_t
standard___file___NativeString___file_exists(val_t p0
){
1466 struct {struct stack_frame_t me
;} fra
;
1469 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1470 fra
.me
.file
= LOCATE_standard___file
;
1472 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_exists
;
1473 fra
.me
.has_broke
= 0;
1474 fra
.me
.REG_size
= 1;
1475 fra
.me
.REG
[0] = NIT_NULL
;
1477 /* ./../lib/standard//file.nit:292 */
1478 REGB0
= NativeString_file_exists___out(fra
.me
.REG
[0]);
1479 stack_frame_head
= fra
.me
.prev
;
1482 val_t
standard___file___NativeString___file_stat(val_t p0
){
1483 struct {struct stack_frame_t me
;} fra
;
1485 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1486 fra
.me
.file
= LOCATE_standard___file
;
1488 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_stat
;
1489 fra
.me
.has_broke
= 0;
1490 fra
.me
.REG_size
= 1;
1491 fra
.me
.REG
[0] = NIT_NULL
;
1493 /* ./../lib/standard//file.nit:293 */
1494 fra
.me
.REG
[0] = NativeString_file_stat___out(fra
.me
.REG
[0]);
1495 stack_frame_head
= fra
.me
.prev
;
1496 return fra
.me
.REG
[0];
1498 val_t
standard___file___NativeString___file_mkdir(val_t p0
){
1499 struct {struct stack_frame_t me
;} fra
;
1502 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1503 fra
.me
.file
= LOCATE_standard___file
;
1505 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_mkdir
;
1506 fra
.me
.has_broke
= 0;
1507 fra
.me
.REG_size
= 1;
1508 fra
.me
.REG
[0] = NIT_NULL
;
1510 /* ./../lib/standard//file.nit:294 */
1511 REGB0
= NativeString_file_mkdir___out(fra
.me
.REG
[0]);
1512 stack_frame_head
= fra
.me
.prev
;
1515 val_t
standard___file___NativeString___file_delete(val_t p0
){
1516 struct {struct stack_frame_t me
;} fra
;
1519 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1520 fra
.me
.file
= LOCATE_standard___file
;
1522 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_delete
;
1523 fra
.me
.has_broke
= 0;
1524 fra
.me
.REG_size
= 1;
1525 fra
.me
.REG
[0] = NIT_NULL
;
1527 /* ./../lib/standard//file.nit:295 */
1528 REGB0
= NativeString_file_delete___out(fra
.me
.REG
[0]);
1529 stack_frame_head
= fra
.me
.prev
;
1532 val_t
standard___file___FileStat___mode(val_t p0
){
1533 struct {struct stack_frame_t me
;} fra
;
1536 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1537 fra
.me
.file
= LOCATE_standard___file
;
1539 fra
.me
.meth
= LOCATE_standard___file___FileStat___mode
;
1540 fra
.me
.has_broke
= 0;
1541 fra
.me
.REG_size
= 1;
1542 fra
.me
.REG
[0] = NIT_NULL
;
1544 /* ./../lib/standard//file.nit:299 */
1545 REGB0
= FileStat_mode___out(fra
.me
.REG
[0]);
1546 stack_frame_head
= fra
.me
.prev
;
1549 val_t
standard___file___FileStat___atime(val_t p0
){
1550 struct {struct stack_frame_t me
;} fra
;
1553 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1554 fra
.me
.file
= LOCATE_standard___file
;
1556 fra
.me
.meth
= LOCATE_standard___file___FileStat___atime
;
1557 fra
.me
.has_broke
= 0;
1558 fra
.me
.REG_size
= 1;
1559 fra
.me
.REG
[0] = NIT_NULL
;
1561 /* ./../lib/standard//file.nit:301 */
1562 REGB0
= FileStat_atime___out(fra
.me
.REG
[0]);
1563 stack_frame_head
= fra
.me
.prev
;
1566 val_t
standard___file___FileStat___ctime(val_t p0
){
1567 struct {struct stack_frame_t me
;} fra
;
1570 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1571 fra
.me
.file
= LOCATE_standard___file
;
1573 fra
.me
.meth
= LOCATE_standard___file___FileStat___ctime
;
1574 fra
.me
.has_broke
= 0;
1575 fra
.me
.REG_size
= 1;
1576 fra
.me
.REG
[0] = NIT_NULL
;
1578 /* ./../lib/standard//file.nit:302 */
1579 REGB0
= FileStat_ctime___out(fra
.me
.REG
[0]);
1580 stack_frame_head
= fra
.me
.prev
;
1583 val_t
standard___file___FileStat___mtime(val_t p0
){
1584 struct {struct stack_frame_t me
;} fra
;
1587 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1588 fra
.me
.file
= LOCATE_standard___file
;
1590 fra
.me
.meth
= LOCATE_standard___file___FileStat___mtime
;
1591 fra
.me
.has_broke
= 0;
1592 fra
.me
.REG_size
= 1;
1593 fra
.me
.REG
[0] = NIT_NULL
;
1595 /* ./../lib/standard//file.nit:303 */
1596 REGB0
= FileStat_mtime___out(fra
.me
.REG
[0]);
1597 stack_frame_head
= fra
.me
.prev
;
1600 val_t
standard___file___FileStat___size(val_t p0
){
1601 struct {struct stack_frame_t me
;} fra
;
1604 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1605 fra
.me
.file
= LOCATE_standard___file
;
1607 fra
.me
.meth
= LOCATE_standard___file___FileStat___size
;
1608 fra
.me
.has_broke
= 0;
1609 fra
.me
.REG_size
= 1;
1610 fra
.me
.REG
[0] = NIT_NULL
;
1612 /* ./../lib/standard//file.nit:304 */
1613 REGB0
= FileStat_size___out(fra
.me
.REG
[0]);
1614 stack_frame_head
= fra
.me
.prev
;
1617 val_t
standard___file___NativeFile___io_read(val_t p0
, val_t p1
, val_t p2
){
1618 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1621 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1622 fra
.me
.file
= LOCATE_standard___file
;
1624 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_read
;
1625 fra
.me
.has_broke
= 0;
1626 fra
.me
.REG_size
= 2;
1627 fra
.me
.REG
[0] = NIT_NULL
;
1628 fra
.me
.REG
[1] = NIT_NULL
;
1632 /* ./../lib/standard//file.nit:309 */
1633 REGB0
= NativeFile_io_read___out(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1634 stack_frame_head
= fra
.me
.prev
;
1637 val_t
standard___file___NativeFile___io_write(val_t p0
, val_t p1
, val_t p2
){
1638 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1641 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1642 fra
.me
.file
= LOCATE_standard___file
;
1644 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_write
;
1645 fra
.me
.has_broke
= 0;
1646 fra
.me
.REG_size
= 2;
1647 fra
.me
.REG
[0] = NIT_NULL
;
1648 fra
.me
.REG
[1] = NIT_NULL
;
1652 /* ./../lib/standard//file.nit:310 */
1653 REGB0
= NativeFile_io_write___out(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1654 stack_frame_head
= fra
.me
.prev
;
1657 val_t
standard___file___NativeFile___io_close(val_t p0
){
1658 struct {struct stack_frame_t me
;} fra
;
1661 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1662 fra
.me
.file
= LOCATE_standard___file
;
1664 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_close
;
1665 fra
.me
.has_broke
= 0;
1666 fra
.me
.REG_size
= 1;
1667 fra
.me
.REG
[0] = NIT_NULL
;
1669 /* ./../lib/standard//file.nit:311 */
1670 REGB0
= NativeFile_io_close___out(fra
.me
.REG
[0]);
1671 stack_frame_head
= fra
.me
.prev
;
1674 val_t
standard___file___NativeFile___file_stat(val_t p0
){
1675 struct {struct stack_frame_t me
;} fra
;
1677 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1678 fra
.me
.file
= LOCATE_standard___file
;
1680 fra
.me
.meth
= LOCATE_standard___file___NativeFile___file_stat
;
1681 fra
.me
.has_broke
= 0;
1682 fra
.me
.REG_size
= 1;
1683 fra
.me
.REG
[0] = NIT_NULL
;
1685 /* ./../lib/standard//file.nit:312 */
1686 fra
.me
.REG
[0] = NativeFile_file_stat___out(fra
.me
.REG
[0]);
1687 stack_frame_head
= fra
.me
.prev
;
1688 return fra
.me
.REG
[0];
1690 val_t
standard___file___NativeFileCapable___io_open_read(val_t p0
, val_t p1
){
1691 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1693 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1694 fra
.me
.file
= LOCATE_standard___file
;
1696 fra
.me
.meth
= LOCATE_standard___file___NativeFileCapable___io_open_read
;
1697 fra
.me
.has_broke
= 0;
1698 fra
.me
.REG_size
= 2;
1699 fra
.me
.REG
[0] = NIT_NULL
;
1700 fra
.me
.REG
[1] = NIT_NULL
;
1703 /* ./../lib/standard//file.nit:316 */
1704 fra
.me
.REG
[1] = NativeFileCapable_io_open_read___out(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1705 stack_frame_head
= fra
.me
.prev
;
1706 return fra
.me
.REG
[1];
1708 val_t
standard___file___NativeFileCapable___io_open_write(val_t p0
, val_t p1
){
1709 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1711 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1712 fra
.me
.file
= LOCATE_standard___file
;
1714 fra
.me
.meth
= LOCATE_standard___file___NativeFileCapable___io_open_write
;
1715 fra
.me
.has_broke
= 0;
1716 fra
.me
.REG_size
= 2;
1717 fra
.me
.REG
[0] = NIT_NULL
;
1718 fra
.me
.REG
[1] = NIT_NULL
;
1721 /* ./../lib/standard//file.nit:317 */
1722 fra
.me
.REG
[1] = NativeFileCapable_io_open_write___out(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1723 stack_frame_head
= fra
.me
.prev
;
1724 return fra
.me
.REG
[1];
1726 val_t
standard___file___NativeFileCapable___native_stdin(val_t p0
){
1727 struct {struct stack_frame_t me
;} fra
;
1729 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1730 fra
.me
.file
= LOCATE_standard___file
;
1732 fra
.me
.meth
= LOCATE_standard___file___NativeFileCapable___native_stdin
;
1733 fra
.me
.has_broke
= 0;
1734 fra
.me
.REG_size
= 1;
1735 fra
.me
.REG
[0] = NIT_NULL
;
1737 /* ./../lib/standard//file.nit:318 */
1738 fra
.me
.REG
[0] = NativeFileCapable_native_stdin___out(fra
.me
.REG
[0]);
1739 stack_frame_head
= fra
.me
.prev
;
1740 return fra
.me
.REG
[0];
1742 val_t
standard___file___NativeFileCapable___native_stdout(val_t p0
){
1743 struct {struct stack_frame_t me
;} fra
;
1745 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1746 fra
.me
.file
= LOCATE_standard___file
;
1748 fra
.me
.meth
= LOCATE_standard___file___NativeFileCapable___native_stdout
;
1749 fra
.me
.has_broke
= 0;
1750 fra
.me
.REG_size
= 1;
1751 fra
.me
.REG
[0] = NIT_NULL
;
1753 /* ./../lib/standard//file.nit:319 */
1754 fra
.me
.REG
[0] = NativeFileCapable_native_stdout___out(fra
.me
.REG
[0]);
1755 stack_frame_head
= fra
.me
.prev
;
1756 return fra
.me
.REG
[0];
1758 val_t
standard___file___NativeFileCapable___native_stderr(val_t p0
){
1759 struct {struct stack_frame_t me
;} fra
;
1761 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1762 fra
.me
.file
= LOCATE_standard___file
;
1764 fra
.me
.meth
= LOCATE_standard___file___NativeFileCapable___native_stderr
;
1765 fra
.me
.has_broke
= 0;
1766 fra
.me
.REG_size
= 1;
1767 fra
.me
.REG
[0] = NIT_NULL
;
1769 /* ./../lib/standard//file.nit:320 */
1770 fra
.me
.REG
[0] = NativeFileCapable_native_stderr___out(fra
.me
.REG
[0]);
1771 stack_frame_head
= fra
.me
.prev
;
1772 return fra
.me
.REG
[0];