1 #include "file.sep.0.h"
2 /* method file#Object#printn for (self: Object, Array[Object]) */
3 void file__Object__printn(val
* self
, val
* p0
) {
4 val
* var_objects
/* var objects: Array[Object] */;
5 val
* var
/* : OFStream */;
6 val
* var1
/* : String */;
8 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_file__Object__stdout
]))(self
) /* stdout on <self:Object>*/;
9 var1
= ((val
* (*)(val
*))(var_objects
->class->vft
[COLOR_string__Object__to_s
]))(var_objects
) /* to_s on <var_objects:Array[Object]>*/;
10 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_stream__OStream__write
]))(var
, var1
) /* write on <var:OFStream>*/;
13 /* method file#Object#printn for (self: Object, Array[Object]) */
14 void VIRTUAL_file__Object__printn(val
* self
, val
* p0
) {
15 file__Object__printn(self
, p0
);
18 /* method file#Object#print for (self: Object, Object) */
19 void file__Object__print(val
* self
, val
* p0
) {
20 val
* var_object
/* var object: Object */;
21 val
* var
/* : OFStream */;
22 val
* var1
/* : String */;
23 val
* var2
/* : OFStream */;
25 val
* var3
/* : String */;
26 char* var4
/* : NativeString */;
27 long var5
/* : Int */;
28 val
* var6
/* : String */;
30 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_file__Object__stdout
]))(self
) /* stdout on <self:Object>*/;
31 var1
= ((val
* (*)(val
*))(var_object
->class->vft
[COLOR_string__Object__to_s
]))(var_object
) /* to_s on <var_object:Object>*/;
32 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_stream__OStream__write
]))(var
, var1
) /* write on <var:OFStream>*/;
33 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_file__Object__stdout
]))(self
) /* stdout on <self:Object>*/;
39 var6
= string__NativeString__to_s_with_length(var4
, var5
);
43 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_stream__OStream__write
]))(var2
, var3
) /* write on <var2:OFStream>*/;
46 /* method file#Object#print for (self: Object, Object) */
47 void VIRTUAL_file__Object__print(val
* self
, val
* p0
) {
48 file__Object__print(self
, p0
);
51 /* method file#Object#getc for (self: Object): Char */
52 char file__Object__getc(val
* self
) {
53 char var
/* : Char */;
54 val
* var1
/* : Stdin */;
55 long var2
/* : Int */;
56 char var3
/* : Char */;
57 char var5
/* : Char */;
58 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_file__Object__stdin
]))(self
) /* stdin on <self:Object>*/;
59 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_stream__IStream__read_char
]))(var1
) /* read_char on <var1:Stdin>*/;
60 { /* Inline kernel#Int#ascii (var2) */
71 /* method file#Object#getc for (self: Object): Char */
72 char VIRTUAL_file__Object__getc(val
* self
) {
73 char var
/* : Char */;
74 char var1
/* : Char */;
75 var1
= file__Object__getc(self
);
80 /* method file#Object#gets for (self: Object): String */
81 val
* file__Object__gets(val
* self
) {
82 val
* var
/* : String */;
83 val
* var1
/* : Stdin */;
84 val
* var2
/* : String */;
85 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_file__Object__stdin
]))(self
) /* stdin on <self:Object>*/;
86 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_stream__IStream__read_line
]))(var1
) /* read_line on <var1:Stdin>*/;
92 /* method file#Object#gets for (self: Object): String */
93 val
* VIRTUAL_file__Object__gets(val
* self
) {
94 val
* var
/* : String */;
95 val
* var1
/* : String */;
96 var1
= file__Object__gets(self
);
101 /* method file#Object#getcwd for (self: Object): String */
102 val
* file__Object__getcwd(val
* self
) {
103 val
* var
/* : String */;
104 char* var1
/* : NativeString */;
105 val
* var2
/* : String */;
106 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_file__Object__file_getcwd
]))(self
) /* file_getcwd on <self:Object>*/;
107 var2
= string__NativeString__to_s(var1
);
113 /* method file#Object#getcwd for (self: Object): String */
114 val
* VIRTUAL_file__Object__getcwd(val
* self
) {
115 val
* var
/* : String */;
116 val
* var1
/* : String */;
117 var1
= file__Object__getcwd(self
);
122 /* method file#Object#file_getcwd for (self: Object): NativeString */
123 char* file__Object__file_getcwd(val
* self
) {
124 char* var
/* : NativeString */;
125 char* var1
/* : NativeString */;
126 var1
= string_NativeString_NativeString_file_getcwd_0(self
);
132 /* method file#Object#file_getcwd for (self: Object): NativeString */
133 char* VIRTUAL_file__Object__file_getcwd(val
* self
) {
134 char* var
/* : NativeString */;
135 char* var1
/* : NativeString */;
136 var1
= file__Object__file_getcwd(self
);
141 /* method file#FStream#path for (self: FStream): nullable String */
142 val
* file__FStream__path(val
* self
) {
143 val
* var
/* : nullable String */;
144 val
* var1
/* : nullable String */;
145 var1
= self
->attrs
[COLOR_file__FStream___path
].val
; /* _path on <self:FStream> */
150 /* method file#FStream#path for (self: Object): nullable String */
151 val
* VIRTUAL_file__FStream__path(val
* self
) {
152 val
* var
/* : nullable String */;
153 val
* var1
/* : nullable String */;
154 var1
= file__FStream__path(self
);
159 /* method file#FStream#file_stat for (self: FStream): FileStat */
160 void* file__FStream__file_stat(val
* self
) {
161 void* var
/* : FileStat */;
162 val
* var1
/* : nullable NativeFile */;
163 void* var2
/* : FileStat */;
164 var1
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:FStream> */
166 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
167 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 74);
170 var2
= ((void* (*)(val
*))(var1
->class->vft
[COLOR_file__NativeFile__file_stat
]))(var1
) /* file_stat on <var1:nullable NativeFile>*/;
177 /* method file#FStream#file_stat for (self: Object): FileStat */
178 void* VIRTUAL_file__FStream__file_stat(val
* self
) {
179 void* var
/* : FileStat */;
180 void* var1
/* : FileStat */;
181 var1
= file__FStream__file_stat(self
);
186 /* method file#FStream#init for (self: FStream) */
187 void file__FStream__init(val
* self
) {
190 /* method file#FStream#init for (self: Object) */
191 void VIRTUAL_file__FStream__init(val
* self
) {
192 file__FStream__init(self
);
195 /* method file#IFStream#reopen for (self: IFStream) */
196 void file__IFStream__reopen(val
* self
) {
197 short int var
/* : Bool */;
198 short int var1
/* : Bool */;
199 void* var2
/* : NativeFile */;
200 val
* var3
/* : nullable String */;
201 char* var4
/* : NativeString */;
202 void* var5
/* : NativeFile */;
203 val
* var6
/* : nullable NativeFile */;
204 short int var7
/* : Bool */;
205 long var8
/* : Int */;
206 val
* var9
/* : nullable Buffer */;
207 var
= ((short int (*)(val
*))(self
->class->vft
[COLOR_stream__IStream__eof
]))(self
) /* eof on <self:IFStream>*/;
210 ((void (*)(val
*))(self
->class->vft
[COLOR_stream__IOS__close
]))(self
) /* close on <self:IFStream>*/;
213 var2
= NULL
/*special!*/;
214 var3
= self
->attrs
[COLOR_file__FStream___path
].val
; /* _path on <self:IFStream> */
216 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
217 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 88);
220 var4
= ((char* (*)(val
*))(var3
->class->vft
[COLOR_string__String__to_cstring
]))(var3
) /* to_cstring on <var3:nullable String>*/;
222 var5
= file__NativeFile__io_open_read(var2
, var4
);
223 var6
= BOX_file__NativeFile(var5
); /* autobox from NativeFile to nullable NativeFile */
224 self
->attrs
[COLOR_file__FStream___file
].val
= var6
; /* _file on <self:IFStream> */
226 self
->attrs
[COLOR_file__IFStream___end_reached
].s
= var7
; /* _end_reached on <self:IFStream> */
228 self
->attrs
[COLOR_stream__BufferedIStream___buffer_pos
].l
= var8
; /* _buffer_pos on <self:IFStream> */
229 var9
= self
->attrs
[COLOR_stream__BufferedIStream___buffer
].val
; /* _buffer on <self:IFStream> */
231 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
232 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 91);
235 ((void (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var9
) /* clear on <var9:nullable Buffer>*/;
239 /* method file#IFStream#reopen for (self: Object) */
240 void VIRTUAL_file__IFStream__reopen(val
* self
) {
241 file__IFStream__reopen(self
);
244 /* method file#IFStream#close for (self: IFStream) */
245 void file__IFStream__close(val
* self
) {
246 val
* var
/* : nullable NativeFile */;
247 long var1
/* : Int */;
248 long var_i
/* var i: Int */;
249 short int var2
/* : Bool */;
250 var
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:IFStream> */
252 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
253 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 96);
256 var1
= ((long (*)(val
*))(var
->class->vft
[COLOR_file__NativeFile__io_close
]))(var
) /* io_close on <var:nullable NativeFile>*/;
260 self
->attrs
[COLOR_file__IFStream___end_reached
].s
= var2
; /* _end_reached on <self:IFStream> */
263 /* method file#IFStream#close for (self: Object) */
264 void VIRTUAL_file__IFStream__close(val
* self
) {
265 file__IFStream__close(self
);
268 /* method file#IFStream#fill_buffer for (self: IFStream) */
269 void file__IFStream__fill_buffer(val
* self
) {
270 val
* var
/* : nullable NativeFile */;
271 val
* var1
/* : nullable Buffer */;
272 char* var2
/* : NativeString */;
273 val
* var3
/* : nullable Buffer */;
274 long var4
/* : Int */;
275 long var5
/* : Int */;
276 long var_nb
/* var nb: Int */;
277 long var6
/* : Int */;
278 short int var7
/* : Bool */;
279 short int var9
/* : Bool */;
282 const char* var_class_name
;
283 short int var10
/* : Bool */;
284 short int var11
/* : Bool */;
285 long var12
/* : Int */;
286 val
* var13
/* : nullable Buffer */;
287 long var14
/* : Int */;
288 var
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:IFStream> */
289 var1
= self
->attrs
[COLOR_stream__BufferedIStream___buffer
].val
; /* _buffer on <self:IFStream> */
291 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
292 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 102);
295 var2
= var1
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var1:nullable Buffer> */
296 var3
= self
->attrs
[COLOR_stream__BufferedIStream___buffer
].val
; /* _buffer on <self:IFStream> */
298 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
299 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 102);
302 var4
= var3
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <var3:nullable Buffer> */
304 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
305 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 102);
308 var5
= ((long (*)(val
*, char*, long))(var
->class->vft
[COLOR_file__NativeFile__io_read
]))(var
, var2
, var4
) /* io_read on <var:nullable NativeFile>*/;
312 { /* Inline kernel#Int#<= (var_nb,var6) */
313 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
314 /* <var6:Int> isa OTHER */
315 var9
= 1; /* easy <var6:Int> isa OTHER*/
317 var_class_name
= type_kernel__Int
.name
;
318 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
319 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
322 var10
= var_nb
<= var6
;
329 self
->attrs
[COLOR_file__IFStream___end_reached
].s
= var11
; /* _end_reached on <self:IFStream> */
334 var13
= self
->attrs
[COLOR_stream__BufferedIStream___buffer
].val
; /* _buffer on <self:IFStream> */
336 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
337 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 107);
340 var13
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_nb
; /* _length on <var13:nullable Buffer> */
342 self
->attrs
[COLOR_stream__BufferedIStream___buffer_pos
].l
= var14
; /* _buffer_pos on <self:IFStream> */
345 /* method file#IFStream#fill_buffer for (self: Object) */
346 void VIRTUAL_file__IFStream__fill_buffer(val
* self
) {
347 file__IFStream__fill_buffer(self
);
350 /* method file#IFStream#end_reached for (self: IFStream): Bool */
351 short int file__IFStream__end_reached(val
* self
) {
352 short int var
/* : Bool */;
353 short int var1
/* : Bool */;
354 var1
= self
->attrs
[COLOR_file__IFStream___end_reached
].s
; /* _end_reached on <self:IFStream> */
359 /* method file#IFStream#end_reached for (self: Object): Bool */
360 short int VIRTUAL_file__IFStream__end_reached(val
* self
) {
361 short int var
/* : Bool */;
362 short int var1
/* : Bool */;
363 var1
= file__IFStream__end_reached(self
);
368 /* method file#IFStream#open for (self: IFStream, String) */
369 void file__IFStream__open(val
* self
, val
* p0
) {
370 val
* var_path
/* var path: String */;
371 long var
/* : Int */;
372 void* var1
/* : NativeFile */;
373 val
* var2
/* : nullable String */;
374 char* var3
/* : NativeString */;
375 void* var4
/* : NativeFile */;
376 val
* var5
/* : nullable NativeFile */;
377 val
* var6
/* : nullable NativeFile */;
378 val
* var7
/* : null */;
379 short int var8
/* : Bool */;
381 ((void (*)(val
*))(self
->class->vft
[COLOR_file__FStream__init
]))(self
) /* init on <self:IFStream>*/;
382 ((void (*)(val
*))(self
->class->vft
[COLOR_stream__BufferedIStream__init
]))(self
) /* init on <self:IFStream>*/;
383 self
->attrs
[COLOR_file__FStream___path
].val
= var_path
; /* _path on <self:IFStream> */
385 ((void (*)(val
*, long))(self
->class->vft
[COLOR_stream__BufferedIStream__prepare_buffer
]))(self
, var
) /* prepare_buffer on <self:IFStream>*/;
386 var1
= NULL
/*special!*/;
387 var2
= self
->attrs
[COLOR_file__FStream___path
].val
; /* _path on <self:IFStream> */
389 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
390 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 119);
393 var3
= ((char* (*)(val
*))(var2
->class->vft
[COLOR_string__String__to_cstring
]))(var2
) /* to_cstring on <var2:nullable String>*/;
395 var4
= file__NativeFile__io_open_read(var1
, var3
);
396 var5
= BOX_file__NativeFile(var4
); /* autobox from NativeFile to nullable NativeFile */
397 self
->attrs
[COLOR_file__FStream___file
].val
= var5
; /* _file on <self:IFStream> */
398 var6
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:IFStream> */
401 var8
= 0; /* is null */
403 var8
= 1; /* arg is null and recv is not */
406 fprintf(stderr
, "Runtime error: %s", "Assert \'cant_open_file\' failed");
407 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 120);
412 /* method file#IFStream#open for (self: Object, String) */
413 void VIRTUAL_file__IFStream__open(val
* self
, val
* p0
) {
414 file__IFStream__open(self
, p0
);
417 /* method file#IFStream#init for (self: IFStream) */
418 void file__IFStream__init(val
* self
) {
419 ((void (*)(val
*))(self
->class->vft
[COLOR_file__FStream__init
]))(self
) /* init on <self:IFStream>*/;
420 ((void (*)(val
*))(self
->class->vft
[COLOR_stream__BufferedIStream__init
]))(self
) /* init on <self:IFStream>*/;
423 /* method file#IFStream#init for (self: Object) */
424 void VIRTUAL_file__IFStream__init(val
* self
) {
425 file__IFStream__init(self
);
428 /* method file#IFStream#without_file for (self: IFStream) */
429 void file__IFStream__without_file(val
* self
) {
430 ((void (*)(val
*))(self
->class->vft
[COLOR_file__FStream__init
]))(self
) /* init on <self:IFStream>*/;
431 ((void (*)(val
*))(self
->class->vft
[COLOR_stream__BufferedIStream__init
]))(self
) /* init on <self:IFStream>*/;
434 /* method file#IFStream#without_file for (self: Object) */
435 void VIRTUAL_file__IFStream__without_file(val
* self
) {
436 file__IFStream__without_file(self
);
439 /* method file#OFStream#write for (self: OFStream, String) */
440 void file__OFStream__write(val
* self
, val
* p0
) {
441 val
* var_s
/* var s: String */;
442 short int var
/* : Bool */;
443 char* var1
/* : NativeString */;
444 long var2
/* : Int */;
446 var
= self
->attrs
[COLOR_file__OFStream___writable
].s
; /* _writable on <self:OFStream> */
448 fprintf(stderr
, "Runtime error: %s", "Assert failed");
449 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 134);
452 var1
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__String__to_cstring
]))(var_s
) /* to_cstring on <var_s:String>*/;
453 var2
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
454 ((void (*)(val
*, char*, long))(self
->class->vft
[COLOR_file__OFStream__write_native
]))(self
, var1
, var2
) /* write_native on <self:OFStream>*/;
457 /* method file#OFStream#write for (self: Object, String) */
458 void VIRTUAL_file__OFStream__write(val
* self
, val
* p0
) {
459 file__OFStream__write(self
, p0
);
462 /* method file#OFStream#is_writable for (self: OFStream): Bool */
463 short int file__OFStream__is_writable(val
* self
) {
464 short int var
/* : Bool */;
465 short int var1
/* : Bool */;
466 var1
= self
->attrs
[COLOR_file__OFStream___writable
].s
; /* _writable on <self:OFStream> */
472 /* method file#OFStream#is_writable for (self: Object): Bool */
473 short int VIRTUAL_file__OFStream__is_writable(val
* self
) {
474 short int var
/* : Bool */;
475 short int var1
/* : Bool */;
476 var1
= file__OFStream__is_writable(self
);
481 /* method file#OFStream#close for (self: OFStream) */
482 void file__OFStream__close(val
* self
) {
483 val
* var
/* : nullable NativeFile */;
484 long var1
/* : Int */;
485 long var_i
/* var i: Int */;
486 short int var2
/* : Bool */;
487 var
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:OFStream> */
489 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
490 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 142);
493 var1
= ((long (*)(val
*))(var
->class->vft
[COLOR_file__NativeFile__io_close
]))(var
) /* io_close on <var:nullable NativeFile>*/;
497 self
->attrs
[COLOR_file__OFStream___writable
].s
= var2
; /* _writable on <self:OFStream> */
500 /* method file#OFStream#close for (self: Object) */
501 void VIRTUAL_file__OFStream__close(val
* self
) {
502 file__OFStream__close(self
);
505 /* method file#OFStream#write_native for (self: OFStream, NativeString, Int) */
506 void file__OFStream__write_native(val
* self
, char* p0
, long p1
) {
507 char* var_native
/* var native: NativeString */;
508 long var_len
/* var len: Int */;
509 short int var
/* : Bool */;
510 val
* var1
/* : nullable NativeFile */;
511 long var2
/* : Int */;
512 long var_err
/* var err: Int */;
513 short int var3
/* : Bool */;
514 short int var5
/* : Bool */;
515 short int var6
/* : Bool */;
517 val
* var7
/* : String */;
518 char* var8
/* : NativeString */;
519 long var9
/* : Int */;
520 val
* var10
/* : String */;
521 static val
* varonce11
;
522 val
* var12
/* : String */;
523 char* var13
/* : NativeString */;
524 long var14
/* : Int */;
525 val
* var15
/* : String */;
526 static val
* varonce16
;
527 val
* var17
/* : String */;
528 char* var18
/* : NativeString */;
529 long var19
/* : Int */;
530 val
* var20
/* : String */;
531 val
* var21
/* : Array[Object] */;
532 long var22
/* : Int */;
533 val
* var23
/* : NativeArray[Object] */;
534 val
* var24
/* : Object */;
535 val
* var25
/* : Object */;
538 var
= self
->attrs
[COLOR_file__OFStream___writable
].s
; /* _writable on <self:OFStream> */
540 fprintf(stderr
, "Runtime error: %s", "Assert failed");
541 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 152);
544 var1
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:OFStream> */
546 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
547 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 153);
550 var2
= ((long (*)(val
*, char*, long))(var1
->class->vft
[COLOR_file__NativeFile__io_write
]))(var1
, var_native
, var_len
) /* io_write on <var1:nullable NativeFile>*/;
553 { /* Inline kernel#Int#!= (var_err,var_len) */
554 var5
= var_err
== var_len
;
564 var8
= "Problem in writing : ";
566 var10
= string__NativeString__to_s_with_length(var8
, var9
);
575 var15
= string__NativeString__to_s_with_length(var13
, var14
);
584 var20
= string__NativeString__to_s_with_length(var18
, var19
);
588 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
589 { /* var21 = array_instance Array[Object] */
591 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
592 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var7
;
593 var24
= BOX_kernel__Int(var_err
); /* autobox from Int to Object */
594 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var24
;
595 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var12
;
596 var25
= BOX_kernel__Int(var_len
); /* autobox from Int to Object */
597 ((struct instance_array__NativeArray
*)var23
)->values
[3] = (val
*) var25
;
598 ((struct instance_array__NativeArray
*)var23
)->values
[4] = (val
*) var17
;
599 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
601 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var21
) /* printn on <self:OFStream>*/;
606 /* method file#OFStream#write_native for (self: Object, NativeString, Int) */
607 void VIRTUAL_file__OFStream__write_native(val
* self
, char* p0
, long p1
) {
608 file__OFStream__write_native(self
, p0
, p1
);
611 /* method file#OFStream#open for (self: OFStream, String) */
612 void file__OFStream__open(val
* self
, val
* p0
) {
613 val
* var_path
/* var path: String */;
614 void* var
/* : NativeFile */;
615 char* var1
/* : NativeString */;
616 void* var2
/* : NativeFile */;
617 val
* var3
/* : nullable NativeFile */;
618 val
* var4
/* : nullable NativeFile */;
619 val
* var5
/* : null */;
620 short int var6
/* : Bool */;
621 short int var7
/* : Bool */;
623 ((void (*)(val
*))(self
->class->vft
[COLOR_file__FStream__init
]))(self
) /* init on <self:OFStream>*/;
624 var
= NULL
/*special!*/;
625 var1
= ((char* (*)(val
*))(var_path
->class->vft
[COLOR_string__String__to_cstring
]))(var_path
) /* to_cstring on <var_path:String>*/;
626 var2
= file__NativeFile__io_open_write(var
, var1
);
627 var3
= BOX_file__NativeFile(var2
); /* autobox from NativeFile to nullable NativeFile */
628 self
->attrs
[COLOR_file__FStream___file
].val
= var3
; /* _file on <self:OFStream> */
629 var4
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:OFStream> */
632 var6
= 0; /* is null */
634 var6
= 1; /* arg is null and recv is not */
637 fprintf(stderr
, "Runtime error: %s", "Assert \'cant_open_file\' failed");
638 fprintf(stderr
, " (%s:%d)\n", "lib/standard/file.nit", 164);
641 self
->attrs
[COLOR_file__FStream___path
].val
= var_path
; /* _path on <self:OFStream> */
643 self
->attrs
[COLOR_file__OFStream___writable
].s
= var7
; /* _writable on <self:OFStream> */
646 /* method file#OFStream#open for (self: Object, String) */
647 void VIRTUAL_file__OFStream__open(val
* self
, val
* p0
) {
648 file__OFStream__open(self
, p0
);
651 /* method file#OFStream#init for (self: OFStream) */
652 void file__OFStream__init(val
* self
) {
653 ((void (*)(val
*))(self
->class->vft
[COLOR_file__FStream__init
]))(self
) /* init on <self:OFStream>*/;
656 /* method file#OFStream#init for (self: Object) */
657 void VIRTUAL_file__OFStream__init(val
* self
) {
658 file__OFStream__init(self
);
661 /* method file#OFStream#without_file for (self: OFStream) */
662 void file__OFStream__without_file(val
* self
) {
663 ((void (*)(val
*))(self
->class->vft
[COLOR_file__FStream__init
]))(self
) /* init on <self:OFStream>*/;
666 /* method file#OFStream#without_file for (self: Object) */
667 void VIRTUAL_file__OFStream__without_file(val
* self
) {
668 file__OFStream__without_file(self
);
671 /* method file#Stdin#init for (self: Stdin) */
672 void file__Stdin__init(val
* self
) {
673 void* var
/* : NativeFile */;
674 void* var1
/* : NativeFile */;
675 val
* var2
/* : nullable NativeFile */;
677 val
* var3
/* : String */;
678 char* var4
/* : NativeString */;
679 long var5
/* : Int */;
680 val
* var6
/* : String */;
681 long var7
/* : Int */;
682 ((void (*)(val
*))(self
->class->vft
[COLOR_file__IFStream__init
]))(self
) /* init on <self:Stdin>*/;
683 var
= NULL
/*special!*/;
684 var1
= file__NativeFile__native_stdin(var
);
685 var2
= BOX_file__NativeFile(var1
); /* autobox from NativeFile to nullable NativeFile */
686 self
->attrs
[COLOR_file__FStream___file
].val
= var2
; /* _file on <self:Stdin> */
692 var6
= string__NativeString__to_s_with_length(var4
, var5
);
696 self
->attrs
[COLOR_file__FStream___path
].val
= var3
; /* _path on <self:Stdin> */
698 ((void (*)(val
*, long))(self
->class->vft
[COLOR_stream__BufferedIStream__prepare_buffer
]))(self
, var7
) /* prepare_buffer on <self:Stdin>*/;
701 /* method file#Stdin#init for (self: Object) */
702 void VIRTUAL_file__Stdin__init(val
* self
) {
703 file__Stdin__init(self
);
706 /* method file#Stdin#poll_in for (self: Stdin): Bool */
707 short int file__Stdin__poll_in(val
* self
) {
708 short int var
/* : Bool */;
709 short int var1
/* : Bool */;
710 var1
= file_stdin_poll_in(self
);
716 /* method file#Stdin#poll_in for (self: Object): Bool */
717 short int VIRTUAL_file__Stdin__poll_in(val
* self
) {
718 short int var
/* : Bool */;
719 short int var1
/* : Bool */;
720 var1
= file__Stdin__poll_in(self
);
725 /* method file#Stdout#init for (self: Stdout) */
726 void file__Stdout__init(val
* self
) {
727 void* var
/* : NativeFile */;
728 void* var1
/* : NativeFile */;
729 val
* var2
/* : nullable NativeFile */;
731 val
* var3
/* : String */;
732 char* var4
/* : NativeString */;
733 long var5
/* : Int */;
734 val
* var6
/* : String */;
735 short int var7
/* : Bool */;
736 ((void (*)(val
*))(self
->class->vft
[COLOR_file__OFStream__init
]))(self
) /* init on <self:Stdout>*/;
737 var
= NULL
/*special!*/;
738 var1
= file__NativeFile__native_stdout(var
);
739 var2
= BOX_file__NativeFile(var1
); /* autobox from NativeFile to nullable NativeFile */
740 self
->attrs
[COLOR_file__FStream___file
].val
= var2
; /* _file on <self:Stdout> */
744 var4
= "/dev/stdout";
746 var6
= string__NativeString__to_s_with_length(var4
, var5
);
750 self
->attrs
[COLOR_file__FStream___path
].val
= var3
; /* _path on <self:Stdout> */
752 self
->attrs
[COLOR_file__OFStream___writable
].s
= var7
; /* _writable on <self:Stdout> */
755 /* method file#Stdout#init for (self: Object) */
756 void VIRTUAL_file__Stdout__init(val
* self
) {
757 file__Stdout__init(self
);
760 /* method file#Stderr#init for (self: Stderr) */
761 void file__Stderr__init(val
* self
) {
762 void* var
/* : NativeFile */;
763 void* var1
/* : NativeFile */;
764 val
* var2
/* : nullable NativeFile */;
766 val
* var3
/* : String */;
767 char* var4
/* : NativeString */;
768 long var5
/* : Int */;
769 val
* var6
/* : String */;
770 short int var7
/* : Bool */;
771 ((void (*)(val
*))(self
->class->vft
[COLOR_file__OFStream__init
]))(self
) /* init on <self:Stderr>*/;
772 var
= NULL
/*special!*/;
773 var1
= file__NativeFile__native_stderr(var
);
774 var2
= BOX_file__NativeFile(var1
); /* autobox from NativeFile to nullable NativeFile */
775 self
->attrs
[COLOR_file__FStream___file
].val
= var2
; /* _file on <self:Stderr> */
779 var4
= "/dev/stderr";
781 var6
= string__NativeString__to_s_with_length(var4
, var5
);
785 self
->attrs
[COLOR_file__FStream___path
].val
= var3
; /* _path on <self:Stderr> */
787 self
->attrs
[COLOR_file__OFStream___writable
].s
= var7
; /* _writable on <self:Stderr> */
790 /* method file#Stderr#init for (self: Object) */
791 void VIRTUAL_file__Stderr__init(val
* self
) {
792 file__Stderr__init(self
);
795 /* method file#String#file_exists for (self: String): Bool */
796 short int file__String__file_exists(val
* self
) {
797 short int var
/* : Bool */;
798 char* var1
/* : NativeString */;
799 short int var2
/* : Bool */;
800 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__String__to_cstring
]))(self
) /* to_cstring on <self:String>*/;
801 var2
= file__NativeString__file_exists(var1
);
807 /* method file#String#file_exists for (self: Object): Bool */
808 short int VIRTUAL_file__String__file_exists(val
* self
) {
809 short int var
/* : Bool */;
810 short int var1
/* : Bool */;
811 var1
= file__String__file_exists(self
);
816 /* method file#String#file_stat for (self: String): FileStat */
817 void* file__String__file_stat(val
* self
) {
818 void* var
/* : FileStat */;
819 char* var1
/* : NativeString */;
820 void* var2
/* : FileStat */;
821 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__String__to_cstring
]))(self
) /* to_cstring on <self:String>*/;
822 var2
= file__NativeString__file_stat(var1
);
828 /* method file#String#file_stat for (self: Object): FileStat */
829 void* VIRTUAL_file__String__file_stat(val
* self
) {
830 void* var
/* : FileStat */;
831 void* var1
/* : FileStat */;
832 var1
= file__String__file_stat(self
);
837 /* method file#String#file_lstat for (self: String): FileStat */
838 void* file__String__file_lstat(val
* self
) {
839 void* var
/* : FileStat */;
840 char* var1
/* : NativeString */;
841 void* var2
/* : FileStat */;
842 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__String__to_cstring
]))(self
) /* to_cstring on <self:String>*/;
843 var2
= file__NativeString__file_lstat(var1
);
849 /* method file#String#file_lstat for (self: Object): FileStat */
850 void* VIRTUAL_file__String__file_lstat(val
* self
) {
851 void* var
/* : FileStat */;
852 void* var1
/* : FileStat */;
853 var1
= file__String__file_lstat(self
);
858 /* method file#String#file_delete for (self: String): Bool */
859 short int file__String__file_delete(val
* self
) {
860 short int var
/* : Bool */;
861 char* var1
/* : NativeString */;
862 short int var2
/* : Bool */;
863 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__String__to_cstring
]))(self
) /* to_cstring on <self:String>*/;
864 var2
= file__NativeString__file_delete(var1
);
870 /* method file#String#file_delete for (self: Object): Bool */
871 short int VIRTUAL_file__String__file_delete(val
* self
) {
872 short int var
/* : Bool */;
873 short int var1
/* : Bool */;
874 var1
= file__String__file_delete(self
);
879 /* method file#String#file_copy_to for (self: String, String) */
880 void file__String__file_copy_to(val
* self
, val
* p0
) {
881 val
* var_dest
/* var dest: String */;
882 val
* var
/* : IFStream */;
883 val
* var_input
/* var input: IFStream */;
884 val
* var1
/* : OFStream */;
885 val
* var_output
/* var output: OFStream */;
886 short int var2
/* : Bool */;
887 short int var3
/* : Bool */;
888 long var4
/* : Int */;
889 val
* var5
/* : String */;
890 val
* var_buffer
/* var buffer: String */;
892 var
= NEW_file__IFStream(&type_file__IFStream
);
893 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_file__IFStream__open
]))(var
, self
) /* open on <var:IFStream>*/;
895 var1
= NEW_file__OFStream(&type_file__OFStream
);
896 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_file__OFStream__open
]))(var1
, var_dest
) /* open on <var1:OFStream>*/;
899 var2
= ((short int (*)(val
*))(var_input
->class->vft
[COLOR_stream__IStream__eof
]))(var_input
) /* eof on <var_input:IFStream>*/;
903 var5
= ((val
* (*)(val
*, long))(var_input
->class->vft
[COLOR_stream__IStream__read
]))(var_input
, var4
) /* read on <var_input:IFStream>*/;
905 ((void (*)(val
*, val
*))(var_output
->class->vft
[COLOR_stream__OStream__write
]))(var_output
, var_buffer
) /* write on <var_output:OFStream>*/;
906 CONTINUE_label
: (void)0;
908 BREAK_label
: (void)0;
909 ((void (*)(val
*))(var_input
->class->vft
[COLOR_stream__IOS__close
]))(var_input
) /* close on <var_input:IFStream>*/;
910 ((void (*)(val
*))(var_output
->class->vft
[COLOR_stream__IOS__close
]))(var_output
) /* close on <var_output:OFStream>*/;
913 /* method file#String#file_copy_to for (self: Object, String) */
914 void VIRTUAL_file__String__file_copy_to(val
* self
, val
* p0
) {
915 file__String__file_copy_to(self
, p0
);
918 /* method file#String#strip_extension for (self: String, String): String */
919 val
* file__String__strip_extension(val
* self
, val
* p0
) {
920 val
* var
/* : String */;
921 val
* var_ext
/* var ext: String */;
922 short int var1
/* : Bool */;
923 long var2
/* : Int */;
924 long var3
/* : Int */;
925 long var4
/* : Int */;
926 long var5
/* : Int */;
927 long var7
/* : Int */;
928 val
* var8
/* : String */;
930 var1
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_string__AbstractString__has_suffix
]))(self
, var_ext
) /* has_suffix on <self:String>*/;
933 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
934 var4
= ((long (*)(val
*))(var_ext
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_ext
) /* length on <var_ext:String>*/;
935 { /* Inline kernel#Int#- (var3,var4) */
941 var8
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var2
, var5
) /* substring on <self:String>*/;
951 /* method file#String#strip_extension for (self: Object, String): String */
952 val
* VIRTUAL_file__String__strip_extension(val
* self
, val
* p0
) {
953 val
* var
/* : String */;
954 val
* var1
/* : String */;
955 var1
= file__String__strip_extension(self
, p0
);
960 /* method file#String#basename for (self: String, String): String */
961 val
* file__String__basename(val
* self
, val
* p0
) {
962 val
* var
/* : String */;
963 val
* var_ext
/* var ext: String */;
964 char var1
/* : Char */;
965 long var2
/* : Int */;
966 long var3
/* : Int */;
967 long var4
/* : Int */;
968 long var6
/* : Int */;
969 long var7
/* : Int */;
970 val
* var8
/* : nullable Object */;
971 long var_pos
/* var pos: Int */;
972 val
* var_n
/* var n: String */;
973 long var9
/* : Int */;
974 short int var10
/* : Bool */;
975 short int var12
/* : Bool */;
978 const char* var_class_name
;
979 short int var13
/* : Bool */;
980 long var14
/* : Int */;
981 long var15
/* : Int */;
982 long var17
/* : Int */;
983 val
* var18
/* : String */;
984 val
* var19
/* : String */;
987 var2
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
989 { /* Inline kernel#Int#- (var2,var3) */
995 var8
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
996 var7
= ((long (*)(val
*, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of_from
]))(self
, var8
, var4
) /* last_index_of_from on <self:String>*/;
1000 { /* Inline kernel#Int#>= (var_pos,var9) */
1001 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
1002 /* <var9:Int> isa OTHER */
1003 var12
= 1; /* easy <var9:Int> isa OTHER*/
1005 var_class_name
= type_kernel__Int
.name
;
1006 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1007 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
1010 var13
= var_pos
>= var9
;
1013 RET_LABEL11
:(void)0;
1017 { /* Inline kernel#Int#+ (var_pos,var14) */
1018 var17
= var_pos
+ var14
;
1021 RET_LABEL16
:(void)0;
1023 var18
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_string__AbstractString__substring_from
]))(self
, var15
) /* substring_from on <self:String>*/;
1027 var19
= ((val
* (*)(val
*, val
*))(var_n
->class->vft
[COLOR_file__String__strip_extension
]))(var_n
, var_ext
) /* strip_extension on <var_n:String>*/;
1033 /* method file#String#basename for (self: Object, String): String */
1034 val
* VIRTUAL_file__String__basename(val
* self
, val
* p0
) {
1035 val
* var
/* : String */;
1036 val
* var1
/* : String */;
1037 var1
= file__String__basename(self
, p0
);
1042 /* method file#String#dirname for (self: String): String */
1043 val
* file__String__dirname(val
* self
) {
1044 val
* var
/* : String */;
1045 long var1
/* : Int */;
1046 long var2
/* : Int */;
1047 long var3
/* : Int */;
1048 long var5
/* : Int */;
1049 long var_l
/* var l: Int */;
1050 short int var6
/* : Bool */;
1051 long var7
/* : Int */;
1052 short int var8
/* : Bool */;
1053 short int var10
/* : Bool */;
1056 const char* var_class_name
;
1057 short int var11
/* : Bool */;
1058 short int var_
/* var : Bool */;
1059 val
* var12
/* : StringCharView */;
1060 val
* var13
/* : nullable Object */;
1061 char var14
/* : Char */;
1062 short int var15
/* : Bool */;
1063 short int var17
/* : Bool */;
1064 char var18
/* : Char */;
1065 long var19
/* : Int */;
1066 long var20
/* : Int */;
1067 long var22
/* : Int */;
1068 char var23
/* : Char */;
1069 long var24
/* : Int */;
1070 val
* var25
/* : nullable Object */;
1071 long var_pos
/* var pos: Int */;
1072 long var26
/* : Int */;
1073 short int var27
/* : Bool */;
1074 short int var29
/* : Bool */;
1077 const char* var_class_name32
;
1078 short int var33
/* : Bool */;
1079 long var34
/* : Int */;
1080 val
* var35
/* : String */;
1081 long var36
/* : Int */;
1082 short int var37
/* : Bool */;
1083 short int var39
/* : Bool */;
1084 static val
* varonce
;
1085 val
* var40
/* : String */;
1086 char* var41
/* : NativeString */;
1087 long var42
/* : Int */;
1088 val
* var43
/* : String */;
1089 static val
* varonce44
;
1090 val
* var45
/* : String */;
1091 char* var46
/* : NativeString */;
1092 long var47
/* : Int */;
1093 val
* var48
/* : String */;
1094 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
1096 { /* Inline kernel#Int#- (var1,var2) */
1104 { /* Inline kernel#Int#> (var_l,var7) */
1105 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
1106 /* <var7:Int> isa OTHER */
1107 var10
= 1; /* easy <var7:Int> isa OTHER*/
1109 var_class_name
= type_kernel__Int
.name
;
1110 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1111 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
1114 var11
= var_l
> var7
;
1121 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:String>*/;
1122 var13
= ((val
* (*)(val
*, long))(var12
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var12
, var_l
) /* [] on <var12:StringCharView>*/;
1124 { /* Inline kernel#Char#== (var13,var14) */
1125 var17
= (var13
!= NULL
) && (var13
->class == &class_kernel__Char
);
1127 var18
= ((struct instance_kernel__Char
*)var13
)->value
; /* autounbox from nullable Object to Char */;
1128 var17
= (var18
== var14
);
1132 RET_LABEL16
:(void)0;
1140 { /* Inline kernel#Int#- (var_l,var19) */
1141 var22
= var_l
- var19
;
1144 RET_LABEL21
:(void)0;
1150 var25
= BOX_kernel__Char(var23
); /* autobox from Char to nullable Object */
1151 var24
= ((long (*)(val
*, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of_from
]))(self
, var25
, var_l
) /* last_index_of_from on <self:String>*/;
1154 { /* Inline kernel#Int#> (var_pos,var26) */
1155 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
1156 /* <var26:Int> isa OTHER */
1157 var29
= 1; /* easy <var26:Int> isa OTHER*/
1159 var_class_name32
= type_kernel__Int
.name
;
1160 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
1161 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
1164 var33
= var_pos
> var26
;
1167 RET_LABEL28
:(void)0;
1171 var35
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var34
, var_pos
) /* substring on <self:String>*/;
1176 { /* Inline kernel#Int#== (var_pos,var36) */
1177 var39
= var_pos
== var36
;
1180 RET_LABEL38
:(void)0;
1188 var43
= string__NativeString__to_s_with_length(var41
, var42
);
1200 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1211 /* method file#String#dirname for (self: Object): String */
1212 val
* VIRTUAL_file__String__dirname(val
* self
) {
1213 val
* var
/* : String */;
1214 val
* var1
/* : String */;
1215 var1
= file__String__dirname(self
);
1220 /* method file#String#realpath for (self: String): String */
1221 val
* file__String__realpath(val
* self
) {
1222 val
* var
/* : String */;
1223 char* var1
/* : NativeString */;
1224 char* var2
/* : NativeString */;
1225 char* var_cs
/* var cs: NativeString */;
1226 val
* var3
/* : String */;
1227 val
* var_res
/* var res: String */;
1228 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__String__to_cstring
]))(self
) /* to_cstring on <self:String>*/;
1229 var2
= file__NativeString__file_realpath(var1
);
1231 var3
= string__NativeString__to_s_with_copy(var_cs
);
1238 /* method file#String#realpath for (self: Object): String */
1239 val
* VIRTUAL_file__String__realpath(val
* self
) {
1240 val
* var
/* : String */;
1241 val
* var1
/* : String */;
1242 var1
= file__String__realpath(self
);
1247 /* method file#String#simplify_path for (self: String): String */
1248 val
* file__String__simplify_path(val
* self
) {
1249 val
* var
/* : String */;
1250 static val
* varonce
;
1251 val
* var1
/* : String */;
1252 char* var2
/* : NativeString */;
1253 long var3
/* : Int */;
1254 val
* var4
/* : String */;
1255 val
* var5
/* : Array[String] */;
1256 val
* var_a
/* var a: Array[String] */;
1257 val
* var6
/* : Array[String] */;
1258 val
* var_a2
/* var a2: Array[String] */;
1259 val
* var7
/* : Iterator[nullable Object] */;
1260 short int var8
/* : Bool */;
1261 val
* var9
/* : nullable Object */;
1262 val
* var_x
/* var x: String */;
1263 static val
* varonce10
;
1264 val
* var11
/* : String */;
1265 char* var12
/* : NativeString */;
1266 long var13
/* : Int */;
1267 val
* var14
/* : String */;
1268 short int var15
/* : Bool */;
1269 short int var16
/* : Bool */;
1270 static val
* varonce17
;
1271 val
* var18
/* : String */;
1272 char* var19
/* : NativeString */;
1273 long var20
/* : Int */;
1274 val
* var21
/* : String */;
1275 short int var22
/* : Bool */;
1276 short int var_
/* var : Bool */;
1277 short int var23
/* : Bool */;
1278 short int var24
/* : Bool */;
1279 short int var25
/* : Bool */;
1280 short int var26
/* : Bool */;
1281 static val
* varonce27
;
1282 val
* var28
/* : String */;
1283 char* var29
/* : NativeString */;
1284 long var30
/* : Int */;
1285 val
* var31
/* : String */;
1286 short int var32
/* : Bool */;
1287 short int var_33
/* var : Bool */;
1288 short int var34
/* : Bool */;
1289 short int var35
/* : Bool */;
1290 short int var_36
/* var : Bool */;
1291 val
* var37
/* : nullable Object */;
1292 static val
* varonce38
;
1293 val
* var39
/* : String */;
1294 char* var40
/* : NativeString */;
1295 long var41
/* : Int */;
1296 val
* var42
/* : String */;
1297 short int var43
/* : Bool */;
1298 val
* var44
/* : nullable Object */;
1299 short int var45
/* : Bool */;
1300 static val
* varonce46
;
1301 val
* var47
/* : String */;
1302 char* var48
/* : NativeString */;
1303 long var49
/* : Int */;
1304 val
* var50
/* : String */;
1305 static val
* varonce51
;
1306 val
* var52
/* : String */;
1307 char* var53
/* : NativeString */;
1308 long var54
/* : Int */;
1309 val
* var55
/* : String */;
1310 val
* var56
/* : String */;
1316 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1320 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_string_search__String__split_with
]))(self
, var1
) /* split_with on <self:String>*/;
1322 var6
= NEW_array__Array(&type_array__Arraystring__String
);
1323 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[String]>*/;
1325 var7
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_a
) /* iterator on <var_a:Array[String]>*/;
1327 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
1329 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
1336 var14
= string__NativeString__to_s_with_length(var12
, var13
);
1340 var15
= ((short int (*)(val
*, val
*))(var_x
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_x
, var11
) /* == on <var_x:String>*/;
1342 goto CONTINUE_label
;
1350 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1354 var22
= ((short int (*)(val
*, val
*))(var_x
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_x
, var18
) /* == on <var_x:String>*/;
1357 var23
= ((short int (*)(val
*))(var_a2
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_a2
) /* is_empty on <var_a2:Array[String]>*/;
1364 goto CONTINUE_label
;
1372 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1376 var32
= ((short int (*)(val
*, val
*))(var_x
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_x
, var28
) /* == on <var_x:String>*/;
1379 var34
= ((short int (*)(val
*))(var_a2
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_a2
) /* is_empty on <var_a2:Array[String]>*/;
1387 var37
= ((val
* (*)(val
*))(var_a2
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var_a2
) /* last on <var_a2:Array[String]>*/;
1393 var42
= string__NativeString__to_s_with_length(var40
, var41
);
1397 var43
= ((short int (*)(val
*, val
*))(var37
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var37
, var39
) /* != on <var37:nullable Object(String)>*/;
1403 var44
= ((val
* (*)(val
*))(var_a2
->class->vft
[COLOR_abstract_collection__Sequence__pop
]))(var_a2
) /* pop on <var_a2:Array[String]>*/;
1405 goto CONTINUE_label
;
1408 ((void (*)(val
*, val
*))(var_a2
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_a2
, var_x
) /* push on <var_a2:Array[String]>*/;
1409 CONTINUE_label
: (void)0;
1410 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
1412 BREAK_label
: (void)0;
1413 var45
= ((short int (*)(val
*))(var_a2
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_a2
) /* is_empty on <var_a2:Array[String]>*/;
1420 var50
= string__NativeString__to_s_with_length(var48
, var49
);
1433 var55
= string__NativeString__to_s_with_length(var53
, var54
);
1437 var56
= ((val
* (*)(val
*, val
*))(var_a2
->class->vft
[COLOR_string__Collection__join
]))(var_a2
, var52
) /* join on <var_a2:Array[String]>*/;
1443 /* method file#String#simplify_path for (self: Object): String */
1444 val
* VIRTUAL_file__String__simplify_path(val
* self
) {
1445 val
* var
/* : String */;
1446 val
* var1
/* : String */;
1447 var1
= file__String__simplify_path(self
);
1452 /* method file#String#join_path for (self: String, String): String */
1453 val
* file__String__join_path(val
* self
, val
* p0
) {
1454 val
* var
/* : String */;
1455 val
* var_path
/* var path: String */;
1456 short int var1
/* : Bool */;
1457 short int var2
/* : Bool */;
1458 val
* var3
/* : StringCharView */;
1459 long var4
/* : Int */;
1460 val
* var5
/* : nullable Object */;
1461 char var6
/* : Char */;
1462 short int var7
/* : Bool */;
1463 short int var9
/* : Bool */;
1464 char var10
/* : Char */;
1465 val
* var11
/* : Array[Object] */;
1466 long var12
/* : Int */;
1467 val
* var_
/* var : Array[Object] */;
1468 static val
* varonce
;
1469 val
* var13
/* : String */;
1470 char* var14
/* : NativeString */;
1471 long var15
/* : Int */;
1472 val
* var16
/* : String */;
1473 static val
* varonce17
;
1474 val
* var18
/* : String */;
1475 char* var19
/* : NativeString */;
1476 long var20
/* : Int */;
1477 val
* var21
/* : String */;
1478 static val
* varonce22
;
1479 val
* var23
/* : String */;
1480 char* var24
/* : NativeString */;
1481 long var25
/* : Int */;
1482 val
* var26
/* : String */;
1483 val
* var27
/* : String */;
1485 var1
= ((short int (*)(val
*))(var_path
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_path
) /* is_empty on <var_path:String>*/;
1491 var2
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:String>*/;
1497 var3
= ((val
* (*)(val
*))(var_path
->class->vft
[COLOR_string__AbstractString__chars
]))(var_path
) /* chars on <var_path:String>*/;
1499 var5
= ((val
* (*)(val
*, long))(var3
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var3
, var4
) /* [] on <var3:StringCharView>*/;
1501 { /* Inline kernel#Char#== (var5,var6) */
1502 var9
= (var5
!= NULL
) && (var5
->class == &class_kernel__Char
);
1504 var10
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1505 var9
= (var10
== var6
);
1516 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1518 ((void (*)(val
*, long))(var11
->class->vft
[COLOR_array__Array__with_capacity
]))(var11
, var12
) /* with_capacity on <var11:Array[Object]>*/;
1525 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1529 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
1530 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, self
) /* add on <var_:Array[Object]>*/;
1536 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1540 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var18
) /* add on <var_:Array[Object]>*/;
1541 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_path
) /* add on <var_:Array[Object]>*/;
1547 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1551 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var23
) /* add on <var_:Array[Object]>*/;
1552 var27
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1558 /* method file#String#join_path for (self: Object, String): String */
1559 val
* VIRTUAL_file__String__join_path(val
* self
, val
* p0
) {
1560 val
* var
/* : String */;
1561 val
* var1
/* : String */;
1562 var1
= file__String__join_path(self
, p0
);
1567 /* method file#String#mkdir for (self: String) */
1568 void file__String__mkdir(val
* self
) {
1569 static val
* varonce
;
1570 val
* var
/* : String */;
1571 char* var1
/* : NativeString */;
1572 long var2
/* : Int */;
1573 val
* var3
/* : String */;
1574 val
* var4
/* : Array[String] */;
1575 val
* var_dirs
/* var dirs: Array[String] */;
1576 val
* var5
/* : Buffer */;
1577 val
* var_path
/* var path: Buffer */;
1578 short int var6
/* : Bool */;
1579 long var7
/* : Int */;
1580 val
* var8
/* : nullable Object */;
1581 short int var9
/* : Bool */;
1582 char var10
/* : Char */;
1583 val
* var11
/* : nullable Object */;
1584 val
* var12
/* : Iterator[nullable Object] */;
1585 short int var13
/* : Bool */;
1586 val
* var14
/* : nullable Object */;
1587 val
* var_d
/* var d: String */;
1588 short int var15
/* : Bool */;
1589 char var16
/* : Char */;
1590 val
* var17
/* : nullable Object */;
1591 val
* var18
/* : String */;
1592 char* var19
/* : NativeString */;
1593 short int var20
/* : Bool */;
1599 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1603 var4
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_string_search__String__split_with
]))(self
, var
) /* split_with on <self:String>*/;
1605 var5
= NEW_string__Buffer(&type_string__Buffer
);
1606 ((void (*)(val
*))(var5
->class->vft
[COLOR_string__Buffer__init
]))(var5
) /* init on <var5:Buffer>*/;
1608 var6
= ((short int (*)(val
*))(var_dirs
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_dirs
) /* is_empty on <var_dirs:Array[String]>*/;
1614 var8
= ((val
* (*)(val
*, long))(var_dirs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_dirs
, var7
) /* [] on <var_dirs:Array[String]>*/;
1615 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var8
) /* is_empty on <var8:nullable Object(String)>*/;
1618 var11
= BOX_kernel__Char(var10
); /* autobox from Char to nullable Object */
1619 ((void (*)(val
*, val
*))(var_path
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_path
, var11
) /* add on <var_path:Buffer>*/;
1622 var12
= ((val
* (*)(val
*))(var_dirs
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_dirs
) /* iterator on <var_dirs:Array[String]>*/;
1624 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
1626 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
1628 var15
= ((short int (*)(val
*))(var_d
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_d
) /* is_empty on <var_d:String>*/;
1630 goto CONTINUE_label
;
1633 ((void (*)(val
*, val
*))(var_path
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_path
, var_d
) /* append on <var_path:Buffer>*/;
1635 var17
= BOX_kernel__Char(var16
); /* autobox from Char to nullable Object */
1636 ((void (*)(val
*, val
*))(var_path
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_path
, var17
) /* add on <var_path:Buffer>*/;
1637 var18
= ((val
* (*)(val
*))(var_path
->class->vft
[COLOR_string__Object__to_s
]))(var_path
) /* to_s on <var_path:Buffer>*/;
1638 var19
= ((char* (*)(val
*))(var18
->class->vft
[COLOR_string__String__to_cstring
]))(var18
) /* to_cstring on <var18:String>*/;
1639 var20
= file__NativeString__file_mkdir(var19
);
1641 CONTINUE_label
: (void)0;
1642 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
1644 BREAK_label
: (void)0;
1647 /* method file#String#mkdir for (self: Object) */
1648 void VIRTUAL_file__String__mkdir(val
* self
) {
1649 file__String__mkdir(self
);
1652 /* method file#String#chdir for (self: String) */
1653 void file__String__chdir(val
* self
) {
1654 char* var
/* : NativeString */;
1655 var
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__String__to_cstring
]))(self
) /* to_cstring on <self:String>*/;
1656 file__NativeString__file_chdir(var
);
1659 /* method file#String#chdir for (self: Object) */
1660 void VIRTUAL_file__String__chdir(val
* self
) {
1661 file__String__chdir(self
);
1664 /* method file#String#file_extension for (self: String): nullable String */
1665 val
* file__String__file_extension(val
* self
) {
1666 val
* var
/* : nullable String */;
1667 char var1
/* : Char */;
1668 long var2
/* : Int */;
1669 val
* var3
/* : nullable Object */;
1670 long var_last_slash
/* var last_slash: Int */;
1671 long var4
/* : Int */;
1672 short int var5
/* : Bool */;
1673 short int var7
/* : Bool */;
1676 const char* var_class_name
;
1677 short int var8
/* : Bool */;
1678 long var9
/* : Int */;
1679 long var10
/* : Int */;
1680 long var12
/* : Int */;
1681 long var13
/* : Int */;
1682 val
* var14
/* : String */;
1683 val
* var15
/* : null */;
1685 var3
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
1686 var2
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of
]))(self
, var3
) /* last_index_of on <self:String>*/;
1687 var_last_slash
= var2
;
1689 { /* Inline kernel#Int#>= (var_last_slash,var4) */
1690 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1691 /* <var4:Int> isa OTHER */
1692 var7
= 1; /* easy <var4:Int> isa OTHER*/
1694 var_class_name
= type_kernel__Int
.name
;
1695 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1696 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
1699 var8
= var_last_slash
>= var4
;
1706 { /* Inline kernel#Int#+ (var_last_slash,var9) */
1707 var12
= var_last_slash
+ var9
;
1710 RET_LABEL11
:(void)0;
1712 var13
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
1713 var14
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var10
, var13
) /* substring on <self:String>*/;
1724 /* method file#String#file_extension for (self: Object): nullable String */
1725 val
* VIRTUAL_file__String__file_extension(val
* self
) {
1726 val
* var
/* : nullable String */;
1727 val
* var1
/* : nullable String */;
1728 var1
= file__String__file_extension(self
);
1733 /* method file#String#files for (self: String): Set[String] */
1734 val
* file__String__files(val
* self
) {
1735 val
* var
/* : Set[String] */;
1736 val
* var1
/* : Set[String] */;
1737 struct nitni_instance
* var_for_c_0
;
1738 var_for_c_0
= malloc(sizeof(struct nitni_instance
));
1739 var_for_c_0
->value
= self
;
1740 struct nitni_instance
* ret_var
;
1741 ret_var
= file___String_files___impl(var_for_c_0
);
1742 var1
= ret_var
->value
;
1748 /* nitni callback for standard::hash_collection::HashSet::init */
1749 struct nitni_instance
* file___new_HashSet_of_String( ) {
1750 val
* var
/* : HashSet[String] */;
1751 var
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetstring__String
);
1752 val
* recv
/* var self: HashSet[String] */;
1754 ((void (*)(val
*))(var
->class->vft
[COLOR_hash_collection__HashSet__init
]))(var
) /* init on <var:HashSet[String]>*/;
1755 struct nitni_instance
* ret_for_c
;
1756 ret_for_c
= malloc(sizeof(struct nitni_instance
));
1757 ret_for_c
->value
= var
;
1760 /* nitni callback for standard::abstract_collection::SimpleCollection::add */
1761 void file___HashSet_of_String_add( struct nitni_instance
* recv
, struct nitni_instance
* item
) {
1762 ((void (*)(val
*, val
*))(recv
->value
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(recv
->value
, item
->value
) /* add on <recv->value:HashSet[String]>*/;
1764 /* nitni callback for standard::string::Object::to_s */
1765 struct nitni_instance
* file___NativeString_to_s( char* recv
) {
1766 val
* var
/* : String */;
1767 var
= string__NativeString__to_s(recv
);
1768 struct nitni_instance
* ret_for_c
;
1769 ret_for_c
= malloc(sizeof(struct nitni_instance
));
1770 ret_for_c
->value
= var
;
1773 /* nitni callback for standard::string::String::to_cstring */
1774 char* file___String_to_cstring( struct nitni_instance
* recv
) {
1775 char* var
/* : NativeString */;
1776 var
= ((char* (*)(val
*))(recv
->value
->class->vft
[COLOR_string__String__to_cstring
]))(recv
->value
) /* to_cstring on <recv->value:String>*/;
1779 /* nitni check for HashSet[String] to Set[String] */
1780 int file___HashSet_of_String_is_a_Set_of_String(struct nitni_instance
* from
) {
1781 short int var
/* : Bool */;
1784 /* <from->value:HashSet[String]> isa Set[String] */
1785 var
= 1; /* easy <from->value:HashSet[String]> isa Set[String]*/
1788 /* nitni cast for HashSet[String] to Set[String] */
1789 struct nitni_instance
* file___HashSet_of_String_as_Set_of_String(struct nitni_instance
* from
) {
1790 short int var
/* : Bool */;
1793 /* <from->value:HashSet[String]> isa Set[String] */
1794 var
= 1; /* easy <from->value:HashSet[String]> isa Set[String]*/
1796 fprintf(stderr
, "Runtime error: %s", "FFI cast failed");
1797 fprintf(stderr
, "\n");
1800 struct nitni_instance
* ret_for_c
;
1801 ret_for_c
= malloc(sizeof(struct nitni_instance
));
1802 ret_for_c
->value
= from
->value
;
1805 /* method file#String#files for (self: Object): Set[String] */
1806 val
* VIRTUAL_file__String__files(val
* self
) {
1807 val
* var
/* : Set[String] */;
1808 val
* var1
/* : Set[String] */;
1809 var1
= file__String__files(self
);
1814 /* method file#NativeString#file_exists for (self: NativeString): Bool */
1815 short int file__NativeString__file_exists(char* self
) {
1816 short int var
/* : Bool */;
1817 short int var1
/* : Bool */;
1818 var1
= string_NativeString_NativeString_file_exists_0(self
);
1824 /* method file#NativeString#file_exists for (self: Object): Bool */
1825 short int VIRTUAL_file__NativeString__file_exists(val
* self
) {
1826 short int var
/* : Bool */;
1827 short int var1
/* : Bool */;
1828 char* var2
/* : NativeString */;
1829 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
1830 var1
= file__NativeString__file_exists(var2
);
1835 /* method file#NativeString#file_stat for (self: NativeString): FileStat */
1836 void* file__NativeString__file_stat(char* self
) {
1837 void* var
/* : FileStat */;
1838 void* var1
/* : FileStat */;
1839 var1
= string_NativeString_NativeString_file_stat_0(self
);
1845 /* method file#NativeString#file_stat for (self: Object): FileStat */
1846 void* VIRTUAL_file__NativeString__file_stat(val
* self
) {
1847 void* var
/* : FileStat */;
1848 void* var1
/* : FileStat */;
1849 char* var2
/* : NativeString */;
1850 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
1851 var1
= file__NativeString__file_stat(var2
);
1856 /* method file#NativeString#file_lstat for (self: NativeString): FileStat */
1857 void* file__NativeString__file_lstat(char* self
) {
1858 void* var
/* : FileStat */;
1859 void* var1
/* : FileStat */;
1860 var1
= file___NativeString_file_lstat___impl(self
);
1866 /* method file#NativeString#file_lstat for (self: Object): FileStat */
1867 void* VIRTUAL_file__NativeString__file_lstat(val
* self
) {
1868 void* var
/* : FileStat */;
1869 void* var1
/* : FileStat */;
1870 char* var2
/* : NativeString */;
1871 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
1872 var1
= file__NativeString__file_lstat(var2
);
1877 /* method file#NativeString#file_mkdir for (self: NativeString): Bool */
1878 short int file__NativeString__file_mkdir(char* self
) {
1879 short int var
/* : Bool */;
1880 short int var1
/* : Bool */;
1881 var1
= string_NativeString_NativeString_file_mkdir_0(self
);
1887 /* method file#NativeString#file_mkdir for (self: Object): Bool */
1888 short int VIRTUAL_file__NativeString__file_mkdir(val
* self
) {
1889 short int var
/* : Bool */;
1890 short int var1
/* : Bool */;
1891 char* var2
/* : NativeString */;
1892 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
1893 var1
= file__NativeString__file_mkdir(var2
);
1898 /* method file#NativeString#file_delete for (self: NativeString): Bool */
1899 short int file__NativeString__file_delete(char* self
) {
1900 short int var
/* : Bool */;
1901 short int var1
/* : Bool */;
1902 var1
= string_NativeString_NativeString_file_delete_0(self
);
1908 /* method file#NativeString#file_delete for (self: Object): Bool */
1909 short int VIRTUAL_file__NativeString__file_delete(val
* self
) {
1910 short int var
/* : Bool */;
1911 short int var1
/* : Bool */;
1912 char* var2
/* : NativeString */;
1913 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
1914 var1
= file__NativeString__file_delete(var2
);
1919 /* method file#NativeString#file_chdir for (self: NativeString) */
1920 void file__NativeString__file_chdir(char* self
) {
1921 string_NativeString_NativeString_file_chdir_0(self
);
1924 /* method file#NativeString#file_chdir for (self: Object) */
1925 void VIRTUAL_file__NativeString__file_chdir(val
* self
) {
1926 char* var
/* : NativeString */;
1927 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
1928 file__NativeString__file_chdir(var
);
1931 /* method file#NativeString#file_realpath for (self: NativeString): NativeString */
1932 char* file__NativeString__file_realpath(char* self
) {
1933 char* var
/* : NativeString */;
1934 char* var1
/* : NativeString */;
1935 var1
= file_NativeString_realpath(self
);
1941 /* method file#NativeString#file_realpath for (self: Object): NativeString */
1942 char* VIRTUAL_file__NativeString__file_realpath(val
* self
) {
1943 char* var
/* : NativeString */;
1944 char* var1
/* : NativeString */;
1945 char* var2
/* : NativeString */;
1946 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
1947 var1
= file__NativeString__file_realpath(var2
);
1952 /* method file#FileStat#mode for (self: FileStat): Int */
1953 long file__FileStat__mode(void* self
) {
1954 long var
/* : Int */;
1955 long var1
/* : Int */;
1956 var1
= file_FileStat_FileStat_mode_0(self
);
1962 /* method file#FileStat#mode for (self: Object): Int */
1963 long VIRTUAL_file__FileStat__mode(val
* self
) {
1964 long var
/* : Int */;
1965 long var1
/* : Int */;
1966 void* var2
/* : FileStat */;
1967 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
1968 var1
= file__FileStat__mode(var2
);
1973 /* method file#FileStat#atime for (self: FileStat): Int */
1974 long file__FileStat__atime(void* self
) {
1975 long var
/* : Int */;
1976 long var1
/* : Int */;
1977 var1
= file_FileStat_FileStat_atime_0(self
);
1983 /* method file#FileStat#atime for (self: Object): Int */
1984 long VIRTUAL_file__FileStat__atime(val
* self
) {
1985 long var
/* : Int */;
1986 long var1
/* : Int */;
1987 void* var2
/* : FileStat */;
1988 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
1989 var1
= file__FileStat__atime(var2
);
1994 /* method file#FileStat#ctime for (self: FileStat): Int */
1995 long file__FileStat__ctime(void* self
) {
1996 long var
/* : Int */;
1997 long var1
/* : Int */;
1998 var1
= file_FileStat_FileStat_ctime_0(self
);
2004 /* method file#FileStat#ctime for (self: Object): Int */
2005 long VIRTUAL_file__FileStat__ctime(val
* self
) {
2006 long var
/* : Int */;
2007 long var1
/* : Int */;
2008 void* var2
/* : FileStat */;
2009 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2010 var1
= file__FileStat__ctime(var2
);
2015 /* method file#FileStat#mtime for (self: FileStat): Int */
2016 long file__FileStat__mtime(void* self
) {
2017 long var
/* : Int */;
2018 long var1
/* : Int */;
2019 var1
= file_FileStat_FileStat_mtime_0(self
);
2025 /* method file#FileStat#mtime for (self: Object): Int */
2026 long VIRTUAL_file__FileStat__mtime(val
* self
) {
2027 long var
/* : Int */;
2028 long var1
/* : Int */;
2029 void* var2
/* : FileStat */;
2030 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2031 var1
= file__FileStat__mtime(var2
);
2036 /* method file#FileStat#size for (self: FileStat): Int */
2037 long file__FileStat__size(void* self
) {
2038 long var
/* : Int */;
2039 long var1
/* : Int */;
2040 var1
= file_FileStat_FileStat_size_0(self
);
2046 /* method file#FileStat#size for (self: Object): Int */
2047 long VIRTUAL_file__FileStat__size(val
* self
) {
2048 long var
/* : Int */;
2049 long var1
/* : Int */;
2050 void* var2
/* : FileStat */;
2051 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2052 var1
= file__FileStat__size(var2
);
2057 /* method file#FileStat#is_reg for (self: FileStat): Bool */
2058 short int file__FileStat__is_reg(void* self
) {
2059 short int var
/* : Bool */;
2060 short int var1
/* : Bool */;
2061 var1
= file___FileStat_is_reg___impl(self
);
2067 /* method file#FileStat#is_reg for (self: Object): Bool */
2068 short int VIRTUAL_file__FileStat__is_reg(val
* self
) {
2069 short int var
/* : Bool */;
2070 short int var1
/* : Bool */;
2071 void* var2
/* : FileStat */;
2072 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2073 var1
= file__FileStat__is_reg(var2
);
2078 /* method file#FileStat#is_dir for (self: FileStat): Bool */
2079 short int file__FileStat__is_dir(void* self
) {
2080 short int var
/* : Bool */;
2081 short int var1
/* : Bool */;
2082 var1
= file___FileStat_is_dir___impl(self
);
2088 /* method file#FileStat#is_dir for (self: Object): Bool */
2089 short int VIRTUAL_file__FileStat__is_dir(val
* self
) {
2090 short int var
/* : Bool */;
2091 short int var1
/* : Bool */;
2092 void* var2
/* : FileStat */;
2093 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2094 var1
= file__FileStat__is_dir(var2
);
2099 /* method file#FileStat#is_chr for (self: FileStat): Bool */
2100 short int file__FileStat__is_chr(void* self
) {
2101 short int var
/* : Bool */;
2102 short int var1
/* : Bool */;
2103 var1
= file___FileStat_is_chr___impl(self
);
2109 /* method file#FileStat#is_chr for (self: Object): Bool */
2110 short int VIRTUAL_file__FileStat__is_chr(val
* self
) {
2111 short int var
/* : Bool */;
2112 short int var1
/* : Bool */;
2113 void* var2
/* : FileStat */;
2114 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2115 var1
= file__FileStat__is_chr(var2
);
2120 /* method file#FileStat#is_blk for (self: FileStat): Bool */
2121 short int file__FileStat__is_blk(void* self
) {
2122 short int var
/* : Bool */;
2123 short int var1
/* : Bool */;
2124 var1
= file___FileStat_is_blk___impl(self
);
2130 /* method file#FileStat#is_blk for (self: Object): Bool */
2131 short int VIRTUAL_file__FileStat__is_blk(val
* self
) {
2132 short int var
/* : Bool */;
2133 short int var1
/* : Bool */;
2134 void* var2
/* : FileStat */;
2135 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2136 var1
= file__FileStat__is_blk(var2
);
2141 /* method file#FileStat#is_fifo for (self: FileStat): Bool */
2142 short int file__FileStat__is_fifo(void* self
) {
2143 short int var
/* : Bool */;
2144 short int var1
/* : Bool */;
2145 var1
= file___FileStat_is_fifo___impl(self
);
2151 /* method file#FileStat#is_fifo for (self: Object): Bool */
2152 short int VIRTUAL_file__FileStat__is_fifo(val
* self
) {
2153 short int var
/* : Bool */;
2154 short int var1
/* : Bool */;
2155 void* var2
/* : FileStat */;
2156 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2157 var1
= file__FileStat__is_fifo(var2
);
2162 /* method file#FileStat#is_lnk for (self: FileStat): Bool */
2163 short int file__FileStat__is_lnk(void* self
) {
2164 short int var
/* : Bool */;
2165 short int var1
/* : Bool */;
2166 var1
= file___FileStat_is_lnk___impl(self
);
2172 /* method file#FileStat#is_lnk for (self: Object): Bool */
2173 short int VIRTUAL_file__FileStat__is_lnk(val
* self
) {
2174 short int var
/* : Bool */;
2175 short int var1
/* : Bool */;
2176 void* var2
/* : FileStat */;
2177 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2178 var1
= file__FileStat__is_lnk(var2
);
2183 /* method file#FileStat#is_sock for (self: FileStat): Bool */
2184 short int file__FileStat__is_sock(void* self
) {
2185 short int var
/* : Bool */;
2186 short int var1
/* : Bool */;
2187 var1
= file___FileStat_is_sock___impl(self
);
2193 /* method file#FileStat#is_sock for (self: Object): Bool */
2194 short int VIRTUAL_file__FileStat__is_sock(val
* self
) {
2195 short int var
/* : Bool */;
2196 short int var1
/* : Bool */;
2197 void* var2
/* : FileStat */;
2198 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to FileStat */;
2199 var1
= file__FileStat__is_sock(var2
);
2204 /* method file#NativeFile#io_read for (self: NativeFile, NativeString, Int): Int */
2205 long file__NativeFile__io_read(void* self
, char* p0
, long p1
) {
2206 long var
/* : Int */;
2207 long var1
/* : Int */;
2208 var1
= file_NativeFile_NativeFile_io_read_2(self
, p0
, p1
);
2214 /* method file#NativeFile#io_read for (self: Object, NativeString, Int): Int */
2215 long VIRTUAL_file__NativeFile__io_read(val
* self
, char* p0
, long p1
) {
2216 long var
/* : Int */;
2217 long var1
/* : Int */;
2218 void* var2
/* : NativeFile */;
2219 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2220 var1
= file__NativeFile__io_read(var2
, p0
, p1
);
2225 /* method file#NativeFile#io_write for (self: NativeFile, NativeString, Int): Int */
2226 long file__NativeFile__io_write(void* self
, char* p0
, long p1
) {
2227 long var
/* : Int */;
2228 long var1
/* : Int */;
2229 var1
= file_NativeFile_NativeFile_io_write_2(self
, p0
, p1
);
2235 /* method file#NativeFile#io_write for (self: Object, NativeString, Int): Int */
2236 long VIRTUAL_file__NativeFile__io_write(val
* self
, char* p0
, long p1
) {
2237 long var
/* : Int */;
2238 long var1
/* : Int */;
2239 void* var2
/* : NativeFile */;
2240 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2241 var1
= file__NativeFile__io_write(var2
, p0
, p1
);
2246 /* method file#NativeFile#io_close for (self: NativeFile): Int */
2247 long file__NativeFile__io_close(void* self
) {
2248 long var
/* : Int */;
2249 long var1
/* : Int */;
2250 var1
= file_NativeFile_NativeFile_io_close_0(self
);
2256 /* method file#NativeFile#io_close for (self: Object): Int */
2257 long VIRTUAL_file__NativeFile__io_close(val
* self
) {
2258 long var
/* : Int */;
2259 long var1
/* : Int */;
2260 void* var2
/* : NativeFile */;
2261 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2262 var1
= file__NativeFile__io_close(var2
);
2267 /* method file#NativeFile#file_stat for (self: NativeFile): FileStat */
2268 void* file__NativeFile__file_stat(void* self
) {
2269 void* var
/* : FileStat */;
2270 void* var1
/* : FileStat */;
2271 var1
= file_NativeFile_NativeFile_file_stat_0(self
);
2277 /* method file#NativeFile#file_stat for (self: Object): FileStat */
2278 void* VIRTUAL_file__NativeFile__file_stat(val
* self
) {
2279 void* var
/* : FileStat */;
2280 void* var1
/* : FileStat */;
2281 void* var2
/* : NativeFile */;
2282 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2283 var1
= file__NativeFile__file_stat(var2
);
2288 /* method file#NativeFile#io_open_read for (self: NativeFile, NativeString): NativeFile */
2289 void* file__NativeFile__io_open_read(void* self
, char* p0
) {
2290 void* var
/* : NativeFile */;
2291 void* var1
/* : NativeFile */;
2292 var1
= file_NativeFileCapable_NativeFileCapable_io_open_read_1(p0
);
2298 /* method file#NativeFile#io_open_read for (self: Object, NativeString): NativeFile */
2299 void* VIRTUAL_file__NativeFile__io_open_read(val
* self
, char* p0
) {
2300 void* var
/* : NativeFile */;
2301 val
* var1
/* : Object */;
2302 void* var2
/* : NativeFile */;
2303 void* var3
/* : NativeFile */;
2304 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2305 var1
= file__NativeFile__io_open_read(var2
, p0
);
2306 var3
= ((struct instance_kernel__Pointer
*)var1
)->value
; /* autounbox from Object to NativeFile */;
2311 /* method file#NativeFile#io_open_write for (self: NativeFile, NativeString): NativeFile */
2312 void* file__NativeFile__io_open_write(void* self
, char* p0
) {
2313 void* var
/* : NativeFile */;
2314 void* var1
/* : NativeFile */;
2315 var1
= file_NativeFileCapable_NativeFileCapable_io_open_write_1(p0
);
2321 /* method file#NativeFile#io_open_write for (self: Object, NativeString): NativeFile */
2322 void* VIRTUAL_file__NativeFile__io_open_write(val
* self
, char* p0
) {
2323 void* var
/* : NativeFile */;
2324 val
* var1
/* : Object */;
2325 void* var2
/* : NativeFile */;
2326 void* var3
/* : NativeFile */;
2327 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2328 var1
= file__NativeFile__io_open_write(var2
, p0
);
2329 var3
= ((struct instance_kernel__Pointer
*)var1
)->value
; /* autounbox from Object to NativeFile */;
2334 /* method file#NativeFile#native_stdin for (self: NativeFile): NativeFile */
2335 void* file__NativeFile__native_stdin(void* self
) {
2336 void* var
/* : NativeFile */;
2337 void* var1
/* : NativeFile */;
2338 var1
= file_NativeFileCapable_NativeFileCapable_native_stdin_0();
2344 /* method file#NativeFile#native_stdin for (self: Object): NativeFile */
2345 void* VIRTUAL_file__NativeFile__native_stdin(val
* self
) {
2346 void* var
/* : NativeFile */;
2347 val
* var1
/* : Object */;
2348 void* var2
/* : NativeFile */;
2349 void* var3
/* : NativeFile */;
2350 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2351 var1
= file__NativeFile__native_stdin(var2
);
2352 var3
= ((struct instance_kernel__Pointer
*)var1
)->value
; /* autounbox from Object to NativeFile */;
2357 /* method file#NativeFile#native_stdout for (self: NativeFile): NativeFile */
2358 void* file__NativeFile__native_stdout(void* self
) {
2359 void* var
/* : NativeFile */;
2360 void* var1
/* : NativeFile */;
2361 var1
= file_NativeFileCapable_NativeFileCapable_native_stdout_0();
2367 /* method file#NativeFile#native_stdout for (self: Object): NativeFile */
2368 void* VIRTUAL_file__NativeFile__native_stdout(val
* self
) {
2369 void* var
/* : NativeFile */;
2370 val
* var1
/* : Object */;
2371 void* var2
/* : NativeFile */;
2372 void* var3
/* : NativeFile */;
2373 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2374 var1
= file__NativeFile__native_stdout(var2
);
2375 var3
= ((struct instance_kernel__Pointer
*)var1
)->value
; /* autounbox from Object to NativeFile */;
2380 /* method file#NativeFile#native_stderr for (self: NativeFile): NativeFile */
2381 void* file__NativeFile__native_stderr(void* self
) {
2382 void* var
/* : NativeFile */;
2383 void* var1
/* : NativeFile */;
2384 var1
= file_NativeFileCapable_NativeFileCapable_native_stderr_0();
2390 /* method file#NativeFile#native_stderr for (self: Object): NativeFile */
2391 void* VIRTUAL_file__NativeFile__native_stderr(val
* self
) {
2392 void* var
/* : NativeFile */;
2393 val
* var1
/* : Object */;
2394 void* var2
/* : NativeFile */;
2395 void* var3
/* : NativeFile */;
2396 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeFile */;
2397 var1
= file__NativeFile__native_stderr(var2
);
2398 var3
= ((struct instance_kernel__Pointer
*)var1
)->value
; /* autounbox from Object to NativeFile */;
2403 /* method file#Object#stdin for (self: Object): Stdin */
2404 val
* file__Object__stdin(val
* self
) {
2405 val
* var
/* : Stdin */;
2406 static val
* varonce
;
2407 static int varonce_guard
;
2408 val
* var1
/* : Stdin */;
2409 val
* var2
/* : Stdin */;
2410 if (varonce_guard
) {
2413 var2
= NEW_file__Stdin(&type_file__Stdin
);
2414 ((void (*)(val
*))(var2
->class->vft
[COLOR_file__Stdin__init
]))(var2
) /* init on <var2:Stdin>*/;
2424 /* method file#Object#stdin for (self: Object): Stdin */
2425 val
* VIRTUAL_file__Object__stdin(val
* self
) {
2426 val
* var
/* : Stdin */;
2427 val
* var1
/* : Stdin */;
2428 var1
= file__Object__stdin(self
);
2433 /* method file#Object#stdout for (self: Object): OFStream */
2434 val
* file__Object__stdout(val
* self
) {
2435 val
* var
/* : OFStream */;
2436 static val
* varonce
;
2437 static int varonce_guard
;
2438 val
* var1
/* : Stdout */;
2439 val
* var2
/* : Stdout */;
2440 if (varonce_guard
) {
2443 var2
= NEW_file__Stdout(&type_file__Stdout
);
2444 ((void (*)(val
*))(var2
->class->vft
[COLOR_file__Stdout__init
]))(var2
) /* init on <var2:Stdout>*/;
2454 /* method file#Object#stdout for (self: Object): OFStream */
2455 val
* VIRTUAL_file__Object__stdout(val
* self
) {
2456 val
* var
/* : OFStream */;
2457 val
* var1
/* : OFStream */;
2458 var1
= file__Object__stdout(self
);
2463 /* method file#Object#stderr for (self: Object): OFStream */
2464 val
* file__Object__stderr(val
* self
) {
2465 val
* var
/* : OFStream */;
2466 static val
* varonce
;
2467 static int varonce_guard
;
2468 val
* var1
/* : Stderr */;
2469 val
* var2
/* : Stderr */;
2470 if (varonce_guard
) {
2473 var2
= NEW_file__Stderr(&type_file__Stderr
);
2474 ((void (*)(val
*))(var2
->class->vft
[COLOR_file__Stderr__init
]))(var2
) /* init on <var2:Stderr>*/;
2484 /* method file#Object#stderr for (self: Object): OFStream */
2485 val
* VIRTUAL_file__Object__stderr(val
* self
) {
2486 val
* var
/* : OFStream */;
2487 val
* var1
/* : OFStream */;
2488 var1
= file__Object__stderr(self
);