1 #include "file.sep.0.h"
2 /* method file#FStream#path= for (self: FStream, nullable String) */
3 void file__FStream__path_61d(val
* self
, val
* p0
) {
4 self
->attrs
[COLOR_file__FStream___path
].val
= p0
; /* _path on <self:FStream> */
7 /* method file#FStream#path= for (self: Object, nullable String) */
8 void VIRTUAL_file__FStream__path_61d(val
* self
, val
* p0
) {
9 { /* Inline file#FStream#path= (self,p0) on <self:Object(FStream)> */
10 self
->attrs
[COLOR_file__FStream___path
].val
= p0
; /* _path on <self:Object(FStream)> */
15 /* method file#IFStream#close for (self: IFStream) */
16 void file__IFStream__close(val
* self
) {
17 val
* var
/* : nullable NativeFile */;
18 long var1
/* : Int */;
19 long var3
/* : Int for extern */;
20 void* var4
/* : NativeFile for extern */;
21 long var_i
/* var i: Int */;
22 val
* var5
/* : nullable FlatBuffer */;
23 short int var6
/* : Bool */;
24 var
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:IFStream> */
26 PRINT_ERROR("Runtime error: %s", "Receiver is null");
27 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 67);
30 { /* Inline file#NativeFile#io_close (var) on <var:nullable NativeFile> */
31 var4
= ((struct instance_kernel__Pointer
*)var
)->value
; /* unboxing nullable NativeFile */
32 var3
= file_NativeFile_NativeFile_io_close_0(var4
);
39 var5
= self
->attrs
[COLOR_stream__BufferedIStream___buffer
].val
; /* _buffer on <self:IFStream> */
41 PRINT_ERROR("Runtime error: %s", "Receiver is null");
42 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 68);
45 string__FlatBuffer__clear(var5
); /* Direct call string#FlatBuffer#clear on <var5:nullable FlatBuffer>*/
49 { /* Inline file#IFStream#end_reached= (self,var6) on <self:IFStream> */
50 self
->attrs
[COLOR_file__IFStream___end_reached
].s
= var6
; /* _end_reached on <self:IFStream> */
56 /* method file#IFStream#close for (self: Object) */
57 void VIRTUAL_file__IFStream__close(val
* self
) {
58 file__IFStream__close(self
); /* Direct call file#IFStream#close on <self:Object(IFStream)>*/
61 /* method file#IFStream#fill_buffer for (self: IFStream) */
62 void file__IFStream__fill_buffer(val
* self
) {
63 val
* var
/* : nullable NativeFile */;
64 val
* var1
/* : nullable FlatBuffer */;
65 char* var2
/* : NativeString */;
66 char* var4
/* : NativeString */;
67 val
* var5
/* : nullable FlatBuffer */;
68 long var6
/* : Int */;
69 long var8
/* : Int */;
70 long var9
/* : Int */;
71 long var11
/* : Int for extern */;
72 void* var12
/* : NativeFile for extern */;
73 long var_nb
/* var nb: Int */;
74 long var13
/* : Int */;
75 short int var14
/* : Bool */;
76 short int var16
/* : Bool */;
79 const char* var_class_name
;
80 short int var17
/* : Bool */;
81 short int var18
/* : Bool */;
82 long var20
/* : Int */;
83 val
* var21
/* : nullable FlatBuffer */;
84 long var23
/* : Int */;
85 var
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:IFStream> */
86 var1
= self
->attrs
[COLOR_stream__BufferedIStream___buffer
].val
; /* _buffer on <self:IFStream> */
88 PRINT_ERROR("Runtime error: %s", "Receiver is null");
89 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 74);
92 { /* Inline string#FlatText#items (var1) on <var1:nullable FlatBuffer> */
93 if (unlikely(var1
== NULL
)) {
94 PRINT_ERROR("Runtime error: %s", "Receiver is null");
95 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 706);
98 var4
= var1
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var1:nullable FlatBuffer> */
103 var5
= self
->attrs
[COLOR_stream__BufferedIStream___buffer
].val
; /* _buffer on <self:IFStream> */
105 PRINT_ERROR("Runtime error: %s", "Receiver is null");
106 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 74);
109 { /* Inline string#FlatBuffer#capacity (var5) on <var5:nullable FlatBuffer> */
110 if (unlikely(var5
== NULL
)) {
111 PRINT_ERROR("Runtime error: %s", "Receiver is null");
112 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1408);
115 var8
= var5
->attrs
[COLOR_string__FlatBuffer___capacity
].l
; /* _capacity on <var5:nullable FlatBuffer> */
121 PRINT_ERROR("Runtime error: %s", "Receiver is null");
122 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 74);
125 { /* Inline file#NativeFile#io_read (var,var2,var6) on <var:nullable NativeFile> */
126 var12
= ((struct instance_kernel__Pointer
*)var
)->value
; /* unboxing nullable NativeFile */
127 var11
= file_NativeFile_NativeFile_io_read_2(var12
, var2
, var6
);
136 { /* Inline kernel#Int#<= (var_nb,var13) on <var_nb:Int> */
137 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
138 /* <var13:Int> isa OTHER */
139 var16
= 1; /* easy <var13:Int> isa OTHER*/
140 if (unlikely(!var16
)) {
141 var_class_name
= type_kernel__Int
.name
;
142 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
143 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
146 var17
= var_nb
<= var13
;
155 { /* Inline file#IFStream#end_reached= (self,var18) on <self:IFStream> */
156 self
->attrs
[COLOR_file__IFStream___end_reached
].s
= var18
; /* _end_reached on <self:IFStream> */
164 var21
= self
->attrs
[COLOR_stream__BufferedIStream___buffer
].val
; /* _buffer on <self:IFStream> */
166 PRINT_ERROR("Runtime error: %s", "Receiver is null");
167 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 79);
170 { /* Inline string#FlatText#length= (var21,var_nb) on <var21:nullable FlatBuffer> */
171 if (unlikely(var21
== NULL
)) {
172 PRINT_ERROR("Runtime error: %s", "Receiver is null");
173 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 715);
176 var21
->attrs
[COLOR_string__FlatText___length
].l
= var_nb
; /* _length on <var21:nullable FlatBuffer> */
181 self
->attrs
[COLOR_stream__BufferedIStream___buffer_pos
].l
= var23
; /* _buffer_pos on <self:IFStream> */
184 /* method file#IFStream#fill_buffer for (self: Object) */
185 void VIRTUAL_file__IFStream__fill_buffer(val
* self
) {
186 file__IFStream__fill_buffer(self
); /* Direct call file#IFStream#fill_buffer on <self:Object(IFStream)>*/
189 /* method file#IFStream#end_reached for (self: IFStream): Bool */
190 short int file__IFStream__end_reached(val
* self
) {
191 short int var
/* : Bool */;
192 short int var1
/* : Bool */;
193 var1
= self
->attrs
[COLOR_file__IFStream___end_reached
].s
; /* _end_reached on <self:IFStream> */
198 /* method file#IFStream#end_reached for (self: Object): Bool */
199 short int VIRTUAL_file__IFStream__end_reached(val
* self
) {
200 short int var
/* : Bool */;
201 short int var1
/* : Bool */;
202 short int var3
/* : Bool */;
203 { /* Inline file#IFStream#end_reached (self) on <self:Object(IFStream)> */
204 var3
= self
->attrs
[COLOR_file__IFStream___end_reached
].s
; /* _end_reached on <self:Object(IFStream)> */
212 /* method file#IFStream#end_reached= for (self: IFStream, Bool) */
213 void file__IFStream__end_reached_61d(val
* self
, short int p0
) {
214 self
->attrs
[COLOR_file__IFStream___end_reached
].s
= p0
; /* _end_reached on <self:IFStream> */
217 /* method file#IFStream#end_reached= for (self: Object, Bool) */
218 void VIRTUAL_file__IFStream__end_reached_61d(val
* self
, short int p0
) {
219 { /* Inline file#IFStream#end_reached= (self,p0) on <self:Object(IFStream)> */
220 self
->attrs
[COLOR_file__IFStream___end_reached
].s
= p0
; /* _end_reached on <self:Object(IFStream)> */
225 /* method file#IFStream#open for (self: IFStream, String) */
226 void file__IFStream__open(val
* self
, val
* p0
) {
227 val
* var_path
/* var path: String */;
228 long var
/* : Int */;
229 val
* var2
/* : NativeFile */;
230 char* var3
/* : NativeString */;
231 val
* var4
/* : NativeFile */;
232 val
* var5
/* : nullable NativeFile */;
233 short int var6
/* : Bool */;
234 short int var8
/* : Bool for extern */;
235 void* var9
/* : Pointer for extern */;
236 short int var10
/* : Bool */;
238 val
* var11
/* : String */;
239 char* var12
/* : NativeString */;
240 long var13
/* : Int */;
241 val
* var14
/* : FlatString */;
242 static val
* varonce15
;
243 val
* var16
/* : String */;
244 char* var17
/* : NativeString */;
245 long var18
/* : Int */;
246 val
* var19
/* : FlatString */;
247 val
* var20
/* : Sys */;
248 val
* var22
/* : Sys */;
249 long var23
/* : Int */;
250 long var25
/* : Int */;
251 val
* var26
/* : String */;
252 static val
* varonce27
;
253 val
* var28
/* : String */;
254 char* var29
/* : NativeString */;
255 long var30
/* : Int */;
256 val
* var31
/* : FlatString */;
257 val
* var32
/* : Array[Object] */;
258 long var33
/* : Int */;
259 val
* var34
/* : NativeArray[Object] */;
260 val
* var35
/* : String */;
262 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:IFStream>*/;
266 { /* Inline file#FStream#path= (self,var_path) on <self:IFStream> */
267 self
->attrs
[COLOR_file__FStream___path
].val
= var_path
; /* _path on <self:IFStream> */
273 stream__BufferedIStream__prepare_buffer(self
, var
); /* Direct call stream#BufferedIStream#prepare_buffer on <self:IFStream>*/
275 var2
= NEW_file__NativeFile(&type_file__NativeFile
);
277 var3
= string__FlatString__to_cstring(var_path
);
280 var4
= file__NativeFile__io_open_read(var2
, var3
);
282 self
->attrs
[COLOR_file__FStream___file
].val
= var4
; /* _file on <self:IFStream> */
283 var5
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:IFStream> */
285 PRINT_ERROR("Runtime error: %s", "Receiver is null");
286 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 92);
289 { /* Inline kernel#Pointer#address_is_null (var5) on <var5:nullable NativeFile> */
290 var9
= ((struct instance_kernel__Pointer
*)var5
)->value
; /* unboxing nullable NativeFile */
291 var8
= address_is_null(var9
);
298 if (unlikely(!var10
)) {
302 var12
= "Error: Opening file at \'";
304 var14
= string__NativeString__to_s_with_length(var12
, var13
);
311 var17
= "\' failed with \'";
313 var19
= string__NativeString__to_s_with_length(var17
, var18
);
318 { /* Inline kernel#Object#sys (self) on <self:IFStream> */
326 { /* Inline kernel#Sys#errno (var20) on <var20:Sys> */
327 struct nitni_instance
* var_for_c_0
;
328 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
329 var_for_c_0
->value
= var20
;
330 var25
= kernel___Sys_errno___impl(var_for_c_0
);
337 var26
= string__Int__strerror(var23
);
344 var31
= string__NativeString__to_s_with_length(var29
, var30
);
348 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
349 { /* var32 = array_instance Array[Object] */
351 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
352 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var11
;
353 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_path
;
354 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var16
;
355 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var26
;
356 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
358 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
362 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
365 file__Object__print(self
, var35
); /* Direct call file#Object#print on <self:IFStream>*/
367 PRINT_ERROR("Runtime error: %s", "Assert failed");
368 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 92);
373 /* method file#IFStream#open for (self: Object, String) */
374 void VIRTUAL_file__IFStream__open(val
* self
, val
* p0
) {
375 file__IFStream__open(self
, p0
); /* Direct call file#IFStream#open on <self:Object(IFStream)>*/
378 /* method file#IFStream#init for (self: IFStream) */
379 void file__IFStream__init(val
* self
) {
381 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:IFStream>*/;
385 /* method file#IFStream#init for (self: Object) */
386 void VIRTUAL_file__IFStream__init(val
* self
) {
387 file__IFStream__init(self
); /* Direct call file#IFStream#init on <self:Object(IFStream)>*/
390 /* method file#OFStream#write for (self: OFStream, Text) */
391 void file__OFStream__write(val
* self
, val
* p0
) {
392 val
* var_s
/* var s: Text */;
393 short int var
/* : Bool */;
394 short int var1
/* : Bool */;
397 char* var2
/* : NativeString */;
398 long var3
/* : Int */;
399 long var5
/* : Int */;
400 val
* var6
/* : Iterator[Text] */;
401 val
* var_
/* var : Iterator[Text] */;
402 val
* var7
/* : Iterator[nullable Object] */;
403 val
* var_8
/* var : Iterator[Text] */;
404 short int var9
/* : Bool */;
405 val
* var10
/* : nullable Object */;
406 val
* var_i
/* var i: Text */;
407 char* var11
/* : NativeString */;
408 long var12
/* : Int */;
409 long var14
/* : Int */;
411 var
= self
->attrs
[COLOR_file__OFStream___is_writable
].s
; /* _is_writable on <self:OFStream> */
412 if (unlikely(!var
)) {
413 PRINT_ERROR("Runtime error: %s", "Assert failed");
414 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 108);
417 /* <var_s:Text> isa FlatText */
418 cltype
= type_string__FlatText
.color
;
419 idtype
= type_string__FlatText
.id
;
420 if(cltype
>= var_s
->type
->table_size
) {
423 var1
= var_s
->type
->type_table
[cltype
] == idtype
;
427 var2
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__Text__to_cstring
]))(var_s
) /* to_cstring on <var_s:Text(FlatText)>*/;
430 { /* Inline string#FlatText#length (var_s) on <var_s:Text(FlatText)> */
431 var5
= var_s
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_s:Text(FlatText)> */
437 file__OFStream__write_native(self
, var2
, var3
); /* Direct call file#OFStream#write_native on <self:OFStream>*/
441 var6
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Text__substrings
]))(var_s
) /* substrings on <var_s:Text>*/;
445 var7
= abstract_collection__Iterator__iterator(var_
);
450 var9
= ((short int (*)(val
*))(var_8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_8
) /* is_ok on <var_8:Iterator[Text]>*/;
454 var10
= ((val
* (*)(val
*))(var_8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_8
) /* item on <var_8:Iterator[Text]>*/;
458 var11
= ((char* (*)(val
*))(var_i
->class->vft
[COLOR_string__Text__to_cstring
]))(var_i
) /* to_cstring on <var_i:Text>*/;
461 { /* Inline string#FlatText#length (var_i) on <var_i:Text> */
462 var14
= var_i
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_i:Text> */
468 file__OFStream__write_native(self
, var11
, var12
); /* Direct call file#OFStream#write_native on <self:OFStream>*/
471 ((void (*)(val
*))(var_8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_8
) /* next on <var_8:Iterator[Text]>*/;
477 BREAK_label
: (void)0;
479 { /* Inline abstract_collection#Iterator#finish (var_8) on <var_8:Iterator[Text]> */
486 /* method file#OFStream#write for (self: Object, Text) */
487 void VIRTUAL_file__OFStream__write(val
* self
, val
* p0
) {
488 file__OFStream__write(self
, p0
); /* Direct call file#OFStream#write on <self:Object(OFStream)>*/
491 /* method file#OFStream#close for (self: OFStream) */
492 void file__OFStream__close(val
* self
) {
493 val
* var
/* : nullable NativeFile */;
494 long var1
/* : Int */;
495 long var3
/* : Int for extern */;
496 void* var4
/* : NativeFile for extern */;
497 long var_i
/* var i: Int */;
498 short int var5
/* : Bool */;
499 var
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:OFStream> */
501 PRINT_ERROR("Runtime error: %s", "Receiver is null");
502 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 118);
505 { /* Inline file#NativeFile#io_close (var) on <var:nullable NativeFile> */
506 var4
= ((struct instance_kernel__Pointer
*)var
)->value
; /* unboxing nullable NativeFile */
507 var3
= file_NativeFile_NativeFile_io_close_0(var4
);
515 self
->attrs
[COLOR_file__OFStream___is_writable
].s
= var5
; /* _is_writable on <self:OFStream> */
518 /* method file#OFStream#close for (self: Object) */
519 void VIRTUAL_file__OFStream__close(val
* self
) {
520 file__OFStream__close(self
); /* Direct call file#OFStream#close on <self:Object(OFStream)>*/
523 /* method file#OFStream#write_native for (self: OFStream, NativeString, Int) */
524 void file__OFStream__write_native(val
* self
, char* p0
, long p1
) {
525 char* var_native
/* var native: NativeString */;
526 long var_len
/* var len: Int */;
527 short int var
/* : Bool */;
528 val
* var1
/* : nullable NativeFile */;
529 long var2
/* : Int */;
530 long var4
/* : Int for extern */;
531 void* var5
/* : NativeFile for extern */;
532 long var_err
/* var err: Int */;
533 short int var6
/* : Bool */;
534 short int var7
/* : Bool */;
535 short int var9
/* : Bool */;
536 short int var10
/* : Bool */;
538 val
* var11
/* : String */;
539 char* var12
/* : NativeString */;
540 long var13
/* : Int */;
541 val
* var14
/* : FlatString */;
542 static val
* varonce15
;
543 val
* var16
/* : String */;
544 char* var17
/* : NativeString */;
545 long var18
/* : Int */;
546 val
* var19
/* : FlatString */;
547 static val
* varonce20
;
548 val
* var21
/* : String */;
549 char* var22
/* : NativeString */;
550 long var23
/* : Int */;
551 val
* var24
/* : FlatString */;
552 val
* var25
/* : Array[Object] */;
553 long var26
/* : Int */;
554 val
* var27
/* : NativeArray[Object] */;
555 val
* var28
/* : Object */;
556 val
* var29
/* : Object */;
559 var
= self
->attrs
[COLOR_file__OFStream___is_writable
].s
; /* _is_writable on <self:OFStream> */
560 if (unlikely(!var
)) {
561 PRINT_ERROR("Runtime error: %s", "Assert failed");
562 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 127);
565 var1
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:OFStream> */
567 PRINT_ERROR("Runtime error: %s", "Receiver is null");
568 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 128);
571 { /* Inline file#NativeFile#io_write (var1,var_native,var_len) on <var1:nullable NativeFile> */
572 var5
= ((struct instance_kernel__Pointer
*)var1
)->value
; /* unboxing nullable NativeFile */
573 var4
= file_NativeFile_NativeFile_io_write_2(var5
, var_native
, var_len
);
581 { /* Inline kernel#Int#!= (var_err,var_len) on <var_err:Int> */
582 var9
= var_err
== var_len
;
594 var12
= "Problem in writing : ";
596 var14
= string__NativeString__to_s_with_length(var12
, var13
);
605 var19
= string__NativeString__to_s_with_length(var17
, var18
);
614 var24
= string__NativeString__to_s_with_length(var22
, var23
);
618 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
619 { /* var25 = array_instance Array[Object] */
621 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
622 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var11
;
623 var28
= BOX_kernel__Int(var_err
); /* autobox from Int to Object */
624 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var28
;
625 ((struct instance_array__NativeArray
*)var27
)->values
[2] = (val
*) var16
;
626 var29
= BOX_kernel__Int(var_len
); /* autobox from Int to Object */
627 ((struct instance_array__NativeArray
*)var27
)->values
[3] = (val
*) var29
;
628 ((struct instance_array__NativeArray
*)var27
)->values
[4] = (val
*) var21
;
630 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
634 file__Object__printn(self
, var25
); /* Direct call file#Object#printn on <self:OFStream>*/
640 /* method file#OFStream#write_native for (self: Object, NativeString, Int) */
641 void VIRTUAL_file__OFStream__write_native(val
* self
, char* p0
, long p1
) {
642 file__OFStream__write_native(self
, p0
, p1
); /* Direct call file#OFStream#write_native on <self:Object(OFStream)>*/
645 /* method file#OFStream#open for (self: OFStream, String) */
646 void file__OFStream__open(val
* self
, val
* p0
) {
647 val
* var_path
/* var path: String */;
648 val
* var
/* : NativeFile */;
649 char* var1
/* : NativeString */;
650 val
* var2
/* : NativeFile */;
651 val
* var3
/* : nullable NativeFile */;
652 short int var4
/* : Bool */;
653 short int var6
/* : Bool for extern */;
654 void* var7
/* : Pointer for extern */;
655 short int var8
/* : Bool */;
657 val
* var9
/* : String */;
658 char* var10
/* : NativeString */;
659 long var11
/* : Int */;
660 val
* var12
/* : FlatString */;
661 static val
* varonce13
;
662 val
* var14
/* : String */;
663 char* var15
/* : NativeString */;
664 long var16
/* : Int */;
665 val
* var17
/* : FlatString */;
666 val
* var18
/* : Sys */;
667 val
* var20
/* : Sys */;
668 long var21
/* : Int */;
669 long var23
/* : Int */;
670 val
* var24
/* : String */;
671 static val
* varonce25
;
672 val
* var26
/* : String */;
673 char* var27
/* : NativeString */;
674 long var28
/* : Int */;
675 val
* var29
/* : FlatString */;
676 val
* var30
/* : Array[Object] */;
677 long var31
/* : Int */;
678 val
* var32
/* : NativeArray[Object] */;
679 val
* var33
/* : String */;
680 short int var35
/* : Bool */;
682 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:OFStream>*/;
685 var
= NEW_file__NativeFile(&type_file__NativeFile
);
687 var1
= string__FlatString__to_cstring(var_path
);
690 var2
= file__NativeFile__io_open_write(var
, var1
);
692 self
->attrs
[COLOR_file__FStream___file
].val
= var2
; /* _file on <self:OFStream> */
693 var3
= self
->attrs
[COLOR_file__FStream___file
].val
; /* _file on <self:OFStream> */
695 PRINT_ERROR("Runtime error: %s", "Receiver is null");
696 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 139);
699 { /* Inline kernel#Pointer#address_is_null (var3) on <var3:nullable NativeFile> */
700 var7
= ((struct instance_kernel__Pointer
*)var3
)->value
; /* unboxing nullable NativeFile */
701 var6
= address_is_null(var7
);
708 if (unlikely(!var8
)) {
712 var10
= "Error: Opening file at \'";
714 var12
= string__NativeString__to_s_with_length(var10
, var11
);
721 var15
= "\' failed with \'";
723 var17
= string__NativeString__to_s_with_length(var15
, var16
);
728 { /* Inline kernel#Object#sys (self) on <self:OFStream> */
736 { /* Inline kernel#Sys#errno (var18) on <var18:Sys> */
737 struct nitni_instance
* var_for_c_0
;
738 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
739 var_for_c_0
->value
= var18
;
740 var23
= kernel___Sys_errno___impl(var_for_c_0
);
747 var24
= string__Int__strerror(var21
);
754 var29
= string__NativeString__to_s_with_length(var27
, var28
);
758 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
759 { /* var30 = array_instance Array[Object] */
761 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
762 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var9
;
763 ((struct instance_array__NativeArray
*)var32
)->values
[1] = (val
*) var_path
;
764 ((struct instance_array__NativeArray
*)var32
)->values
[2] = (val
*) var14
;
765 ((struct instance_array__NativeArray
*)var32
)->values
[3] = (val
*) var24
;
766 ((struct instance_array__NativeArray
*)var32
)->values
[4] = (val
*) var26
;
768 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
772 var33
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
775 file__Object__print(self
, var33
); /* Direct call file#Object#print on <self:OFStream>*/
777 PRINT_ERROR("Runtime error: %s", "Assert failed");
778 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 139);
782 { /* Inline file#FStream#path= (self,var_path) on <self:OFStream> */
783 self
->attrs
[COLOR_file__FStream___path
].val
= var_path
; /* _path on <self:OFStream> */
788 self
->attrs
[COLOR_file__OFStream___is_writable
].s
= var35
; /* _is_writable on <self:OFStream> */
791 /* method file#OFStream#open for (self: Object, String) */
792 void VIRTUAL_file__OFStream__open(val
* self
, val
* p0
) {
793 file__OFStream__open(self
, p0
); /* Direct call file#OFStream#open on <self:Object(OFStream)>*/
796 /* method file#OFStream#init for (self: OFStream) */
797 void file__OFStream__init(val
* self
) {
799 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:OFStream>*/;
803 /* method file#OFStream#init for (self: Object) */
804 void VIRTUAL_file__OFStream__init(val
* self
) {
805 file__OFStream__init(self
); /* Direct call file#OFStream#init on <self:Object(OFStream)>*/
808 /* method file#Stdin#init for (self: Stdin) */
809 void file__Stdin__init(val
* self
) {
810 val
* var
/* : NativeFile */;
811 val
* var1
/* : NativeFile */;
813 val
* var2
/* : String */;
814 char* var3
/* : NativeString */;
815 long var4
/* : Int */;
816 val
* var5
/* : FlatString */;
817 long var7
/* : Int */;
819 file__IFStream__init(self
); /* Direct call file#IFStream#init on <self:Stdin>*/
821 var
= NEW_file__NativeFile(&type_file__NativeFile
);
823 var1
= file__NativeFile__native_stdin(var
);
825 self
->attrs
[COLOR_file__FStream___file
].val
= var1
; /* _file on <self:Stdin> */
831 var5
= string__NativeString__to_s_with_length(var3
, var4
);
836 { /* Inline file#FStream#path= (self,var2) on <self:Stdin> */
837 self
->attrs
[COLOR_file__FStream___path
].val
= var2
; /* _path on <self:Stdin> */
843 stream__BufferedIStream__prepare_buffer(self
, var7
); /* Direct call stream#BufferedIStream#prepare_buffer on <self:Stdin>*/
847 /* method file#Stdin#init for (self: Object) */
848 void VIRTUAL_file__Stdin__init(val
* self
) {
849 file__Stdin__init(self
); /* Direct call file#Stdin#init on <self:Object(Stdin)>*/
852 /* method file#Stdout#init for (self: Stdout) */
853 void file__Stdout__init(val
* self
) {
854 val
* var
/* : NativeFile */;
855 val
* var1
/* : NativeFile */;
857 val
* var2
/* : String */;
858 char* var3
/* : NativeString */;
859 long var4
/* : Int */;
860 val
* var5
/* : FlatString */;
861 short int var7
/* : Bool */;
863 file__OFStream__init(self
); /* Direct call file#OFStream#init on <self:Stdout>*/
865 var
= NEW_file__NativeFile(&type_file__NativeFile
);
867 var1
= file__NativeFile__native_stdout(var
);
869 self
->attrs
[COLOR_file__FStream___file
].val
= var1
; /* _file on <self:Stdout> */
873 var3
= "/dev/stdout";
875 var5
= string__NativeString__to_s_with_length(var3
, var4
);
880 { /* Inline file#FStream#path= (self,var2) on <self:Stdout> */
881 self
->attrs
[COLOR_file__FStream___path
].val
= var2
; /* _path on <self:Stdout> */
886 self
->attrs
[COLOR_file__OFStream___is_writable
].s
= var7
; /* _is_writable on <self:Stdout> */
889 /* method file#Stdout#init for (self: Object) */
890 void VIRTUAL_file__Stdout__init(val
* self
) {
891 file__Stdout__init(self
); /* Direct call file#Stdout#init on <self:Object(Stdout)>*/
894 /* method file#Stderr#init for (self: Stderr) */
895 void file__Stderr__init(val
* self
) {
896 val
* var
/* : NativeFile */;
897 val
* var1
/* : NativeFile */;
899 val
* var2
/* : String */;
900 char* var3
/* : NativeString */;
901 long var4
/* : Int */;
902 val
* var5
/* : FlatString */;
903 short int var7
/* : Bool */;
905 file__OFStream__init(self
); /* Direct call file#OFStream#init on <self:Stderr>*/
907 var
= NEW_file__NativeFile(&type_file__NativeFile
);
909 var1
= file__NativeFile__native_stderr(var
);
911 self
->attrs
[COLOR_file__FStream___file
].val
= var1
; /* _file on <self:Stderr> */
915 var3
= "/dev/stderr";
917 var5
= string__NativeString__to_s_with_length(var3
, var4
);
922 { /* Inline file#FStream#path= (self,var2) on <self:Stderr> */
923 self
->attrs
[COLOR_file__FStream___path
].val
= var2
; /* _path on <self:Stderr> */
928 self
->attrs
[COLOR_file__OFStream___is_writable
].s
= var7
; /* _is_writable on <self:Stderr> */
931 /* method file#Stderr#init for (self: Object) */
932 void VIRTUAL_file__Stderr__init(val
* self
) {
933 file__Stderr__init(self
); /* Direct call file#Stderr#init on <self:Object(Stderr)>*/
936 /* method file#String#file_exists for (self: String): Bool */
937 short int file__String__file_exists(val
* self
) {
938 short int var
/* : Bool */;
939 char* var1
/* : NativeString */;
940 short int var2
/* : Bool */;
941 short int var4
/* : Bool for extern */;
943 var1
= string__FlatString__to_cstring(self
);
946 { /* Inline file#NativeString#file_exists (var1) on <var1:NativeString> */
947 var4
= string_NativeString_NativeString_file_exists_0(var1
);
958 /* method file#String#file_exists for (self: Object): Bool */
959 short int VIRTUAL_file__String__file_exists(val
* self
) {
960 short int var
/* : Bool */;
961 short int var1
/* : Bool */;
962 var1
= file__String__file_exists(self
);
967 /* method file#String#file_copy_to for (self: String, String) */
968 void file__String__file_copy_to(val
* self
, val
* p0
) {
969 val
* var_dest
/* var dest: String */;
970 val
* var
/* : IFStream */;
971 val
* var_input
/* var input: IFStream */;
972 val
* var1
/* : OFStream */;
973 val
* var_output
/* var output: OFStream */;
974 short int var2
/* : Bool */;
975 short int var3
/* : Bool */;
976 long var4
/* : Int */;
977 val
* var5
/* : String */;
978 val
* var_buffer
/* var buffer: String */;
980 var
= NEW_file__IFStream(&type_file__IFStream
);
982 file__IFStream__open(var
, self
); /* Direct call file#IFStream#open on <var:IFStream>*/
985 var1
= NEW_file__OFStream(&type_file__OFStream
);
987 file__OFStream__open(var1
, var_dest
); /* Direct call file#OFStream#open on <var1:OFStream>*/
992 var2
= stream__BufferedIStream__eof(var_input
);
998 var5
= stream__BufferedIStream__read(var_input
, var4
);
1002 file__OFStream__write(var_output
, var_buffer
); /* Direct call file#OFStream#write on <var_output:OFStream>*/
1008 BREAK_label
: (void)0;
1010 file__IFStream__close(var_input
); /* Direct call file#IFStream#close on <var_input:IFStream>*/
1013 file__OFStream__close(var_output
); /* Direct call file#OFStream#close on <var_output:OFStream>*/
1017 /* method file#String#file_copy_to for (self: Object, String) */
1018 void VIRTUAL_file__String__file_copy_to(val
* self
, val
* p0
) {
1019 file__String__file_copy_to(self
, p0
); /* Direct call file#String#file_copy_to on <self:Object(String)>*/
1022 /* method file#String#strip_extension for (self: String, String): String */
1023 val
* file__String__strip_extension(val
* self
, val
* p0
) {
1024 val
* var
/* : String */;
1025 val
* var_ext
/* var ext: String */;
1026 short int var1
/* : Bool */;
1027 long var2
/* : Int */;
1028 long var3
/* : Int */;
1029 long var5
/* : Int */;
1030 long var6
/* : Int */;
1031 long var8
/* : Int */;
1032 long var9
/* : Int */;
1033 short int var11
/* : Bool */;
1036 const char* var_class_name
;
1037 long var12
/* : Int */;
1038 val
* var13
/* : String */;
1041 var1
= string__Text__has_suffix(self
, var_ext
);
1046 { /* Inline string#FlatText#length (self) on <self:String> */
1047 var5
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:String> */
1053 { /* Inline string#FlatText#length (var_ext) on <var_ext:String> */
1054 var8
= var_ext
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_ext:String> */
1060 { /* Inline kernel#Int#- (var3,var6) on <var3:Int> */
1061 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
1062 /* <var6:Int> isa OTHER */
1063 var11
= 1; /* easy <var6:Int> isa OTHER*/
1064 if (unlikely(!var11
)) {
1065 var_class_name
= type_kernel__Int
.name
;
1066 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1067 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1070 var12
= var3
- var6
;
1073 RET_LABEL10
:(void)0;
1077 var13
= string__FlatString__substring(self
, var2
, var9
);
1088 /* method file#String#strip_extension for (self: Object, String): String */
1089 val
* VIRTUAL_file__String__strip_extension(val
* self
, val
* p0
) {
1090 val
* var
/* : String */;
1091 val
* var1
/* : String */;
1092 var1
= file__String__strip_extension(self
, p0
);
1097 /* method file#String#basename for (self: String, String): String */
1098 val
* file__String__basename(val
* self
, val
* p0
) {
1099 val
* var
/* : String */;
1100 val
* var_ext
/* var ext: String */;
1101 long var1
/* : Int */;
1102 long var3
/* : Int */;
1103 long var4
/* : Int */;
1104 long var5
/* : Int */;
1105 short int var7
/* : Bool */;
1108 const char* var_class_name
;
1109 long var8
/* : Int */;
1110 long var_l
/* var l: Int */;
1111 short int var9
/* : Bool */;
1112 long var10
/* : Int */;
1113 short int var11
/* : Bool */;
1114 short int var13
/* : Bool */;
1117 const char* var_class_name16
;
1118 short int var17
/* : Bool */;
1119 short int var_
/* var : Bool */;
1120 val
* var18
/* : SequenceRead[Char] */;
1121 val
* var20
/* : SequenceRead[Char] */;
1122 val
* var21
/* : nullable Object */;
1123 char var22
/* : Char */;
1124 short int var23
/* : Bool */;
1125 short int var24
/* : Bool */;
1126 short int var26
/* : Bool */;
1127 char var27
/* : Char */;
1128 long var28
/* : Int */;
1129 long var29
/* : Int */;
1130 short int var31
/* : Bool */;
1133 const char* var_class_name34
;
1134 long var35
/* : Int */;
1135 long var36
/* : Int */;
1136 short int var37
/* : Bool */;
1137 short int var38
/* : Bool */;
1138 short int var40
/* : Bool */;
1139 static val
* varonce
;
1140 val
* var41
/* : String */;
1141 char* var42
/* : NativeString */;
1142 long var43
/* : Int */;
1143 val
* var44
/* : FlatString */;
1144 val
* var45
/* : SequenceRead[Char] */;
1145 val
* var47
/* : SequenceRead[Char] */;
1146 char var48
/* : Char */;
1147 long var49
/* : Int */;
1148 val
* var50
/* : nullable Object */;
1149 long var_pos
/* var pos: Int */;
1150 val
* var_n
/* var n: String */;
1151 long var51
/* : Int */;
1152 short int var52
/* : Bool */;
1153 short int var54
/* : Bool */;
1156 const char* var_class_name57
;
1157 short int var58
/* : Bool */;
1158 long var59
/* : Int */;
1159 long var60
/* : Int */;
1160 short int var62
/* : Bool */;
1163 const char* var_class_name65
;
1164 long var66
/* : Int */;
1165 long var67
/* : Int */;
1166 short int var69
/* : Bool */;
1169 const char* var_class_name72
;
1170 long var73
/* : Int */;
1171 val
* var74
/* : String */;
1172 val
* var75
/* : String */;
1175 { /* Inline string#FlatText#length (self) on <self:String> */
1176 var3
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:String> */
1183 { /* Inline kernel#Int#- (var1,var4) on <var1:Int> */
1184 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1185 /* <var4:Int> isa OTHER */
1186 var7
= 1; /* easy <var4:Int> isa OTHER*/
1187 if (unlikely(!var7
)) {
1188 var_class_name
= type_kernel__Int
.name
;
1189 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1190 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1203 { /* Inline kernel#Int#> (var_l,var10) on <var_l:Int> */
1204 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
1205 /* <var10:Int> isa OTHER */
1206 var13
= 1; /* easy <var10:Int> isa OTHER*/
1207 if (unlikely(!var13
)) {
1208 var_class_name16
= type_kernel__Int
.name
;
1209 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
1210 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
1213 var17
= var_l
> var10
;
1216 RET_LABEL12
:(void)0;
1222 { /* Inline string#FlatString#chars (self) on <self:String> */
1223 var20
= self
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <self:String> */
1224 if (unlikely(var20
== NULL
)) {
1225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
1226 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
1230 RET_LABEL19
:(void)0;
1234 var21
= ((val
* (*)(val
*, long))(var18
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var18
, var_l
) /* [] on <var18:SequenceRead[Char]>*/;
1238 { /* Inline kernel#Char#== (var21,var22) on <var21:nullable Object(Char)> */
1239 var26
= (var21
!= NULL
) && (var21
->class == &class_kernel__Char
);
1241 var27
= ((struct instance_kernel__Char
*)var21
)->value
; /* autounbox from nullable Object to Char */;
1242 var26
= (var27
== var22
);
1246 RET_LABEL25
:(void)0;
1257 { /* Inline kernel#Int#- (var_l,var28) on <var_l:Int> */
1258 /* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
1259 /* <var28:Int> isa OTHER */
1260 var31
= 1; /* easy <var28:Int> isa OTHER*/
1261 if (unlikely(!var31
)) {
1262 var_class_name34
= type_kernel__Int
.name
;
1263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
1264 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1267 var35
= var_l
- var28
;
1270 RET_LABEL30
:(void)0;
1278 BREAK_label
: (void)0;
1281 { /* Inline kernel#Int#== (var_l,var36) on <var_l:Int> */
1282 var40
= var_l
== var36
;
1285 RET_LABEL39
:(void)0;
1295 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1304 { /* Inline string#FlatString#chars (self) on <self:String> */
1305 var47
= self
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <self:String> */
1306 if (unlikely(var47
== NULL
)) {
1307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
1308 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
1312 RET_LABEL46
:(void)0;
1317 var50
= BOX_kernel__Char(var48
); /* autobox from Char to nullable Object */
1318 var49
= ((long (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_abstract_collection__SequenceRead__last_index_of_from
]))(var45
, var50
, var_l
) /* last_index_of_from on <var45:SequenceRead[Char]>*/;
1324 { /* Inline kernel#Int#>= (var_pos,var51) on <var_pos:Int> */
1325 /* Covariant cast for argument 0 (i) <var51:Int> isa OTHER */
1326 /* <var51:Int> isa OTHER */
1327 var54
= 1; /* easy <var51:Int> isa OTHER*/
1328 if (unlikely(!var54
)) {
1329 var_class_name57
= type_kernel__Int
.name
;
1330 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57
);
1331 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
1334 var58
= var_pos
>= var51
;
1337 RET_LABEL53
:(void)0;
1343 { /* Inline kernel#Int#+ (var_pos,var59) on <var_pos:Int> */
1344 /* Covariant cast for argument 0 (i) <var59:Int> isa OTHER */
1345 /* <var59:Int> isa OTHER */
1346 var62
= 1; /* easy <var59:Int> isa OTHER*/
1347 if (unlikely(!var62
)) {
1348 var_class_name65
= type_kernel__Int
.name
;
1349 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65
);
1350 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1353 var66
= var_pos
+ var59
;
1356 RET_LABEL61
:(void)0;
1360 { /* Inline kernel#Int#- (var_l,var_pos) on <var_l:Int> */
1361 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
1362 /* <var_pos:Int> isa OTHER */
1363 var69
= 1; /* easy <var_pos:Int> isa OTHER*/
1364 if (unlikely(!var69
)) {
1365 var_class_name72
= type_kernel__Int
.name
;
1366 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72
);
1367 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1370 var73
= var_l
- var_pos
;
1373 RET_LABEL68
:(void)0;
1377 var74
= string__FlatString__substring(self
, var60
, var67
);
1383 var75
= file__String__strip_extension(var_n
, var_ext
);
1390 /* method file#String#basename for (self: Object, String): String */
1391 val
* VIRTUAL_file__String__basename(val
* self
, val
* p0
) {
1392 val
* var
/* : String */;
1393 val
* var1
/* : String */;
1394 var1
= file__String__basename(self
, p0
);
1399 /* method file#String#dirname for (self: String): String */
1400 val
* file__String__dirname(val
* self
) {
1401 val
* var
/* : String */;
1402 long var1
/* : Int */;
1403 long var3
/* : Int */;
1404 long var4
/* : Int */;
1405 long var5
/* : Int */;
1406 short int var7
/* : Bool */;
1409 const char* var_class_name
;
1410 long var8
/* : Int */;
1411 long var_l
/* var l: Int */;
1412 short int var9
/* : Bool */;
1413 long var10
/* : Int */;
1414 short int var11
/* : Bool */;
1415 short int var13
/* : Bool */;
1418 const char* var_class_name16
;
1419 short int var17
/* : Bool */;
1420 short int var_
/* var : Bool */;
1421 val
* var18
/* : SequenceRead[Char] */;
1422 val
* var20
/* : SequenceRead[Char] */;
1423 val
* var21
/* : nullable Object */;
1424 char var22
/* : Char */;
1425 short int var23
/* : Bool */;
1426 short int var24
/* : Bool */;
1427 short int var26
/* : Bool */;
1428 char var27
/* : Char */;
1429 long var28
/* : Int */;
1430 long var29
/* : Int */;
1431 short int var31
/* : Bool */;
1434 const char* var_class_name34
;
1435 long var35
/* : Int */;
1436 val
* var36
/* : SequenceRead[Char] */;
1437 val
* var38
/* : SequenceRead[Char] */;
1438 char var39
/* : Char */;
1439 long var40
/* : Int */;
1440 val
* var41
/* : nullable Object */;
1441 long var_pos
/* var pos: Int */;
1442 long var42
/* : Int */;
1443 short int var43
/* : Bool */;
1444 short int var45
/* : Bool */;
1447 const char* var_class_name48
;
1448 short int var49
/* : Bool */;
1449 long var50
/* : Int */;
1450 val
* var51
/* : String */;
1451 long var52
/* : Int */;
1452 short int var53
/* : Bool */;
1453 short int var54
/* : Bool */;
1454 short int var56
/* : Bool */;
1455 static val
* varonce
;
1456 val
* var57
/* : String */;
1457 char* var58
/* : NativeString */;
1458 long var59
/* : Int */;
1459 val
* var60
/* : FlatString */;
1460 static val
* varonce61
;
1461 val
* var62
/* : String */;
1462 char* var63
/* : NativeString */;
1463 long var64
/* : Int */;
1464 val
* var65
/* : FlatString */;
1466 { /* Inline string#FlatText#length (self) on <self:String> */
1467 var3
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:String> */
1474 { /* Inline kernel#Int#- (var1,var4) on <var1:Int> */
1475 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1476 /* <var4:Int> isa OTHER */
1477 var7
= 1; /* easy <var4:Int> isa OTHER*/
1478 if (unlikely(!var7
)) {
1479 var_class_name
= type_kernel__Int
.name
;
1480 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1481 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1494 { /* Inline kernel#Int#> (var_l,var10) on <var_l:Int> */
1495 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
1496 /* <var10:Int> isa OTHER */
1497 var13
= 1; /* easy <var10:Int> isa OTHER*/
1498 if (unlikely(!var13
)) {
1499 var_class_name16
= type_kernel__Int
.name
;
1500 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
1501 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
1504 var17
= var_l
> var10
;
1507 RET_LABEL12
:(void)0;
1513 { /* Inline string#FlatString#chars (self) on <self:String> */
1514 var20
= self
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <self:String> */
1515 if (unlikely(var20
== NULL
)) {
1516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
1517 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
1521 RET_LABEL19
:(void)0;
1525 var21
= ((val
* (*)(val
*, long))(var18
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var18
, var_l
) /* [] on <var18:SequenceRead[Char]>*/;
1529 { /* Inline kernel#Char#== (var21,var22) on <var21:nullable Object(Char)> */
1530 var26
= (var21
!= NULL
) && (var21
->class == &class_kernel__Char
);
1532 var27
= ((struct instance_kernel__Char
*)var21
)->value
; /* autounbox from nullable Object to Char */;
1533 var26
= (var27
== var22
);
1537 RET_LABEL25
:(void)0;
1548 { /* Inline kernel#Int#- (var_l,var28) on <var_l:Int> */
1549 /* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
1550 /* <var28:Int> isa OTHER */
1551 var31
= 1; /* easy <var28:Int> isa OTHER*/
1552 if (unlikely(!var31
)) {
1553 var_class_name34
= type_kernel__Int
.name
;
1554 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
1555 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1558 var35
= var_l
- var28
;
1561 RET_LABEL30
:(void)0;
1569 BREAK_label
: (void)0;
1571 { /* Inline string#FlatString#chars (self) on <self:String> */
1572 var38
= self
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <self:String> */
1573 if (unlikely(var38
== NULL
)) {
1574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
1575 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
1579 RET_LABEL37
:(void)0;
1584 var41
= BOX_kernel__Char(var39
); /* autobox from Char to nullable Object */
1585 var40
= ((long (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_abstract_collection__SequenceRead__last_index_of_from
]))(var36
, var41
, var_l
) /* last_index_of_from on <var36:SequenceRead[Char]>*/;
1590 { /* Inline kernel#Int#> (var_pos,var42) on <var_pos:Int> */
1591 /* Covariant cast for argument 0 (i) <var42:Int> isa OTHER */
1592 /* <var42:Int> isa OTHER */
1593 var45
= 1; /* easy <var42:Int> isa OTHER*/
1594 if (unlikely(!var45
)) {
1595 var_class_name48
= type_kernel__Int
.name
;
1596 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
1597 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
1600 var49
= var_pos
> var42
;
1603 RET_LABEL44
:(void)0;
1609 var51
= string__FlatString__substring(self
, var50
, var_pos
);
1616 { /* Inline kernel#Int#== (var_pos,var52) on <var_pos:Int> */
1617 var56
= var_pos
== var52
;
1620 RET_LABEL55
:(void)0;
1630 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1642 var65
= string__NativeString__to_s_with_length(var63
, var64
);
1653 /* method file#String#dirname for (self: Object): String */
1654 val
* VIRTUAL_file__String__dirname(val
* self
) {
1655 val
* var
/* : String */;
1656 val
* var1
/* : String */;
1657 var1
= file__String__dirname(self
);
1662 /* method file#String#realpath for (self: String): String */
1663 val
* file__String__realpath(val
* self
) {
1664 val
* var
/* : String */;
1665 char* var1
/* : NativeString */;
1666 char* var2
/* : NativeString */;
1667 void* var4
/* : NativeString for extern */;
1668 char* var_cs
/* var cs: NativeString */;
1669 val
* var5
/* : FlatString */;
1670 val
* var_res
/* var res: FlatString */;
1672 var1
= string__FlatString__to_cstring(self
);
1675 { /* Inline file#NativeString#file_realpath (var1) on <var1:NativeString> */
1676 var4
= file_NativeString_realpath(var1
);
1684 var5
= string__NativeString__to_s_with_copy(var_cs
);
1692 /* method file#String#realpath for (self: Object): String */
1693 val
* VIRTUAL_file__String__realpath(val
* self
) {
1694 val
* var
/* : String */;
1695 val
* var1
/* : String */;
1696 var1
= file__String__realpath(self
);
1701 /* method file#String#simplify_path for (self: String): String */
1702 val
* file__String__simplify_path(val
* self
) {
1703 val
* var
/* : String */;
1704 static val
* varonce
;
1705 val
* var1
/* : String */;
1706 char* var2
/* : NativeString */;
1707 long var3
/* : Int */;
1708 val
* var4
/* : FlatString */;
1709 val
* var5
/* : Array[Text] */;
1710 val
* var_a
/* var a: Array[String] */;
1711 val
* var6
/* : Array[String] */;
1712 val
* var_a2
/* var a2: Array[String] */;
1713 val
* var_
/* var : Array[String] */;
1714 val
* var7
/* : ArrayIterator[nullable Object] */;
1715 val
* var_8
/* var : ArrayIterator[String] */;
1716 short int var9
/* : Bool */;
1717 val
* var10
/* : nullable Object */;
1718 val
* var_x
/* var x: String */;
1719 static val
* varonce11
;
1720 val
* var12
/* : String */;
1721 char* var13
/* : NativeString */;
1722 long var14
/* : Int */;
1723 val
* var15
/* : FlatString */;
1724 short int var16
/* : Bool */;
1725 short int var17
/* : Bool */;
1726 short int var18
/* : Bool */;
1727 static val
* varonce19
;
1728 val
* var20
/* : String */;
1729 char* var21
/* : NativeString */;
1730 long var22
/* : Int */;
1731 val
* var23
/* : FlatString */;
1732 short int var24
/* : Bool */;
1733 short int var25
/* : Bool */;
1734 short int var_26
/* var : Bool */;
1735 short int var27
/* : Bool */;
1736 short int var28
/* : Bool */;
1737 short int var29
/* : Bool */;
1738 short int var30
/* : Bool */;
1739 static val
* varonce31
;
1740 val
* var32
/* : String */;
1741 char* var33
/* : NativeString */;
1742 long var34
/* : Int */;
1743 val
* var35
/* : FlatString */;
1744 short int var36
/* : Bool */;
1745 short int var37
/* : Bool */;
1746 short int var_38
/* var : Bool */;
1747 short int var39
/* : Bool */;
1748 short int var40
/* : Bool */;
1749 short int var_41
/* var : Bool */;
1750 val
* var42
/* : nullable Object */;
1751 static val
* varonce43
;
1752 val
* var44
/* : String */;
1753 char* var45
/* : NativeString */;
1754 long var46
/* : Int */;
1755 val
* var47
/* : FlatString */;
1756 short int var48
/* : Bool */;
1757 short int var49
/* : Bool */;
1758 val
* var_other
/* var other: nullable Object */;
1759 short int var51
/* : Bool */;
1760 short int var52
/* : Bool */;
1761 short int var53
/* : Bool */;
1762 val
* var54
/* : nullable Object */;
1763 short int var57
/* : Bool */;
1764 static val
* varonce58
;
1765 val
* var59
/* : String */;
1766 char* var60
/* : NativeString */;
1767 long var61
/* : Int */;
1768 val
* var62
/* : FlatString */;
1769 short int var63
/* : Bool */;
1770 long var64
/* : Int */;
1771 long var66
/* : Int */;
1772 long var67
/* : Int */;
1773 short int var68
/* : Bool */;
1774 short int var69
/* : Bool */;
1775 short int var71
/* : Bool */;
1776 short int var_72
/* var : Bool */;
1777 val
* var73
/* : nullable Object */;
1778 static val
* varonce74
;
1779 val
* var75
/* : String */;
1780 char* var76
/* : NativeString */;
1781 long var77
/* : Int */;
1782 val
* var78
/* : FlatString */;
1783 short int var79
/* : Bool */;
1784 short int var80
/* : Bool */;
1785 static val
* varonce81
;
1786 val
* var82
/* : String */;
1787 char* var83
/* : NativeString */;
1788 long var84
/* : Int */;
1789 val
* var85
/* : FlatString */;
1790 static val
* varonce86
;
1791 val
* var87
/* : String */;
1792 char* var88
/* : NativeString */;
1793 long var89
/* : Int */;
1794 val
* var90
/* : FlatString */;
1795 val
* var91
/* : String */;
1801 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1806 var5
= string_search__Text__split_with(self
, var1
);
1809 var6
= NEW_array__Array(&type_array__Arraystring__String
);
1811 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Array[String]>*/;
1816 var7
= array__AbstractArrayRead__iterator(var_
);
1821 var9
= array__ArrayIterator__is_ok(var_8
);
1825 var10
= array__ArrayIterator__item(var_8
);
1833 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1838 var17
= string__FlatString___61d_61d(var_x
, var12
);
1850 var23
= string__NativeString__to_s_with_length(var21
, var22
);
1855 var25
= string__FlatString___61d_61d(var_x
, var20
);
1861 var27
= array__AbstractArrayRead__is_empty(var_a2
);
1877 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1882 var37
= string__FlatString___61d_61d(var_x
, var32
);
1888 var39
= array__AbstractArrayRead__is_empty(var_a2
);
1898 var42
= abstract_collection__SequenceRead__last(var_a2
);
1905 var47
= string__NativeString__to_s_with_length(var45
, var46
);
1910 { /* Inline kernel#Object#!= (var42,var44) on <var42:nullable Object(String)> */
1913 var52
= ((short int (*)(val
*, val
*))(var42
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var42
, var_other
) /* == on <var42:nullable Object(String)>*/;
1919 RET_LABEL50
:(void)0;
1929 var54
= array__AbstractArray__pop(var_a2
);
1935 array__AbstractArray__push(var_a2
, var_x
); /* Direct call array#AbstractArray#push on <var_a2:Array[String]>*/
1937 BREAK_label
: (void)0;
1939 array__ArrayIterator__next(var_8
); /* Direct call array#ArrayIterator#next on <var_8:ArrayIterator[String]>*/
1945 BREAK_label55
: (void)0;
1947 { /* Inline abstract_collection#Iterator#finish (var_8) on <var_8:ArrayIterator[String]> */
1948 RET_LABEL56
:(void)0;
1952 var57
= array__AbstractArrayRead__is_empty(var_a2
);
1960 var62
= string__NativeString__to_s_with_length(var60
, var61
);
1969 { /* Inline array#AbstractArrayRead#length (var_a2) on <var_a2:Array[String]> */
1970 var66
= var_a2
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_a2:Array[String]> */
1972 RET_LABEL65
:(void)0;
1977 { /* Inline kernel#Int#== (var64,var67) on <var64:Int> */
1978 var71
= var64
== var67
;
1981 RET_LABEL70
:(void)0;
1988 var73
= abstract_collection__SequenceRead__first(var_a2
);
1995 var78
= string__NativeString__to_s_with_length(var76
, var77
);
2000 var80
= string__FlatString___61d_61d(var73
, var75
);
2013 var85
= string__NativeString__to_s_with_length(var83
, var84
);
2026 var90
= string__NativeString__to_s_with_length(var88
, var89
);
2031 var91
= string__Collection__join(var_a2
, var87
);
2038 /* method file#String#simplify_path for (self: Object): String */
2039 val
* VIRTUAL_file__String__simplify_path(val
* self
) {
2040 val
* var
/* : String */;
2041 val
* var1
/* : String */;
2042 var1
= file__String__simplify_path(self
);
2047 /* method file#String#join_path for (self: String, String): String */
2048 val
* file__String__join_path(val
* self
, val
* p0
) {
2049 val
* var
/* : String */;
2050 val
* var_path
/* var path: String */;
2051 short int var1
/* : Bool */;
2052 short int var2
/* : Bool */;
2053 val
* var3
/* : SequenceRead[Char] */;
2054 val
* var5
/* : SequenceRead[Char] */;
2055 long var6
/* : Int */;
2056 val
* var7
/* : nullable Object */;
2057 char var8
/* : Char */;
2058 short int var9
/* : Bool */;
2059 short int var10
/* : Bool */;
2060 short int var12
/* : Bool */;
2061 char var13
/* : Char */;
2062 char var14
/* : Char */;
2063 char var15
/* : Char */;
2064 short int var16
/* : Bool */;
2065 short int var17
/* : Bool */;
2066 short int var19
/* : Bool */;
2067 val
* var20
/* : Array[Object] */;
2068 long var21
/* : Int */;
2069 val
* var22
/* : NativeArray[Object] */;
2070 val
* var23
/* : String */;
2071 static val
* varonce
;
2072 val
* var24
/* : String */;
2073 char* var25
/* : NativeString */;
2074 long var26
/* : Int */;
2075 val
* var27
/* : FlatString */;
2076 val
* var28
/* : Array[Object] */;
2077 long var29
/* : Int */;
2078 val
* var30
/* : NativeArray[Object] */;
2079 val
* var31
/* : String */;
2082 var1
= string__Text__is_empty(var_path
);
2090 var2
= string__Text__is_empty(self
);
2098 { /* Inline string#FlatString#chars (var_path) on <var_path:String> */
2099 var5
= var_path
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_path:String> */
2100 if (unlikely(var5
== NULL
)) {
2101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
2102 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
2111 var7
= ((val
* (*)(val
*, long))(var3
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var3
, var6
) /* [] on <var3:SequenceRead[Char]>*/;
2115 { /* Inline kernel#Char#== (var7,var8) on <var7:nullable Object(Char)> */
2116 var12
= (var7
!= NULL
) && (var7
->class == &class_kernel__Char
);
2118 var13
= ((struct instance_kernel__Char
*)var7
)->value
; /* autounbox from nullable Object to Char */;
2119 var12
= (var13
== var8
);
2123 RET_LABEL11
:(void)0;
2133 var14
= string__Text__last(self
);
2137 { /* Inline kernel#Char#== (var14,var15) on <var14:Char> */
2138 var19
= var14
== var15
;
2141 RET_LABEL18
:(void)0;
2146 var20
= NEW_array__Array(&type_array__Arraykernel__Object
);
2147 { /* var20 = array_instance Array[Object] */
2149 var22
= NEW_array__NativeArray(var21
, &type_array__NativeArraykernel__Object
);
2150 ((struct instance_array__NativeArray
*)var22
)->values
[0] = (val
*) self
;
2151 ((struct instance_array__NativeArray
*)var22
)->values
[1] = (val
*) var_path
;
2153 ((void (*)(val
*, val
*, long))(var20
->class->vft
[COLOR_array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
2157 var23
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
2168 var27
= string__NativeString__to_s_with_length(var25
, var26
);
2172 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
2173 { /* var28 = array_instance Array[Object] */
2175 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
2176 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) self
;
2177 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var24
;
2178 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var_path
;
2180 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
2184 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
2191 /* method file#String#join_path for (self: Object, String): String */
2192 val
* VIRTUAL_file__String__join_path(val
* self
, val
* p0
) {
2193 val
* var
/* : String */;
2194 val
* var1
/* : String */;
2195 var1
= file__String__join_path(self
, p0
);
2200 /* method file#String#/ for (self: String, String): String */
2201 val
* file__String___47d(val
* self
, val
* p0
) {
2202 val
* var
/* : String */;
2203 val
* var_path
/* var path: String */;
2204 val
* var1
/* : String */;
2207 var1
= file__String__join_path(self
, var_path
);
2214 /* method file#String#/ for (self: Object, String): String */
2215 val
* VIRTUAL_file__String___47d(val
* self
, val
* p0
) {
2216 val
* var
/* : String */;
2217 val
* var1
/* : String */;
2218 var1
= file__String___47d(self
, p0
);
2223 /* method file#String#relpath for (self: String, String): String */
2224 val
* file__String__relpath(val
* self
, val
* p0
) {
2225 val
* var
/* : String */;
2226 val
* var_dest
/* var dest: String */;
2227 val
* var1
/* : String */;
2228 val
* var_cwd
/* var cwd: String */;
2229 val
* var2
/* : String */;
2230 val
* var3
/* : String */;
2231 static val
* varonce
;
2232 val
* var4
/* : String */;
2233 char* var5
/* : NativeString */;
2234 long var6
/* : Int */;
2235 val
* var7
/* : FlatString */;
2236 val
* var8
/* : Array[Text] */;
2237 val
* var_from
/* var from: Array[String] */;
2238 val
* var9
/* : nullable Object */;
2239 short int var10
/* : Bool */;
2240 val
* var11
/* : nullable Object */;
2241 val
* var12
/* : String */;
2242 val
* var13
/* : String */;
2243 static val
* varonce14
;
2244 val
* var15
/* : String */;
2245 char* var16
/* : NativeString */;
2246 long var17
/* : Int */;
2247 val
* var18
/* : FlatString */;
2248 val
* var19
/* : Array[Text] */;
2249 val
* var_to
/* var to: Array[String] */;
2250 val
* var20
/* : nullable Object */;
2251 short int var21
/* : Bool */;
2252 val
* var22
/* : nullable Object */;
2253 short int var23
/* : Bool */;
2254 short int var24
/* : Bool */;
2255 short int var25
/* : Bool */;
2256 short int var26
/* : Bool */;
2257 short int var_
/* var : Bool */;
2258 short int var27
/* : Bool */;
2259 short int var28
/* : Bool */;
2260 short int var_29
/* var : Bool */;
2261 val
* var30
/* : nullable Object */;
2262 val
* var31
/* : nullable Object */;
2263 short int var32
/* : Bool */;
2264 short int var33
/* : Bool */;
2265 val
* var34
/* : nullable Object */;
2266 val
* var35
/* : nullable Object */;
2267 long var36
/* : Int */;
2268 long var38
/* : Int */;
2269 long var_from_len
/* var from_len: Int */;
2270 long var39
/* : Int */;
2271 short int var40
/* : Bool */;
2272 short int var41
/* : Bool */;
2273 short int var43
/* : Bool */;
2274 static val
* varonce44
;
2275 val
* var45
/* : String */;
2276 char* var46
/* : NativeString */;
2277 long var47
/* : Int */;
2278 val
* var48
/* : FlatString */;
2279 val
* var49
/* : String */;
2280 static val
* varonce50
;
2281 val
* var51
/* : String */;
2282 char* var52
/* : NativeString */;
2283 long var53
/* : Int */;
2284 val
* var54
/* : FlatString */;
2285 long var55
/* : Int */;
2286 long var56
/* : Int */;
2287 short int var58
/* : Bool */;
2290 const char* var_class_name
;
2291 long var59
/* : Int */;
2292 val
* var60
/* : String */;
2293 static val
* varonce61
;
2294 val
* var62
/* : String */;
2295 char* var63
/* : NativeString */;
2296 long var64
/* : Int */;
2297 val
* var65
/* : FlatString */;
2298 val
* var66
/* : String */;
2299 val
* var_up
/* var up: String */;
2300 short int var67
/* : Bool */;
2301 static val
* varonce68
;
2302 val
* var69
/* : String */;
2303 char* var70
/* : NativeString */;
2304 long var71
/* : Int */;
2305 val
* var72
/* : FlatString */;
2306 val
* var73
/* : String */;
2307 static val
* varonce74
;
2308 val
* var75
/* : String */;
2309 char* var76
/* : NativeString */;
2310 long var77
/* : Int */;
2311 val
* var78
/* : FlatString */;
2312 val
* var79
/* : String */;
2313 val
* var80
/* : String */;
2314 val
* var_res
/* var res: String */;
2317 var1
= file__Object__getcwd(self
);
2321 var2
= file__String___47d(var_cwd
, self
);
2324 var3
= file__String__simplify_path(var2
);
2331 var7
= string__NativeString__to_s_with_length(var5
, var6
);
2336 var8
= string_search__Text__split(var3
, var4
);
2340 var9
= abstract_collection__SequenceRead__last(var_from
);
2343 var10
= string__Text__is_empty(var9
);
2347 var11
= array__AbstractArray__pop(var_from
);
2352 var12
= file__String___47d(var_cwd
, var_dest
);
2355 var13
= file__String__simplify_path(var12
);
2362 var18
= string__NativeString__to_s_with_length(var16
, var17
);
2367 var19
= string_search__Text__split(var13
, var15
);
2371 var20
= abstract_collection__SequenceRead__last(var_to
);
2374 var21
= string__Text__is_empty(var20
);
2378 var22
= array__AbstractArray__pop(var_to
);
2384 var25
= array__AbstractArrayRead__is_empty(var_from
);
2390 var27
= array__AbstractArrayRead__is_empty(var_to
);
2400 var30
= abstract_collection__SequenceRead__first(var_from
);
2403 var31
= abstract_collection__SequenceRead__first(var_to
);
2406 var33
= string__FlatString___61d_61d(var30
, var31
);
2415 var34
= array__AbstractArray__shift(var_from
);
2418 var35
= array__AbstractArray__shift(var_to
);
2424 BREAK_label
: (void)0;
2426 { /* Inline array#AbstractArrayRead#length (var_from) on <var_from:Array[String]> */
2427 var38
= var_from
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_from:Array[String]> */
2429 RET_LABEL37
:(void)0;
2432 var_from_len
= var36
;
2435 { /* Inline kernel#Int#== (var_from_len,var39) on <var_from_len:Int> */
2436 var43
= var_from_len
== var39
;
2439 RET_LABEL42
:(void)0;
2449 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2454 var49
= string__Collection__join(var_to
, var45
);
2465 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2471 { /* Inline kernel#Int#- (var_from_len,var55) on <var_from_len:Int> */
2472 /* Covariant cast for argument 0 (i) <var55:Int> isa OTHER */
2473 /* <var55:Int> isa OTHER */
2474 var58
= 1; /* easy <var55:Int> isa OTHER*/
2475 if (unlikely(!var58
)) {
2476 var_class_name
= type_kernel__Int
.name
;
2477 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2478 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
2481 var59
= var_from_len
- var55
;
2484 RET_LABEL57
:(void)0;
2488 var60
= string__FlatString___42d(var51
, var56
);
2495 var65
= string__NativeString__to_s_with_length(var63
, var64
);
2500 var66
= string__FlatString___43d(var60
, var62
);
2504 var67
= array__AbstractArrayRead__is_empty(var_to
);
2516 var72
= string__NativeString__to_s_with_length(var70
, var71
);
2521 var73
= string__FlatString___43d(var_up
, var69
);
2528 var78
= string__NativeString__to_s_with_length(var76
, var77
);
2533 var79
= string__Collection__join(var_to
, var75
);
2536 var80
= string__FlatString___43d(var73
, var79
);
2544 /* method file#String#relpath for (self: Object, String): String */
2545 val
* VIRTUAL_file__String__relpath(val
* self
, val
* p0
) {
2546 val
* var
/* : String */;
2547 val
* var1
/* : String */;
2548 var1
= file__String__relpath(self
, p0
);
2553 /* method file#String#mkdir for (self: String) */
2554 void file__String__mkdir(val
* self
) {
2555 static val
* varonce
;
2556 val
* var
/* : String */;
2557 char* var1
/* : NativeString */;
2558 long var2
/* : Int */;
2559 val
* var3
/* : FlatString */;
2560 val
* var4
/* : Array[Text] */;
2561 val
* var_dirs
/* var dirs: Array[String] */;
2562 val
* var5
/* : FlatBuffer */;
2563 val
* var_path
/* var path: FlatBuffer */;
2564 short int var6
/* : Bool */;
2565 long var7
/* : Int */;
2566 val
* var8
/* : nullable Object */;
2567 short int var9
/* : Bool */;
2568 char var10
/* : Char */;
2569 val
* var_
/* var : Array[String] */;
2570 val
* var11
/* : ArrayIterator[nullable Object] */;
2571 val
* var_12
/* var : ArrayIterator[String] */;
2572 short int var13
/* : Bool */;
2573 val
* var14
/* : nullable Object */;
2574 val
* var_d
/* var d: String */;
2575 short int var15
/* : Bool */;
2576 char var16
/* : Char */;
2577 val
* var17
/* : String */;
2578 char* var18
/* : NativeString */;
2579 short int var19
/* : Bool */;
2580 short int var21
/* : Bool for extern */;
2586 var3
= string__NativeString__to_s_with_length(var1
, var2
);
2591 var4
= string_search__Text__split_with(self
, var
);
2594 var5
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
2596 ((void (*)(val
*))(var5
->class->vft
[COLOR_kernel__Object__init
]))(var5
) /* init on <var5:FlatBuffer>*/;
2600 var6
= array__AbstractArrayRead__is_empty(var_dirs
);
2608 var8
= array__Array___91d_93d(var_dirs
, var7
);
2611 var9
= string__Text__is_empty(var8
);
2616 string__FlatBuffer__add(var_path
, var10
); /* Direct call string#FlatBuffer#add on <var_path:FlatBuffer>*/
2622 var11
= array__AbstractArrayRead__iterator(var_
);
2627 var13
= array__ArrayIterator__is_ok(var_12
);
2631 var14
= array__ArrayIterator__item(var_12
);
2635 var15
= string__Text__is_empty(var_d
);
2642 string__FlatBuffer__append(var_path
, var_d
); /* Direct call string#FlatBuffer#append on <var_path:FlatBuffer>*/
2646 string__FlatBuffer__add(var_path
, var16
); /* Direct call string#FlatBuffer#add on <var_path:FlatBuffer>*/
2649 var17
= string__FlatBuffer__to_s(var_path
);
2652 var18
= string__FlatString__to_cstring(var17
);
2655 { /* Inline file#NativeString#file_mkdir (var18) on <var18:NativeString> */
2656 var21
= string_NativeString_NativeString_file_mkdir_0(var18
);
2659 RET_LABEL20
:(void)0;
2662 BREAK_label
: (void)0;
2664 array__ArrayIterator__next(var_12
); /* Direct call array#ArrayIterator#next on <var_12:ArrayIterator[String]>*/
2670 BREAK_label22
: (void)0;
2672 { /* Inline abstract_collection#Iterator#finish (var_12) on <var_12:ArrayIterator[String]> */
2673 RET_LABEL23
:(void)0;
2678 /* method file#String#mkdir for (self: Object) */
2679 void VIRTUAL_file__String__mkdir(val
* self
) {
2680 file__String__mkdir(self
); /* Direct call file#String#mkdir on <self:Object(String)>*/
2683 /* method file#String#file_extension for (self: String): nullable String */
2684 val
* file__String__file_extension(val
* self
) {
2685 val
* var
/* : nullable String */;
2686 val
* var1
/* : SequenceRead[Char] */;
2687 val
* var3
/* : SequenceRead[Char] */;
2688 char var4
/* : Char */;
2689 long var5
/* : Int */;
2690 val
* var6
/* : nullable Object */;
2691 long var_last_slash
/* var last_slash: Int */;
2692 long var7
/* : Int */;
2693 short int var8
/* : Bool */;
2694 short int var10
/* : Bool */;
2697 const char* var_class_name
;
2698 short int var11
/* : Bool */;
2699 long var12
/* : Int */;
2700 long var13
/* : Int */;
2701 short int var15
/* : Bool */;
2704 const char* var_class_name18
;
2705 long var19
/* : Int */;
2706 long var20
/* : Int */;
2707 long var22
/* : Int */;
2708 val
* var23
/* : String */;
2709 val
* var24
/* : null */;
2711 { /* Inline string#FlatString#chars (self) on <self:String> */
2712 var3
= self
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <self:String> */
2713 if (unlikely(var3
== NULL
)) {
2714 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
2715 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
2724 var6
= BOX_kernel__Char(var4
); /* autobox from Char to nullable Object */
2725 var5
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__last_index_of
]))(var1
, var6
) /* last_index_of on <var1:SequenceRead[Char]>*/;
2727 var_last_slash
= var5
;
2730 { /* Inline kernel#Int#> (var_last_slash,var7) on <var_last_slash:Int> */
2731 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
2732 /* <var7:Int> isa OTHER */
2733 var10
= 1; /* easy <var7:Int> isa OTHER*/
2734 if (unlikely(!var10
)) {
2735 var_class_name
= type_kernel__Int
.name
;
2736 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2737 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
2740 var11
= var_last_slash
> var7
;
2749 { /* Inline kernel#Int#+ (var_last_slash,var12) on <var_last_slash:Int> */
2750 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2751 /* <var12:Int> isa OTHER */
2752 var15
= 1; /* easy <var12:Int> isa OTHER*/
2753 if (unlikely(!var15
)) {
2754 var_class_name18
= type_kernel__Int
.name
;
2755 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
2756 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
2759 var19
= var_last_slash
+ var12
;
2762 RET_LABEL14
:(void)0;
2766 { /* Inline string#FlatText#length (self) on <self:String> */
2767 var22
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:String> */
2769 RET_LABEL21
:(void)0;
2773 var23
= string__FlatString__substring(self
, var13
, var20
);
2785 /* method file#String#file_extension for (self: Object): nullable String */
2786 val
* VIRTUAL_file__String__file_extension(val
* self
) {
2787 val
* var
/* : nullable String */;
2788 val
* var1
/* : nullable String */;
2789 var1
= file__String__file_extension(self
);
2794 /* method file#NativeString#file_exists for (self: NativeString): Bool */
2795 short int file__NativeString__file_exists(char* self
) {
2796 short int var
/* : Bool */;
2797 short int var1
/* : Bool for extern */;
2798 var1
= string_NativeString_NativeString_file_exists_0(self
);
2804 /* method file#NativeString#file_exists for (self: Object): Bool */
2805 short int VIRTUAL_file__NativeString__file_exists(val
* self
) {
2806 short int var
/* : Bool */;
2807 short int var1
/* : Bool */;
2808 short int var3
/* : Bool for extern */;
2809 char* var4
/* : NativeString */;
2810 { /* Inline file#NativeString#file_exists (self) on <self:Object(NativeString)> */
2811 var4
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
2812 var3
= string_NativeString_NativeString_file_exists_0(var4
);
2821 /* method file#NativeString#file_mkdir for (self: NativeString): Bool */
2822 short int file__NativeString__file_mkdir(char* self
) {
2823 short int var
/* : Bool */;
2824 short int var1
/* : Bool for extern */;
2825 var1
= string_NativeString_NativeString_file_mkdir_0(self
);
2831 /* method file#NativeString#file_mkdir for (self: Object): Bool */
2832 short int VIRTUAL_file__NativeString__file_mkdir(val
* self
) {
2833 short int var
/* : Bool */;
2834 short int var1
/* : Bool */;
2835 short int var3
/* : Bool for extern */;
2836 char* var4
/* : NativeString */;
2837 { /* Inline file#NativeString#file_mkdir (self) on <self:Object(NativeString)> */
2838 var4
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
2839 var3
= string_NativeString_NativeString_file_mkdir_0(var4
);
2848 /* method file#NativeString#file_realpath for (self: NativeString): NativeString */
2849 char* file__NativeString__file_realpath(char* self
) {
2850 char* var
/* : NativeString */;
2851 void* var1
/* : NativeString for extern */;
2852 var1
= file_NativeString_realpath(self
);
2858 /* method file#NativeString#file_realpath for (self: Object): NativeString */
2859 char* VIRTUAL_file__NativeString__file_realpath(val
* self
) {
2860 char* var
/* : NativeString */;
2861 char* var1
/* : NativeString */;
2862 void* var3
/* : NativeString for extern */;
2863 char* var4
/* : NativeString */;
2864 { /* Inline file#NativeString#file_realpath (self) on <self:Object(NativeString)> */
2865 var4
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
2866 var3
= file_NativeString_realpath(var4
);
2875 /* method file#NativeFile#io_read for (self: NativeFile, NativeString, Int): Int */
2876 long file__NativeFile__io_read(val
* self
, char* p0
, long p1
) {
2877 long var
/* : Int */;
2878 long var1
/* : Int for extern */;
2879 void* var2
/* : NativeFile for extern */;
2880 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* unboxing NativeFile */
2881 var1
= file_NativeFile_NativeFile_io_read_2(var2
, p0
, p1
);
2887 /* method file#NativeFile#io_read for (self: Object, NativeString, Int): Int */
2888 long VIRTUAL_file__NativeFile__io_read(val
* self
, char* p0
, long p1
) {
2889 long var
/* : Int */;
2890 long var1
/* : Int */;
2891 long var3
/* : Int for extern */;
2892 void* var4
/* : NativeFile for extern */;
2893 { /* Inline file#NativeFile#io_read (self,p0,p1) on <self:Object(NativeFile)> */
2894 var4
= ((struct instance_kernel__Pointer
*)self
)->value
; /* unboxing Object */
2895 var3
= file_NativeFile_NativeFile_io_read_2(var4
, p0
, p1
);
2904 /* method file#NativeFile#io_write for (self: NativeFile, NativeString, Int): Int */
2905 long file__NativeFile__io_write(val
* self
, char* p0
, long p1
) {
2906 long var
/* : Int */;
2907 long var1
/* : Int for extern */;
2908 void* var2
/* : NativeFile for extern */;
2909 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* unboxing NativeFile */
2910 var1
= file_NativeFile_NativeFile_io_write_2(var2
, p0
, p1
);
2916 /* method file#NativeFile#io_write for (self: Object, NativeString, Int): Int */
2917 long VIRTUAL_file__NativeFile__io_write(val
* self
, char* p0
, long p1
) {
2918 long var
/* : Int */;
2919 long var1
/* : Int */;
2920 long var3
/* : Int for extern */;
2921 void* var4
/* : NativeFile for extern */;
2922 { /* Inline file#NativeFile#io_write (self,p0,p1) on <self:Object(NativeFile)> */
2923 var4
= ((struct instance_kernel__Pointer
*)self
)->value
; /* unboxing Object */
2924 var3
= file_NativeFile_NativeFile_io_write_2(var4
, p0
, p1
);
2933 /* method file#NativeFile#io_close for (self: NativeFile): Int */
2934 long file__NativeFile__io_close(val
* self
) {
2935 long var
/* : Int */;
2936 long var1
/* : Int for extern */;
2937 void* var2
/* : NativeFile for extern */;
2938 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* unboxing NativeFile */
2939 var1
= file_NativeFile_NativeFile_io_close_0(var2
);
2945 /* method file#NativeFile#io_close for (self: Object): Int */
2946 long VIRTUAL_file__NativeFile__io_close(val
* self
) {
2947 long var
/* : Int */;
2948 long var1
/* : Int */;
2949 long var3
/* : Int for extern */;
2950 void* var4
/* : NativeFile for extern */;
2951 { /* Inline file#NativeFile#io_close (self) on <self:Object(NativeFile)> */
2952 var4
= ((struct instance_kernel__Pointer
*)self
)->value
; /* unboxing Object */
2953 var3
= file_NativeFile_NativeFile_io_close_0(var4
);
2962 /* method file#NativeFile#io_open_read for (self: NativeFile, NativeString): NativeFile */
2963 val
* file__NativeFile__io_open_read(val
* self
, char* p0
) {
2964 val
* var
/* : NativeFile */;
2965 void* var1
/* : NativeFile for extern */;
2966 val
* var2
/* : NativeFile */;
2967 var1
= file_NativeFileCapable_NativeFileCapable_io_open_read_1(p0
);
2968 var2
= BOX_kernel__Pointer(var1
); /* boxing NativeFile */
2969 var2
->type
= &type_file__NativeFile
;
2970 var2
->class = &class_file__NativeFile
;
2976 /* method file#NativeFile#io_open_read for (self: Object, NativeString): NativeFile */
2977 val
* VIRTUAL_file__NativeFile__io_open_read(val
* self
, char* p0
) {
2978 val
* var
/* : NativeFile */;
2979 val
* var1
/* : NativeFile */;
2980 var1
= file__NativeFile__io_open_read(self
, p0
);
2985 /* method file#NativeFile#io_open_write for (self: NativeFile, NativeString): NativeFile */
2986 val
* file__NativeFile__io_open_write(val
* self
, char* p0
) {
2987 val
* var
/* : NativeFile */;
2988 void* var1
/* : NativeFile for extern */;
2989 val
* var2
/* : NativeFile */;
2990 var1
= file_NativeFileCapable_NativeFileCapable_io_open_write_1(p0
);
2991 var2
= BOX_kernel__Pointer(var1
); /* boxing NativeFile */
2992 var2
->type
= &type_file__NativeFile
;
2993 var2
->class = &class_file__NativeFile
;
2999 /* method file#NativeFile#io_open_write for (self: Object, NativeString): NativeFile */
3000 val
* VIRTUAL_file__NativeFile__io_open_write(val
* self
, char* p0
) {
3001 val
* var
/* : NativeFile */;
3002 val
* var1
/* : NativeFile */;
3003 var1
= file__NativeFile__io_open_write(self
, p0
);
3008 /* method file#NativeFile#native_stdin for (self: NativeFile): NativeFile */
3009 val
* file__NativeFile__native_stdin(val
* self
) {
3010 val
* var
/* : NativeFile */;
3011 void* var1
/* : NativeFile for extern */;
3012 val
* var2
/* : NativeFile */;
3013 var1
= file_NativeFileCapable_NativeFileCapable_native_stdin_0();
3014 var2
= BOX_kernel__Pointer(var1
); /* boxing NativeFile */
3015 var2
->type
= &type_file__NativeFile
;
3016 var2
->class = &class_file__NativeFile
;
3022 /* method file#NativeFile#native_stdin for (self: Object): NativeFile */
3023 val
* VIRTUAL_file__NativeFile__native_stdin(val
* self
) {
3024 val
* var
/* : NativeFile */;
3025 val
* var1
/* : NativeFile */;
3026 var1
= file__NativeFile__native_stdin(self
);
3031 /* method file#NativeFile#native_stdout for (self: NativeFile): NativeFile */
3032 val
* file__NativeFile__native_stdout(val
* self
) {
3033 val
* var
/* : NativeFile */;
3034 void* var1
/* : NativeFile for extern */;
3035 val
* var2
/* : NativeFile */;
3036 var1
= file_NativeFileCapable_NativeFileCapable_native_stdout_0();
3037 var2
= BOX_kernel__Pointer(var1
); /* boxing NativeFile */
3038 var2
->type
= &type_file__NativeFile
;
3039 var2
->class = &class_file__NativeFile
;
3045 /* method file#NativeFile#native_stdout for (self: Object): NativeFile */
3046 val
* VIRTUAL_file__NativeFile__native_stdout(val
* self
) {
3047 val
* var
/* : NativeFile */;
3048 val
* var1
/* : NativeFile */;
3049 var1
= file__NativeFile__native_stdout(self
);
3054 /* method file#NativeFile#native_stderr for (self: NativeFile): NativeFile */
3055 val
* file__NativeFile__native_stderr(val
* self
) {
3056 val
* var
/* : NativeFile */;
3057 void* var1
/* : NativeFile for extern */;
3058 val
* var2
/* : NativeFile */;
3059 var1
= file_NativeFileCapable_NativeFileCapable_native_stderr_0();
3060 var2
= BOX_kernel__Pointer(var1
); /* boxing NativeFile */
3061 var2
->type
= &type_file__NativeFile
;
3062 var2
->class = &class_file__NativeFile
;
3068 /* method file#NativeFile#native_stderr for (self: Object): NativeFile */
3069 val
* VIRTUAL_file__NativeFile__native_stderr(val
* self
) {
3070 val
* var
/* : NativeFile */;
3071 val
* var1
/* : NativeFile */;
3072 var1
= file__NativeFile__native_stderr(self
);
3077 /* method file#Sys#stdout for (self: Sys): OStream */
3078 val
* file__Sys__stdout(val
* self
) {
3079 val
* var
/* : OStream */;
3080 val
* var1
/* : OStream */;
3081 var1
= self
->attrs
[COLOR_file__Sys___stdout
].val
; /* _stdout on <self:Sys> */
3082 if (unlikely(var1
== NULL
)) {
3083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout");
3084 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 634);
3091 /* method file#Sys#stdout for (self: Object): OStream */
3092 val
* VIRTUAL_file__Sys__stdout(val
* self
) {
3093 val
* var
/* : OStream */;
3094 val
* var1
/* : OStream */;
3095 val
* var3
/* : OStream */;
3096 { /* Inline file#Sys#stdout (self) on <self:Object(Sys)> */
3097 var3
= self
->attrs
[COLOR_file__Sys___stdout
].val
; /* _stdout on <self:Object(Sys)> */
3098 if (unlikely(var3
== NULL
)) {
3099 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout");
3100 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 634);
3110 /* method file#Sys#stderr for (self: Sys): OStream */
3111 val
* file__Sys__stderr(val
* self
) {
3112 val
* var
/* : OStream */;
3113 val
* var1
/* : OStream */;
3114 var1
= self
->attrs
[COLOR_file__Sys___stderr
].val
; /* _stderr on <self:Sys> */
3115 if (unlikely(var1
== NULL
)) {
3116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr");
3117 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 637);
3124 /* method file#Sys#stderr for (self: Object): OStream */
3125 val
* VIRTUAL_file__Sys__stderr(val
* self
) {
3126 val
* var
/* : OStream */;
3127 val
* var1
/* : OStream */;
3128 val
* var3
/* : OStream */;
3129 { /* Inline file#Sys#stderr (self) on <self:Object(Sys)> */
3130 var3
= self
->attrs
[COLOR_file__Sys___stderr
].val
; /* _stderr on <self:Object(Sys)> */
3131 if (unlikely(var3
== NULL
)) {
3132 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr");
3133 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 637);
3143 /* method file#Object#printn for (self: Object, Array[Object]) */
3144 void file__Object__printn(val
* self
, val
* p0
) {
3145 val
* var_objects
/* var objects: Array[Object] */;
3146 val
* var
/* : Sys */;
3147 val
* var2
/* : Sys */;
3148 val
* var3
/* : OStream */;
3149 val
* var5
/* : OStream */;
3150 val
* var6
/* : String */;
3153 { /* Inline kernel#Object#sys (self) on <self:Object> */
3161 { /* Inline file#Sys#stdout (var) on <var:Sys> */
3162 var5
= var
->attrs
[COLOR_file__Sys___stdout
].val
; /* _stdout on <var:Sys> */
3163 if (unlikely(var5
== NULL
)) {
3164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout");
3165 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 634);
3173 var6
= string__Array__to_s(var_objects
);
3176 file__OFStream__write(var3
, var6
); /* Direct call file#OFStream#write on <var3:OStream>*/
3180 /* method file#Object#printn for (self: Object, Array[Object]) */
3181 void VIRTUAL_file__Object__printn(val
* self
, val
* p0
) {
3182 file__Object__printn(self
, p0
); /* Direct call file#Object#printn on <self:Object>*/
3185 /* method file#Object#print for (self: Object, Object) */
3186 void file__Object__print(val
* self
, val
* p0
) {
3187 val
* var_object
/* var object: Object */;
3188 val
* var
/* : Sys */;
3189 val
* var2
/* : Sys */;
3190 val
* var3
/* : OStream */;
3191 val
* var5
/* : OStream */;
3192 val
* var6
/* : String */;
3193 val
* var7
/* : Sys */;
3194 val
* var9
/* : Sys */;
3195 val
* var10
/* : OStream */;
3196 val
* var12
/* : OStream */;
3197 static val
* varonce
;
3198 val
* var13
/* : String */;
3199 char* var14
/* : NativeString */;
3200 long var15
/* : Int */;
3201 val
* var16
/* : FlatString */;
3204 { /* Inline kernel#Object#sys (self) on <self:Object> */
3212 { /* Inline file#Sys#stdout (var) on <var:Sys> */
3213 var5
= var
->attrs
[COLOR_file__Sys___stdout
].val
; /* _stdout on <var:Sys> */
3214 if (unlikely(var5
== NULL
)) {
3215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout");
3216 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 634);
3224 var6
= ((val
* (*)(val
*))(var_object
->class->vft
[COLOR_string__Object__to_s
]))(var_object
) /* to_s on <var_object:Object>*/;
3227 file__OFStream__write(var3
, var6
); /* Direct call file#OFStream#write on <var3:OStream>*/
3230 { /* Inline kernel#Object#sys (self) on <self:Object> */
3238 { /* Inline file#Sys#stdout (var7) on <var7:Sys> */
3239 var12
= var7
->attrs
[COLOR_file__Sys___stdout
].val
; /* _stdout on <var7:Sys> */
3240 if (unlikely(var12
== NULL
)) {
3241 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout");
3242 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 634);
3246 RET_LABEL11
:(void)0;
3254 var16
= string__NativeString__to_s_with_length(var14
, var15
);
3259 file__OFStream__write(var10
, var13
); /* Direct call file#OFStream#write on <var10:OStream>*/
3263 /* method file#Object#print for (self: Object, Object) */
3264 void VIRTUAL_file__Object__print(val
* self
, val
* p0
) {
3265 file__Object__print(self
, p0
); /* Direct call file#Object#print on <self:Object>*/
3268 /* method file#Object#getcwd for (self: Object): String */
3269 val
* file__Object__getcwd(val
* self
) {
3270 val
* var
/* : String */;
3271 char* var1
/* : NativeString */;
3272 void* var3
/* : NativeString for extern */;
3273 val
* var4
/* : String */;
3275 { /* Inline file#Object#file_getcwd (self) on <self:Object> */
3276 var3
= string_NativeString_NativeString_file_getcwd_0(self
);
3283 var4
= string__NativeString__to_s(var1
);
3290 /* method file#Object#getcwd for (self: Object): String */
3291 val
* VIRTUAL_file__Object__getcwd(val
* self
) {
3292 val
* var
/* : String */;
3293 val
* var1
/* : String */;
3294 var1
= file__Object__getcwd(self
);
3299 /* method file#Object#file_getcwd for (self: Object): NativeString */
3300 char* file__Object__file_getcwd(val
* self
) {
3301 char* var
/* : NativeString */;
3302 void* var1
/* : NativeString for extern */;
3303 var1
= string_NativeString_NativeString_file_getcwd_0(self
);
3309 /* method file#Object#file_getcwd for (self: Object): NativeString */
3310 char* VIRTUAL_file__Object__file_getcwd(val
* self
) {
3311 char* var
/* : NativeString */;
3312 char* var1
/* : NativeString */;
3313 void* var3
/* : NativeString for extern */;
3314 { /* Inline file#Object#file_getcwd (self) on <self:Object> */
3315 var3
= string_NativeString_NativeString_file_getcwd_0(self
);