1 #include "core__file.sep.0.h"
2 /* method file#FileStream#path for (self: FileStream): nullable String */
3 val
* core___core__FileStream___path(val
* self
) {
4 val
* var
/* : nullable String */;
5 val
* var1
/* : nullable String */;
6 var1
= self
->attrs
[COLOR_core__file__FileStream___path
].val
; /* _path on <self:FileStream> */
11 /* method file#FileStream#path= for (self: FileStream, nullable String) */
12 void core___core__FileStream___path_61d(val
* self
, val
* p0
) {
13 self
->attrs
[COLOR_core__file__FileStream___path
].val
= p0
; /* _path on <self:FileStream> */
16 /* method file#FileStream#close for (self: FileStream) */
17 void core___core__FileStream___core__stream__Stream__close(val
* self
) {
18 val
* var
/* : nullable NativeFile */;
19 short int var1
/* : Bool */;
20 short int var2
/* : Bool */;
21 val
* var_other
/* var other: nullable Object */;
22 short int var4
/* : Bool */;
23 short int var6
/* : Bool */;
24 val
* var7
/* : nullable NativeFile */;
25 short int var8
/* : Bool */;
26 short int var10
/* : Bool */;
27 void* var11
/* : Pointer for extern */;
28 val
* var12
/* : nullable IOError */;
29 val
* var14
/* : nullable IOError */;
30 short int var15
/* : Bool */;
31 short int var16
/* : Bool */;
32 val
* var_other18
/* var other: nullable Object */;
33 short int var19
/* : Bool */;
34 short int var20
/* : Bool */;
35 val
* var21
/* : IOError */;
37 val
* var22
/* : String */;
38 char* var23
/* : NativeString */;
39 val
* var24
/* : String */;
40 val
* var26
/* : nullable NativeFile */;
41 long var27
/* : Int */;
42 long var29
/* : Int */;
43 void* var30
/* : NativeFile for extern */;
44 long var_i
/* var i: Int */;
45 short int var31
/* : Bool */;
46 short int var33
/* : Bool */;
47 short int var34
/* : Bool */;
48 val
* var35
/* : IOError */;
49 val
* var37
/* : NativeArray[String] */;
50 static val
* varonce36
;
51 static val
* varonce38
;
52 val
* var39
/* : String */;
53 char* var40
/* : NativeString */;
54 val
* var41
/* : String */;
55 val
* var42
/* : Sys */;
56 val
* var44
/* : Sys */;
57 long var45
/* : Int */;
58 long var47
/* : Int */;
59 val
* var48
/* : String */;
60 val
* var49
/* : String */;
61 var
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileStream> */
63 var1
= 1; /* is null */
65 var1
= 0; /* arg is null but recv is not */
68 { /* Inline kernel#Object#== (var,((val*)NULL)) on <var:nullable NativeFile> */
69 var_other
= ((val
*)NULL
);
71 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable NativeFile(NativeFile)> */
72 var6
= var
== var_other
;
88 var7
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileStream> */
90 PRINT_ERROR("Runtime error: %s", "Receiver is null");
91 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 63);
94 { /* Inline kernel#Pointer#address_is_null (var7) on <var7:nullable NativeFile> */
95 var11
= ((struct instance_core__Pointer
*)var7
)->value
; /* unboxing nullable NativeFile */
96 var10
= kernel___Pointer_address_is_null___impl(var11
);
104 { /* Inline stream#Stream#last_error (self) on <self:FileStream> */
105 var14
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileStream> */
111 var15
= 0; /* is null */
113 var15
= 1; /* arg is null and recv is not */
116 { /* Inline kernel#Object#!= (var12,((val*)NULL)) on <var12:nullable IOError> */
117 var_other18
= ((val
*)NULL
);
119 var19
= ((short int(*)(val
* self
, val
* p0
))(var12
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var12
, var_other18
); /* == on <var12:nullable IOError(IOError)>*/
132 var21
= NEW_core__IOError(&type_core__IOError
);
133 if (likely(varonce
!=NULL
)) {
136 var23
= "Cannot close unopened file";
137 var24
= core__flat___NativeString___to_s_full(var23
, 26l, 26l);
142 ((void(*)(val
* self
, val
* p0
))(var21
->class->vft
[COLOR_core__error__Error__message_61d
]))(var21
, var22
); /* message= on <var21:IOError>*/
145 ((void(*)(val
* self
))(var21
->class->vft
[COLOR_core__kernel__Object__init
]))(var21
); /* init on <var21:IOError>*/
148 { /* Inline stream#Stream#last_error= (self,var21) on <self:FileStream> */
149 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var21
; /* _last_error on <self:FileStream> */
156 var26
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileStream> */
158 PRINT_ERROR("Runtime error: %s", "Receiver is null");
159 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 68);
162 { /* Inline file#NativeFile#io_close (var26) on <var26:nullable NativeFile> */
163 var30
= ((struct instance_core__Pointer
*)var26
)->value
; /* unboxing nullable NativeFile */
164 var29
= file___NativeFile_io_close___impl(var30
);
172 { /* Inline kernel#Int#!= (var_i,0l) on <var_i:Int> */
181 var35
= NEW_core__IOError(&type_core__IOError
);
182 if (unlikely(varonce36
==NULL
)) {
183 var37
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
184 if (likely(varonce38
!=NULL
)) {
187 var40
= "Close failed due to error ";
188 var41
= core__flat___NativeString___to_s_full(var40
, 26l, 26l);
192 ((struct instance_core__NativeArray
*)var37
)->values
[0]=var39
;
198 { /* Inline kernel#Object#sys (self) on <self:FileStream> */
206 { /* Inline kernel#Sys#errno (var42) on <var42:Sys> */
207 struct nitni_instance
* var_for_c_0
;
208 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
209 var_for_c_0
->value
= var42
;
210 var47
= kernel___Sys_errno___impl(var_for_c_0
);
217 var48
= core__abstract_text___Int___strerror(var45
);
219 ((struct instance_core__NativeArray
*)var37
)->values
[1]=var48
;
221 var49
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
225 ((void(*)(val
* self
, val
* p0
))(var35
->class->vft
[COLOR_core__error__Error__message_61d
]))(var35
, var49
); /* message= on <var35:IOError>*/
228 ((void(*)(val
* self
))(var35
->class->vft
[COLOR_core__kernel__Object__init
]))(var35
); /* init on <var35:IOError>*/
231 { /* Inline stream#Stream#last_error= (self,var35) on <self:FileStream> */
232 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var35
; /* _last_error on <self:FileStream> */
238 self
->attrs
[COLOR_core__file__FileStream___file
].val
= ((val
*)NULL
); /* _file on <self:FileStream> */
241 /* method file#FileStream#set_buffering_mode for (self: FileStream, Int, Int) */
242 void core___core__FileStream___set_buffering_mode(val
* self
, long p0
, long p1
) {
243 long var_buf_size
/* var buf_size: Int */;
244 long var_mode
/* var mode: Int */;
245 short int var
/* : Bool */;
246 short int var2
/* : Bool */;
249 const char* var_class_name
;
250 short int var3
/* : Bool */;
251 val
* var4
/* : nullable NativeFile */;
252 long var5
/* : Int */;
253 long var7
/* : Int */;
254 void* var8
/* : NativeFile for extern */;
255 short int var9
/* : Bool */;
256 short int var11
/* : Bool */;
257 short int var12
/* : Bool */;
258 val
* var13
/* : IOError */;
259 val
* var14
/* : NativeArray[String] */;
261 static val
* varonce15
;
262 val
* var16
/* : String */;
263 char* var17
/* : NativeString */;
264 val
* var18
/* : String */;
265 val
* var19
/* : Sys */;
266 val
* var21
/* : Sys */;
267 long var22
/* : Int */;
268 long var24
/* : Int */;
269 val
* var25
/* : String */;
270 val
* var26
/* : String */;
274 { /* Inline kernel#Int#<= (var_buf_size,0l) on <var_buf_size:Int> */
275 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
276 /* <0l:Int> isa OTHER */
277 var2
= 1; /* easy <0l:Int> isa OTHER*/
278 if (unlikely(!var2
)) {
279 var_class_name
= type_core__Int
.name
;
280 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
281 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
284 var3
= var_buf_size
<= 0l;
294 var4
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileStream> */
296 PRINT_ERROR("Runtime error: %s", "Receiver is null");
297 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 86);
300 { /* Inline file#NativeFile#set_buffering_type (var4,var_buf_size,var_mode) on <var4:nullable NativeFile> */
301 var8
= ((struct instance_core__Pointer
*)var4
)->value
; /* unboxing nullable NativeFile */
302 var7
= file___NativeFile_set_buffering_type___impl(var8
, var_buf_size
, var_mode
);
309 { /* Inline kernel#Int#!= (var5,0l) on <var5:Int> */
318 var13
= NEW_core__IOError(&type_core__IOError
);
319 if (unlikely(varonce
==NULL
)) {
320 var14
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
321 if (likely(varonce15
!=NULL
)) {
324 var17
= "Error while changing buffering type for FileStream, returned error ";
325 var18
= core__flat___NativeString___to_s_full(var17
, 67l, 67l);
329 ((struct instance_core__NativeArray
*)var14
)->values
[0]=var16
;
335 { /* Inline kernel#Object#sys (self) on <self:FileStream> */
343 { /* Inline kernel#Sys#errno (var19) on <var19:Sys> */
344 struct nitni_instance
* var_for_c_0
;
345 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
346 var_for_c_0
->value
= var19
;
347 var24
= kernel___Sys_errno___impl(var_for_c_0
);
354 var25
= core__abstract_text___Int___strerror(var22
);
356 ((struct instance_core__NativeArray
*)var14
)->values
[1]=var25
;
358 var26
= ((val
*(*)(val
* self
))(var14
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var14
); /* native_to_s on <var14:NativeArray[String]>*/
362 ((void(*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_core__error__Error__message_61d
]))(var13
, var26
); /* message= on <var13:IOError>*/
365 ((void(*)(val
* self
))(var13
->class->vft
[COLOR_core__kernel__Object__init
]))(var13
); /* init on <var13:IOError>*/
368 { /* Inline stream#Stream#last_error= (self,var13) on <self:FileStream> */
369 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var13
; /* _last_error on <self:FileStream> */
377 /* method file#FileReader#close for (self: FileReader) */
378 void core___core__FileReader___core__stream__Stream__close(val
* self
) {
380 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__FileReader___core__stream__Stream__close
]))(self
); /* close on <self:FileReader>*/
383 core___core__BufferedReader___buffer_reset(self
); /* Direct call stream#BufferedReader#buffer_reset on <self:FileReader>*/
386 { /* Inline file#FileReader#end_reached= (self,1) on <self:FileReader> */
387 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
393 /* method file#FileReader#fill_buffer for (self: FileReader) */
394 void core___core__FileReader___core__stream__BufferedReader__fill_buffer(val
* self
) {
395 val
* var
/* : nullable NativeFile */;
396 char* var1
/* : NativeString */;
397 long var2
/* : Int */;
398 long var3
/* : Int */;
399 long var5
/* : Int */;
400 void* var6
/* : NativeFile for extern */;
401 long var_nb
/* var nb: Int */;
402 short int var7
/* : Bool */;
403 val
* var8
/* : nullable IOError */;
404 val
* var10
/* : nullable IOError */;
405 short int var11
/* : Bool */;
406 short int var12
/* : Bool */;
407 val
* var_other
/* var other: nullable Object */;
408 short int var14
/* : Bool */;
409 short int var16
/* : Bool */;
410 short int var_
/* var : Bool */;
411 val
* var17
/* : nullable NativeFile */;
412 short int var18
/* : Bool */;
413 short int var20
/* : Bool */;
414 void* var21
/* : NativeFile for extern */;
415 val
* var22
/* : IOError */;
416 val
* var23
/* : NativeArray[String] */;
418 static val
* varonce24
;
419 val
* var25
/* : String */;
420 char* var26
/* : NativeString */;
421 val
* var27
/* : String */;
422 static val
* varonce28
;
423 val
* var29
/* : String */;
424 char* var30
/* : NativeString */;
425 val
* var31
/* : String */;
426 val
* var32
/* : nullable String */;
427 val
* var34
/* : nullable String */;
428 val
* var35
/* : Sys */;
429 val
* var37
/* : Sys */;
430 long var38
/* : Int */;
431 long var40
/* : Int */;
432 val
* var41
/* : String */;
433 val
* var42
/* : String */;
434 short int var45
/* : Bool */;
435 short int var47
/* : Bool */;
438 const char* var_class_name
;
439 short int var48
/* : Bool */;
440 var
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileReader> */
441 var1
= self
->attrs
[COLOR_core__stream__BufferedReader___buffer
].str
; /* _buffer on <self:FileReader> */
442 var2
= self
->attrs
[COLOR_core__stream__BufferedReader___buffer_capacity
].l
; /* _buffer_capacity on <self:FileReader> */
444 PRINT_ERROR("Runtime error: %s", "Receiver is null");
445 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 129);
448 { /* Inline file#NativeFile#io_read (var,var1,var2) on <var:nullable NativeFile> */
449 var6
= ((struct instance_core__Pointer
*)var
)->value
; /* unboxing nullable NativeFile */
450 var5
= file___NativeFile_io_read___impl(var6
, var1
, var2
);
458 { /* Inline stream#Stream#last_error (self) on <self:FileReader> */
459 var10
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileReader> */
465 var11
= 1; /* is null */
467 var11
= 0; /* arg is null but recv is not */
470 { /* Inline kernel#Object#== (var8,((val*)NULL)) on <var8:nullable IOError> */
471 var_other
= ((val
*)NULL
);
473 { /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable IOError(IOError)> */
474 var16
= var8
== var_other
;
488 var17
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileReader> */
490 PRINT_ERROR("Runtime error: %s", "Receiver is null");
491 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 130);
494 { /* Inline file#NativeFile#ferror (var17) on <var17:nullable NativeFile> */
495 var21
= ((struct instance_core__Pointer
*)var17
)->value
; /* unboxing nullable NativeFile */
496 var20
= file___NativeFile_ferror___impl(var21
);
507 var22
= NEW_core__IOError(&type_core__IOError
);
508 if (unlikely(varonce
==NULL
)) {
509 var23
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
510 if (likely(varonce24
!=NULL
)) {
513 var26
= "Cannot read `";
514 var27
= core__flat___NativeString___to_s_full(var26
, 13l, 13l);
518 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var25
;
519 if (likely(varonce28
!=NULL
)) {
523 var31
= core__flat___NativeString___to_s_full(var30
, 3l, 3l);
527 ((struct instance_core__NativeArray
*)var23
)->values
[2]=var29
;
533 { /* Inline file#FileStream#path (self) on <self:FileReader> */
534 var34
= self
->attrs
[COLOR_core__file__FileStream___path
].val
; /* _path on <self:FileReader> */
539 if (unlikely(var32
== NULL
)) {
540 PRINT_ERROR("Runtime error: %s", "Cast failed");
541 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 131);
544 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var32
;
546 { /* Inline kernel#Object#sys (self) on <self:FileReader> */
554 { /* Inline kernel#Sys#errno (var35) on <var35:Sys> */
555 struct nitni_instance
* var_for_c_0
;
556 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
557 var_for_c_0
->value
= var35
;
558 var40
= kernel___Sys_errno___impl(var_for_c_0
);
565 var41
= core__abstract_text___Int___strerror(var38
);
567 ((struct instance_core__NativeArray
*)var23
)->values
[3]=var41
;
569 var42
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
573 ((void(*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_core__error__Error__message_61d
]))(var22
, var42
); /* message= on <var22:IOError>*/
576 ((void(*)(val
* self
))(var22
->class->vft
[COLOR_core__kernel__Object__init
]))(var22
); /* init on <var22:IOError>*/
579 { /* Inline stream#Stream#last_error= (self,var22) on <self:FileReader> */
580 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var22
; /* _last_error on <self:FileReader> */
585 { /* Inline file#FileReader#end_reached= (self,1) on <self:FileReader> */
586 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
593 { /* Inline kernel#Int#<= (var_nb,0l) on <var_nb:Int> */
594 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
595 /* <0l:Int> isa OTHER */
596 var47
= 1; /* easy <0l:Int> isa OTHER*/
597 if (unlikely(!var47
)) {
598 var_class_name
= type_core__Int
.name
;
599 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
600 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
603 var48
= var_nb
<= 0l;
611 { /* Inline file#FileReader#end_reached= (self,1) on <self:FileReader> */
612 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
619 self
->attrs
[COLOR_core__stream__BufferedReader___buffer_length
].l
= var_nb
; /* _buffer_length on <self:FileReader> */
620 self
->attrs
[COLOR_core__stream__BufferedReader___buffer_pos
].l
= 0l; /* _buffer_pos on <self:FileReader> */
623 /* method file#FileReader#end_reached for (self: FileReader): Bool */
624 short int core___core__FileReader___core__stream__BufferedReader__end_reached(val
* self
) {
625 short int var
/* : Bool */;
626 short int var1
/* : Bool */;
627 var1
= self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
; /* _end_reached on <self:FileReader> */
632 /* method file#FileReader#end_reached= for (self: FileReader, Bool) */
633 void core___core__FileReader___end_reached_61d(val
* self
, short int p0
) {
634 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= p0
; /* _end_reached on <self:FileReader> */
637 /* method file#FileReader#open for (self: FileReader, String) */
638 void core___core__FileReader___open(val
* self
, val
* p0
) {
639 val
* var_path
/* var path: String */;
640 val
* var
/* : NativeFile */;
641 char* var2
/* : NativeString */;
642 val
* var3
/* : NativeFile */;
643 val
* var4
/* : nullable NativeFile */;
644 short int var5
/* : Bool */;
645 short int var7
/* : Bool */;
646 void* var8
/* : Pointer for extern */;
647 val
* var9
/* : IOError */;
648 val
* var10
/* : NativeArray[String] */;
650 static val
* varonce11
;
651 val
* var12
/* : String */;
652 char* var13
/* : NativeString */;
653 val
* var14
/* : String */;
654 static val
* varonce15
;
655 val
* var16
/* : String */;
656 char* var17
/* : NativeString */;
657 val
* var18
/* : String */;
658 val
* var19
/* : Sys */;
659 val
* var21
/* : Sys */;
660 long var22
/* : Int */;
661 long var24
/* : Int */;
662 val
* var25
/* : String */;
663 val
* var26
/* : String */;
665 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core__kernel__Object__init
]))(self
); /* init on <self:FileReader>*/
669 { /* Inline file#FileStream#path= (self,var_path) on <self:FileReader> */
670 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var_path
; /* _path on <self:FileReader> */
675 core___core__BufferedReader___prepare_buffer(self
, 100l); /* Direct call stream#BufferedReader#prepare_buffer on <self:FileReader>*/
677 var
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
679 var2
= ((char*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(var_path
); /* to_cstring on <var_path:String>*/
682 var3
= core__file___core__file__NativeFile___io_open_read(var
, var2
);
684 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var3
; /* _file on <self:FileReader> */
685 var4
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileReader> */
687 PRINT_ERROR("Runtime error: %s", "Receiver is null");
688 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 161);
691 { /* Inline kernel#Pointer#address_is_null (var4) on <var4:nullable NativeFile> */
692 var8
= ((struct instance_core__Pointer
*)var4
)->value
; /* unboxing nullable NativeFile */
693 var7
= kernel___Pointer_address_is_null___impl(var8
);
700 var9
= NEW_core__IOError(&type_core__IOError
);
701 if (unlikely(varonce
==NULL
)) {
702 var10
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
703 if (likely(varonce11
!=NULL
)) {
706 var13
= "Cannot open `";
707 var14
= core__flat___NativeString___to_s_full(var13
, 13l, 13l);
711 ((struct instance_core__NativeArray
*)var10
)->values
[0]=var12
;
712 if (likely(varonce15
!=NULL
)) {
716 var18
= core__flat___NativeString___to_s_full(var17
, 3l, 3l);
720 ((struct instance_core__NativeArray
*)var10
)->values
[2]=var16
;
725 ((struct instance_core__NativeArray
*)var10
)->values
[1]=var_path
;
727 { /* Inline kernel#Object#sys (self) on <self:FileReader> */
735 { /* Inline kernel#Sys#errno (var19) on <var19:Sys> */
736 struct nitni_instance
* var_for_c_0
;
737 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
738 var_for_c_0
->value
= var19
;
739 var24
= kernel___Sys_errno___impl(var_for_c_0
);
746 var25
= core__abstract_text___Int___strerror(var22
);
748 ((struct instance_core__NativeArray
*)var10
)->values
[3]=var25
;
750 var26
= ((val
*(*)(val
* self
))(var10
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var10
); /* native_to_s on <var10:NativeArray[String]>*/
754 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_core__error__Error__message_61d
]))(var9
, var26
); /* message= on <var9:IOError>*/
757 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_core__kernel__Object__init
]))(var9
); /* init on <var9:IOError>*/
760 { /* Inline stream#Stream#last_error= (self,var9) on <self:FileReader> */
761 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var9
; /* _last_error on <self:FileReader> */
766 { /* Inline file#FileReader#end_reached= (self,1) on <self:FileReader> */
767 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
775 /* method file#FileWriter#write_bytes for (self: FileWriter, Bytes) */
776 void core___core__FileWriter___core__stream__Writer__write_bytes(val
* self
, val
* p0
) {
777 val
* var_s
/* var s: Bytes */;
778 val
* var
/* : nullable IOError */;
779 val
* var2
/* : nullable IOError */;
780 short int var3
/* : Bool */;
781 short int var4
/* : Bool */;
782 val
* var_other
/* var other: nullable Object */;
783 short int var6
/* : Bool */;
784 short int var7
/* : Bool */;
785 short int var8
/* : Bool */;
786 short int var9
/* : Bool */;
787 val
* var10
/* : IOError */;
789 val
* var11
/* : String */;
790 char* var12
/* : NativeString */;
791 val
* var13
/* : String */;
792 char* var15
/* : NativeString */;
793 char* var17
/* : NativeString */;
794 long var18
/* : Int */;
795 long var20
/* : Int */;
798 { /* Inline stream#Stream#last_error (self) on <self:FileWriter> */
799 var2
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileWriter> */
805 var3
= 0; /* is null */
807 var3
= 1; /* arg is null and recv is not */
810 { /* Inline kernel#Object#!= (var,((val*)NULL)) on <var:nullable IOError> */
811 var_other
= ((val
*)NULL
);
813 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable IOError(IOError)>*/
826 var8
= self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
; /* _is_writable on <self:FileWriter> */
829 var10
= NEW_core__IOError(&type_core__IOError
);
830 if (likely(varonce
!=NULL
)) {
833 var12
= "cannot write to non-writable stream";
834 var13
= core__flat___NativeString___to_s_full(var12
, 35l, 35l);
839 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__error__Error__message_61d
]))(var10
, var11
); /* message= on <var10:IOError>*/
842 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
845 { /* Inline stream#Stream#last_error= (self,var10) on <self:FileWriter> */
846 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
854 { /* Inline bytes#Bytes#items (var_s) on <var_s:Bytes> */
855 var17
= var_s
->attrs
[COLOR_core__bytes__Bytes___items
].str
; /* _items on <var_s:Bytes> */
861 { /* Inline bytes#Bytes#length (var_s) on <var_s:Bytes> */
862 var20
= var_s
->attrs
[COLOR_core__bytes__Bytes___length
].l
; /* _length on <var_s:Bytes> */
868 core___core__FileWriter___write_native(self
, var15
, 0l, var18
); /* Direct call file#FileWriter#write_native on <self:FileWriter>*/
872 /* method file#FileWriter#write for (self: FileWriter, Text) */
873 void core___core__FileWriter___core__stream__Writer__write(val
* self
, val
* p0
) {
874 val
* var_s
/* var s: Text */;
875 val
* var
/* : nullable IOError */;
876 val
* var2
/* : nullable IOError */;
877 short int var3
/* : Bool */;
878 short int var4
/* : Bool */;
879 val
* var_other
/* var other: nullable Object */;
880 short int var6
/* : Bool */;
881 short int var7
/* : Bool */;
882 short int var8
/* : Bool */;
883 short int var9
/* : Bool */;
884 val
* var10
/* : IOError */;
886 val
* var11
/* : String */;
887 char* var12
/* : NativeString */;
888 val
* var13
/* : String */;
891 { /* Inline stream#Stream#last_error (self) on <self:FileWriter> */
892 var2
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileWriter> */
898 var3
= 0; /* is null */
900 var3
= 1; /* arg is null and recv is not */
903 { /* Inline kernel#Object#!= (var,((val*)NULL)) on <var:nullable IOError> */
904 var_other
= ((val
*)NULL
);
906 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable IOError(IOError)>*/
919 var8
= self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
; /* _is_writable on <self:FileWriter> */
922 var10
= NEW_core__IOError(&type_core__IOError
);
923 if (likely(varonce
!=NULL
)) {
926 var12
= "cannot write to non-writable stream";
927 var13
= core__flat___NativeString___to_s_full(var12
, 35l, 35l);
932 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__error__Error__message_61d
]))(var10
, var11
); /* message= on <var10:IOError>*/
935 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
938 { /* Inline stream#Stream#last_error= (self,var10) on <self:FileWriter> */
939 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
947 ((void(*)(val
* self
, val
* p0
))(var_s
->class->vft
[COLOR_core__file__Text__write_native_to
]))(var_s
, self
); /* write_native_to on <var_s:Text>*/
951 /* method file#FileWriter#close for (self: FileWriter) */
952 void core___core__FileWriter___core__stream__Stream__close(val
* self
) {
954 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__FileWriter___core__stream__Stream__close
]))(self
); /* close on <self:FileWriter>*/
956 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
959 /* method file#FileWriter#is_writable= for (self: FileWriter, Bool) */
960 void core___core__FileWriter___is_writable_61d(val
* self
, short int p0
) {
961 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= p0
; /* _is_writable on <self:FileWriter> */
964 /* method file#FileWriter#write_native for (self: FileWriter, NativeString, Int, Int) */
965 void core___core__FileWriter___write_native(val
* self
, char* p0
, long p1
, long p2
) {
966 char* var_native
/* var native: NativeString */;
967 long var_from
/* var from: Int */;
968 long var_len
/* var len: Int */;
969 val
* var
/* : nullable IOError */;
970 val
* var2
/* : nullable IOError */;
971 short int var3
/* : Bool */;
972 short int var4
/* : Bool */;
973 val
* var_other
/* var other: nullable Object */;
974 short int var6
/* : Bool */;
975 short int var7
/* : Bool */;
976 short int var8
/* : Bool */;
977 short int var9
/* : Bool */;
978 val
* var10
/* : IOError */;
980 val
* var11
/* : String */;
981 char* var12
/* : NativeString */;
982 val
* var13
/* : String */;
983 val
* var15
/* : nullable NativeFile */;
984 short int var16
/* : Bool */;
985 short int var18
/* : Bool */;
986 void* var19
/* : Pointer for extern */;
987 val
* var20
/* : IOError */;
988 static val
* varonce21
;
989 val
* var22
/* : String */;
990 char* var23
/* : NativeString */;
991 val
* var24
/* : String */;
992 val
* var26
/* : nullable NativeFile */;
993 long var27
/* : Int */;
994 long var29
/* : Int */;
995 void* var30
/* : NativeFile for extern */;
996 long var_err
/* var err: Int */;
997 short int var31
/* : Bool */;
998 short int var33
/* : Bool */;
999 short int var34
/* : Bool */;
1000 val
* var35
/* : IOError */;
1001 val
* var37
/* : NativeArray[String] */;
1002 static val
* varonce36
;
1003 static val
* varonce38
;
1004 val
* var39
/* : String */;
1005 char* var40
/* : NativeString */;
1006 val
* var41
/* : String */;
1007 static val
* varonce42
;
1008 val
* var43
/* : String */;
1009 char* var44
/* : NativeString */;
1010 val
* var45
/* : String */;
1011 static val
* varonce46
;
1012 val
* var47
/* : String */;
1013 char* var48
/* : NativeString */;
1014 val
* var49
/* : String */;
1015 val
* var50
/* : String */;
1016 val
* var51
/* : String */;
1017 val
* var52
/* : String */;
1022 { /* Inline stream#Stream#last_error (self) on <self:FileWriter> */
1023 var2
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileWriter> */
1029 var3
= 0; /* is null */
1031 var3
= 1; /* arg is null and recv is not */
1034 { /* Inline kernel#Object#!= (var,((val*)NULL)) on <var:nullable IOError> */
1035 var_other
= ((val
*)NULL
);
1037 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable IOError(IOError)>*/
1050 var8
= self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
; /* _is_writable on <self:FileWriter> */
1053 var10
= NEW_core__IOError(&type_core__IOError
);
1054 if (likely(varonce
!=NULL
)) {
1057 var12
= "Cannot write to non-writable stream";
1058 var13
= core__flat___NativeString___to_s_full(var12
, 35l, 35l);
1063 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__error__Error__message_61d
]))(var10
, var11
); /* message= on <var10:IOError>*/
1066 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
1069 { /* Inline stream#Stream#last_error= (self,var10) on <self:FileWriter> */
1070 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
1071 RET_LABEL14
:(void)0;
1077 var15
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
1078 if (var15
== NULL
) {
1079 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1080 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 254);
1083 { /* Inline kernel#Pointer#address_is_null (var15) on <var15:nullable NativeFile> */
1084 var19
= ((struct instance_core__Pointer
*)var15
)->value
; /* unboxing nullable NativeFile */
1085 var18
= kernel___Pointer_address_is_null___impl(var19
);
1088 RET_LABEL17
:(void)0;
1092 var20
= NEW_core__IOError(&type_core__IOError
);
1093 if (likely(varonce21
!=NULL
)) {
1096 var23
= "Writing on a null stream";
1097 var24
= core__flat___NativeString___to_s_full(var23
, 24l, 24l);
1102 ((void(*)(val
* self
, val
* p0
))(var20
->class->vft
[COLOR_core__error__Error__message_61d
]))(var20
, var22
); /* message= on <var20:IOError>*/
1105 ((void(*)(val
* self
))(var20
->class->vft
[COLOR_core__kernel__Object__init
]))(var20
); /* init on <var20:IOError>*/
1108 { /* Inline stream#Stream#last_error= (self,var20) on <self:FileWriter> */
1109 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var20
; /* _last_error on <self:FileWriter> */
1110 RET_LABEL25
:(void)0;
1113 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
1117 var26
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
1118 if (var26
== NULL
) {
1119 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1120 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 259);
1123 { /* Inline file#NativeFile#io_write (var26,var_native,var_from,var_len) on <var26:nullable NativeFile> */
1124 var30
= ((struct instance_core__Pointer
*)var26
)->value
; /* unboxing nullable NativeFile */
1125 var29
= file___NativeFile_io_write___impl(var30
, var_native
, var_from
, var_len
);
1128 RET_LABEL28
:(void)0;
1133 { /* Inline kernel#Int#!= (var_err,var_len) on <var_err:Int> */
1134 var33
= var_err
== var_len
;
1138 RET_LABEL32
:(void)0;
1142 var35
= NEW_core__IOError(&type_core__IOError
);
1143 if (unlikely(varonce36
==NULL
)) {
1144 var37
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
1145 if (likely(varonce38
!=NULL
)) {
1148 var40
= "Problem in writing : ";
1149 var41
= core__flat___NativeString___to_s_full(var40
, 21l, 21l);
1153 ((struct instance_core__NativeArray
*)var37
)->values
[0]=var39
;
1154 if (likely(varonce42
!=NULL
)) {
1158 var45
= core__flat___NativeString___to_s_full(var44
, 1l, 1l);
1162 ((struct instance_core__NativeArray
*)var37
)->values
[2]=var43
;
1163 if (likely(varonce46
!=NULL
)) {
1167 var49
= core__flat___NativeString___to_s_full(var48
, 2l, 2l);
1171 ((struct instance_core__NativeArray
*)var37
)->values
[4]=var47
;
1176 var50
= core__flat___Int___core__abstract_text__Object__to_s(var_err
);
1177 ((struct instance_core__NativeArray
*)var37
)->values
[1]=var50
;
1178 var51
= core__flat___Int___core__abstract_text__Object__to_s(var_len
);
1179 ((struct instance_core__NativeArray
*)var37
)->values
[3]=var51
;
1181 var52
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
1185 ((void(*)(val
* self
, val
* p0
))(var35
->class->vft
[COLOR_core__error__Error__message_61d
]))(var35
, var52
); /* message= on <var35:IOError>*/
1188 ((void(*)(val
* self
))(var35
->class->vft
[COLOR_core__kernel__Object__init
]))(var35
); /* init on <var35:IOError>*/
1191 { /* Inline stream#Stream#last_error= (self,var35) on <self:FileWriter> */
1192 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var35
; /* _last_error on <self:FileWriter> */
1193 RET_LABEL53
:(void)0;
1200 /* method file#FileWriter#open for (self: FileWriter, String) */
1201 void core___core__FileWriter___open(val
* self
, val
* p0
) {
1202 val
* var_path
/* var path: String */;
1203 val
* var
/* : NativeFile */;
1204 char* var1
/* : NativeString */;
1205 val
* var2
/* : NativeFile */;
1206 val
* var4
/* : nullable NativeFile */;
1207 short int var5
/* : Bool */;
1208 short int var7
/* : Bool */;
1209 void* var8
/* : Pointer for extern */;
1210 val
* var9
/* : IOError */;
1211 val
* var10
/* : NativeArray[String] */;
1212 static val
* varonce
;
1213 static val
* varonce11
;
1214 val
* var12
/* : String */;
1215 char* var13
/* : NativeString */;
1216 val
* var14
/* : String */;
1217 static val
* varonce15
;
1218 val
* var16
/* : String */;
1219 char* var17
/* : NativeString */;
1220 val
* var18
/* : String */;
1221 val
* var19
/* : Sys */;
1222 val
* var21
/* : Sys */;
1223 long var22
/* : Int */;
1224 long var24
/* : Int */;
1225 val
* var25
/* : String */;
1226 val
* var26
/* : String */;
1228 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core__kernel__Object__init
]))(self
); /* init on <self:FileWriter>*/
1231 var
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
1233 var1
= ((char*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(var_path
); /* to_cstring on <var_path:String>*/
1236 var2
= core__file___core__file__NativeFile___io_open_write(var
, var1
);
1238 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var2
; /* _file on <self:FileWriter> */
1240 { /* Inline file#FileStream#path= (self,var_path) on <self:FileWriter> */
1241 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var_path
; /* _path on <self:FileWriter> */
1245 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:FileWriter> */
1246 var4
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
1248 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1249 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 272);
1252 { /* Inline kernel#Pointer#address_is_null (var4) on <var4:nullable NativeFile> */
1253 var8
= ((struct instance_core__Pointer
*)var4
)->value
; /* unboxing nullable NativeFile */
1254 var7
= kernel___Pointer_address_is_null___impl(var8
);
1261 var9
= NEW_core__IOError(&type_core__IOError
);
1262 if (unlikely(varonce
==NULL
)) {
1263 var10
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
1264 if (likely(varonce11
!=NULL
)) {
1267 var13
= "Cannot open `";
1268 var14
= core__flat___NativeString___to_s_full(var13
, 13l, 13l);
1272 ((struct instance_core__NativeArray
*)var10
)->values
[0]=var12
;
1273 if (likely(varonce15
!=NULL
)) {
1277 var18
= core__flat___NativeString___to_s_full(var17
, 3l, 3l);
1281 ((struct instance_core__NativeArray
*)var10
)->values
[2]=var16
;
1286 ((struct instance_core__NativeArray
*)var10
)->values
[1]=var_path
;
1288 { /* Inline kernel#Object#sys (self) on <self:FileWriter> */
1292 RET_LABEL20
:(void)0;
1296 { /* Inline kernel#Sys#errno (var19) on <var19:Sys> */
1297 struct nitni_instance
* var_for_c_0
;
1298 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1299 var_for_c_0
->value
= var19
;
1300 var24
= kernel___Sys_errno___impl(var_for_c_0
);
1303 RET_LABEL23
:(void)0;
1307 var25
= core__abstract_text___Int___strerror(var22
);
1309 ((struct instance_core__NativeArray
*)var10
)->values
[3]=var25
;
1311 var26
= ((val
*(*)(val
* self
))(var10
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var10
); /* native_to_s on <var10:NativeArray[String]>*/
1315 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_core__error__Error__message_61d
]))(var9
, var26
); /* message= on <var9:IOError>*/
1318 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_core__kernel__Object__init
]))(var9
); /* init on <var9:IOError>*/
1321 { /* Inline stream#Stream#last_error= (self,var9) on <self:FileWriter> */
1322 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var9
; /* _last_error on <self:FileWriter> */
1323 RET_LABEL27
:(void)0;
1327 { /* Inline file#FileWriter#is_writable= (self,0) on <self:FileWriter> */
1328 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
1329 RET_LABEL28
:(void)0;
1336 /* method file#Stdin#init for (self: Stdin) */
1337 void core___core__Stdin___core__kernel__Object__init(val
* self
) {
1338 val
* var
/* : NativeFile */;
1339 val
* var1
/* : NativeFile */;
1340 static val
* varonce
;
1341 val
* var2
/* : String */;
1342 char* var3
/* : NativeString */;
1343 val
* var4
/* : String */;
1345 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Stdin___core__kernel__Object__init
]))(self
); /* init on <self:Stdin>*/
1347 var
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
1349 var1
= core__file___core__file__NativeFile___native_stdin(var
);
1351 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var1
; /* _file on <self:Stdin> */
1352 if (likely(varonce
!=NULL
)) {
1355 var3
= "/dev/stdin";
1356 var4
= core__flat___NativeString___to_s_full(var3
, 10l, 10l);
1361 { /* Inline file#FileStream#path= (self,var2) on <self:Stdin> */
1362 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var2
; /* _path on <self:Stdin> */
1367 core___core__BufferedReader___prepare_buffer(self
, 1l); /* Direct call stream#BufferedReader#prepare_buffer on <self:Stdin>*/
1371 /* method file#Stdout#init for (self: Stdout) */
1372 void core___core__Stdout___core__kernel__Object__init(val
* self
) {
1373 val
* var
/* : NativeFile */;
1374 val
* var1
/* : NativeFile */;
1375 static val
* varonce
;
1376 val
* var2
/* : String */;
1377 char* var3
/* : NativeString */;
1378 val
* var4
/* : String */;
1379 val
* var6
/* : Sys */;
1380 val
* var8
/* : Sys */;
1381 long var9
/* : Int */;
1382 long var11
/* : Int */;
1384 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Stdout___core__kernel__Object__init
]))(self
); /* init on <self:Stdout>*/
1386 var
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
1388 var1
= core__file___core__file__NativeFile___native_stdout(var
);
1390 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var1
; /* _file on <self:Stdout> */
1391 if (likely(varonce
!=NULL
)) {
1394 var3
= "/dev/stdout";
1395 var4
= core__flat___NativeString___to_s_full(var3
, 11l, 11l);
1400 { /* Inline file#FileStream#path= (self,var2) on <self:Stdout> */
1401 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var2
; /* _path on <self:Stdout> */
1405 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:Stdout> */
1407 { /* Inline kernel#Object#sys (self) on <self:Stdout> */
1415 { /* Inline file#Sys#buffer_mode_line (var6) on <var6:Sys> */
1416 struct nitni_instance
* var_for_c_0
;
1417 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1418 var_for_c_0
->value
= var6
;
1419 var11
= file___Sys_buffer_mode_line___impl(var_for_c_0
);
1422 RET_LABEL10
:(void)0;
1426 core___core__FileStream___set_buffering_mode(self
, 256l, var9
); /* Direct call file#FileStream#set_buffering_mode on <self:Stdout>*/
1430 /* method file#Stderr#init for (self: Stderr) */
1431 void core___core__Stderr___core__kernel__Object__init(val
* self
) {
1432 val
* var
/* : NativeFile */;
1433 val
* var1
/* : NativeFile */;
1434 static val
* varonce
;
1435 val
* var2
/* : String */;
1436 char* var3
/* : NativeString */;
1437 val
* var4
/* : String */;
1439 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Stderr___core__kernel__Object__init
]))(self
); /* init on <self:Stderr>*/
1441 var
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
1443 var1
= core__file___core__file__NativeFile___native_stderr(var
);
1445 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var1
; /* _file on <self:Stderr> */
1446 if (likely(varonce
!=NULL
)) {
1449 var3
= "/dev/stderr";
1450 var4
= core__flat___NativeString___to_s_full(var3
, 11l, 11l);
1455 { /* Inline file#FileStream#path= (self,var2) on <self:Stderr> */
1456 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var2
; /* _path on <self:Stderr> */
1460 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:Stderr> */
1463 /* method file#Writable#write_to_file for (self: Writable, String) */
1464 void core__file___Writable___write_to_file(val
* self
, val
* p0
) {
1465 val
* var_filepath
/* var filepath: String */;
1466 val
* var
/* : FileWriter */;
1467 val
* var_stream
/* var stream: FileWriter */;
1469 var
= NEW_core__FileWriter(&type_core__FileWriter
);
1471 core___core__FileWriter___open(var
, var_filepath
); /* Direct call file#FileWriter#open on <var:FileWriter>*/
1475 ((void(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__stream__Writable__write_to
]))(self
, var_stream
); /* write_to on <self:Writable>*/
1478 core___core__FileWriter___core__stream__Stream__close(var_stream
); /* Direct call file#FileWriter#close on <var_stream:FileWriter>*/
1482 /* method file#Path#path for (self: Path): String */
1483 val
* core___core__Path___path(val
* self
) {
1484 val
* var
/* : String */;
1485 val
* var1
/* : String */;
1486 var1
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1487 if (unlikely(var1
== NULL
)) {
1488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1489 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 370);
1496 /* method file#Path#path= for (self: Path, String) */
1497 void core___core__Path___path_61d(val
* self
, val
* p0
) {
1498 self
->attrs
[COLOR_core__file__Path___path
].val
= p0
; /* _path on <self:Path> */
1501 /* method file#Path#to_s for (self: Path): String */
1502 val
* core___core__Path___core__abstract_text__Object__to_s(val
* self
) {
1503 val
* var
/* : String */;
1504 val
* var1
/* : String */;
1505 val
* var3
/* : String */;
1507 { /* Inline file#Path#path (self) on <self:Path> */
1508 var3
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1509 if (unlikely(var3
== NULL
)) {
1510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1511 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 370);
1523 /* method file#Path#simplified for (self: Path): Path */
1524 val
* core___core__Path___simplified(val
* self
) {
1525 val
* var
/* : Path */;
1526 short int var1
/* : Bool */;
1527 val
* var2
/* : Path */;
1528 val
* var3
/* : Path */;
1529 val
* var5
/* : String */;
1530 val
* var7
/* : String */;
1531 val
* var8
/* : String */;
1532 val
* var9
/* : Path */;
1533 val
* var_res
/* var res: Path */;
1534 var1
= self
->attrs
[COLOR_core__file__Path___simplified
].val
!= NULL
; /* _simplified on <self:Path> */
1536 var2
= self
->attrs
[COLOR_core__file__Path___simplified
].val
; /* _simplified on <self:Path> */
1537 if (unlikely(var2
== NULL
)) {
1538 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _simplified");
1539 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 385);
1545 { /* Inline file#Path#path (self) on <self:Path> */
1546 var7
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1547 if (unlikely(var7
== NULL
)) {
1548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1549 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 370);
1557 var8
= core__file___String___simplify_path(var5
);
1560 var9
= core__file___Text___to_path(var8
);
1564 core___core__Path___simplified_61d(var_res
, var_res
); /* Direct call file#Path#simplified= on <var_res:Path>*/
1570 self
->attrs
[COLOR_core__file__Path___simplified
].val
= var3
; /* _simplified on <self:Path> */
1577 /* method file#Path#simplified= for (self: Path, Path) */
1578 void core___core__Path___simplified_61d(val
* self
, val
* p0
) {
1579 self
->attrs
[COLOR_core__file__Path___simplified
].val
= p0
; /* _simplified on <self:Path> */
1582 /* method file#Path#last_error= for (self: Path, nullable IOError) */
1583 void core___core__Path___last_error_61d(val
* self
, val
* p0
) {
1584 self
->attrs
[COLOR_core__file__Path___last_error
].val
= p0
; /* _last_error on <self:Path> */
1587 /* method file#Path#copy for (self: Path, Path) */
1588 void core___core__Path___copy(val
* self
, val
* p0
) {
1589 val
* var_dest
/* var dest: Path */;
1590 val
* var
/* : FileReader */;
1591 val
* var_input
/* var input: FileReader */;
1592 val
* var2
/* : FileWriter */;
1593 val
* var_output
/* var output: FileWriter */;
1594 short int var3
/* : Bool */;
1595 short int var4
/* : Bool */;
1596 val
* var5
/* : String */;
1597 val
* var_buffer
/* var buffer: String */;
1598 val
* var6
/* : nullable IOError */;
1599 val
* var7
/* : nullable IOError */;
1600 val
* var9
/* : nullable IOError */;
1601 val
* var10
/* : nullable IOError */;
1602 val
* var12
/* : nullable IOError */;
1605 { /* Inline file#Path#last_error= (self,((val*)NULL)) on <self:Path> */
1606 self
->attrs
[COLOR_core__file__Path___last_error
].val
= ((val
*)NULL
); /* _last_error on <self:Path> */
1611 var
= core___core__Path___open_ro(self
);
1615 var2
= core___core__Path___open_wo(var_dest
);
1620 var3
= core___core__BufferedReader___Reader__eof(var_input
);
1625 var5
= core___core__Reader___read(var_input
, 1024l);
1629 core___core__FileWriter___core__stream__Writer__write(var_output
, var_buffer
); /* Direct call file#FileWriter#write on <var_output:FileWriter>*/
1635 BREAK_label
: (void)0;
1637 core___core__FileReader___core__stream__Stream__close(var_input
); /* Direct call file#FileReader#close on <var_input:FileReader>*/
1640 core___core__FileWriter___core__stream__Stream__close(var_output
); /* Direct call file#FileWriter#close on <var_output:FileWriter>*/
1643 { /* Inline stream#Stream#last_error (var_input) on <var_input:FileReader> */
1644 var9
= var_input
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <var_input:FileReader> */
1653 { /* Inline stream#Stream#last_error (var_output) on <var_output:FileWriter> */
1654 var12
= var_output
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <var_output:FileWriter> */
1656 RET_LABEL11
:(void)0;
1662 { /* Inline file#Path#last_error= (self,var6) on <self:Path> */
1663 self
->attrs
[COLOR_core__file__Path___last_error
].val
= var6
; /* _last_error on <self:Path> */
1664 RET_LABEL13
:(void)0;
1669 /* method file#Path#open_ro for (self: Path): FileReader */
1670 val
* core___core__Path___open_ro(val
* self
) {
1671 val
* var
/* : FileReader */;
1672 val
* var1
/* : FileReader */;
1673 val
* var2
/* : String */;
1674 val
* var4
/* : String */;
1675 val
* var_res
/* var res: FileReader */;
1676 val
* var5
/* : nullable IOError */;
1677 val
* var7
/* : nullable IOError */;
1678 var1
= NEW_core__FileReader(&type_core__FileReader
);
1680 { /* Inline file#Path#path (self) on <self:Path> */
1681 var4
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1682 if (unlikely(var4
== NULL
)) {
1683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1684 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 370);
1692 core___core__FileReader___open(var1
, var2
); /* Direct call file#FileReader#open on <var1:FileReader>*/
1696 { /* Inline stream#Stream#last_error (var_res) on <var_res:FileReader> */
1697 var7
= var_res
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <var_res:FileReader> */
1703 { /* Inline file#Path#last_error= (self,var5) on <self:Path> */
1704 self
->attrs
[COLOR_core__file__Path___last_error
].val
= var5
; /* _last_error on <self:Path> */
1713 /* method file#Path#open_wo for (self: Path): FileWriter */
1714 val
* core___core__Path___open_wo(val
* self
) {
1715 val
* var
/* : FileWriter */;
1716 val
* var1
/* : FileWriter */;
1717 val
* var2
/* : String */;
1718 val
* var4
/* : String */;
1719 val
* var_res
/* var res: FileWriter */;
1720 val
* var5
/* : nullable IOError */;
1721 val
* var7
/* : nullable IOError */;
1722 var1
= NEW_core__FileWriter(&type_core__FileWriter
);
1724 { /* Inline file#Path#path (self) on <self:Path> */
1725 var4
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1726 if (unlikely(var4
== NULL
)) {
1727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1728 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 370);
1736 core___core__FileWriter___open(var1
, var2
); /* Direct call file#FileWriter#open on <var1:FileWriter>*/
1740 { /* Inline stream#Stream#last_error (var_res) on <var_res:FileWriter> */
1741 var7
= var_res
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <var_res:FileWriter> */
1747 { /* Inline file#Path#last_error= (self,var5) on <self:Path> */
1748 self
->attrs
[COLOR_core__file__Path___last_error
].val
= var5
; /* _last_error on <self:Path> */
1757 /* method file#Path#== for (self: Path, nullable Object): Bool */
1758 short int core___core__Path___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
1759 short int var
/* : Bool */;
1760 val
* var_other
/* var other: nullable Object */;
1761 short int var1
/* : Bool */;
1762 short int var2
/* : Bool */;
1765 short int var_
/* var : Bool */;
1766 val
* var3
/* : Path */;
1767 val
* var4
/* : String */;
1768 val
* var6
/* : String */;
1769 val
* var7
/* : Path */;
1770 val
* var8
/* : String */;
1771 val
* var10
/* : String */;
1772 short int var11
/* : Bool */;
1774 /* <var_other:nullable Object> isa Path */
1775 cltype
= type_core__Path
.color
;
1776 idtype
= type_core__Path
.id
;
1777 if(var_other
== NULL
) {
1780 if(cltype
>= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->table_size
) {
1783 var2
= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->type_table
[cltype
] == idtype
;
1789 var3
= core___core__Path___simplified(self
);
1792 { /* Inline file#Path#path (var3) on <var3:Path> */
1793 var6
= var3
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <var3:Path> */
1794 if (unlikely(var6
== NULL
)) {
1795 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1796 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 370);
1804 var7
= core___core__Path___simplified(var_other
);
1807 { /* Inline file#Path#path (var7) on <var7:Path> */
1808 var10
= var7
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <var7:Path> */
1809 if (unlikely(var10
== NULL
)) {
1810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1811 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 370);
1819 var11
= ((short int(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var4
, var8
); /* == on <var4:String>*/
1830 /* method file#Path#hash for (self: Path): Int */
1831 long core___core__Path___core__kernel__Object__hash(val
* self
) {
1832 long var
/* : Int */;
1833 val
* var1
/* : Path */;
1834 val
* var2
/* : String */;
1835 val
* var4
/* : String */;
1836 long var5
/* : Int */;
1838 var1
= core___core__Path___simplified(self
);
1841 { /* Inline file#Path#path (var1) on <var1:Path> */
1842 var4
= var1
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <var1:Path> */
1843 if (unlikely(var4
== NULL
)) {
1844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1845 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 370);
1853 var5
= ((long(*)(val
* self
))(var2
->class->vft
[COLOR_core__kernel__Object__hash
]))(var2
); /* hash on <var2:String>*/
1860 /* method file#Path#init for (self: Path) */
1861 void core___core__Path___core__kernel__Object__init(val
* self
) {
1863 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Path___core__kernel__Object__init
]))(self
); /* init on <self:Path>*/
1867 /* method file#FileStat#stat for (self: FileStat): NativeFileStat */
1868 val
* core___core__FileStat___stat(val
* self
) {
1869 val
* var
/* : NativeFileStat */;
1870 val
* var1
/* : NativeFileStat */;
1871 var1
= self
->attrs
[COLOR_core__file__FileStat___stat
].val
; /* _stat on <self:FileStat> */
1872 if (unlikely(var1
== NULL
)) {
1873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stat");
1874 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 720);
1881 /* method file#FileStat#stat= for (self: FileStat, NativeFileStat) */
1882 void core___core__FileStat___stat_61d(val
* self
, val
* p0
) {
1883 self
->attrs
[COLOR_core__file__FileStat___stat
].val
= p0
; /* _stat on <self:FileStat> */
1886 /* method file#FileStat#finalized for (self: FileStat): Bool */
1887 short int core___core__FileStat___finalized(val
* self
) {
1888 short int var
/* : Bool */;
1889 short int var1
/* : Bool */;
1890 var1
= self
->attrs
[COLOR_core__file__FileStat___finalized
].s
; /* _finalized on <self:FileStat> */
1895 /* method file#FileStat#finalized= for (self: FileStat, Bool) */
1896 void core___core__FileStat___finalized_61d(val
* self
, short int p0
) {
1897 self
->attrs
[COLOR_core__file__FileStat___finalized
].s
= p0
; /* _finalized on <self:FileStat> */
1900 /* method file#FileStat#finalize for (self: FileStat) */
1901 void core___core__FileStat___core__gc__Finalizable__finalize(val
* self
) {
1902 short int var
/* : Bool */;
1903 short int var2
/* : Bool */;
1904 short int var3
/* : Bool */;
1905 val
* var4
/* : NativeFileStat */;
1906 val
* var6
/* : NativeFileStat */;
1907 void* var8
/* : Pointer for extern */;
1909 { /* Inline file#FileStat#finalized (self) on <self:FileStat> */
1910 var2
= self
->attrs
[COLOR_core__file__FileStat___finalized
].s
; /* _finalized on <self:FileStat> */
1918 { /* Inline file#FileStat#stat (self) on <self:FileStat> */
1919 var6
= self
->attrs
[COLOR_core__file__FileStat___stat
].val
; /* _stat on <self:FileStat> */
1920 if (unlikely(var6
== NULL
)) {
1921 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stat");
1922 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 720);
1930 { /* Inline kernel#Pointer#free (var4) on <var4:NativeFileStat> */
1931 var8
= ((struct instance_core__Pointer
*)var4
)->value
; /* unboxing NativeFileStat */
1932 kernel___Pointer_free___impl(var8
);
1937 { /* Inline file#FileStat#finalized= (self,1) on <self:FileStat> */
1938 self
->attrs
[COLOR_core__file__FileStat___finalized
].s
= 1; /* _finalized on <self:FileStat> */
1946 /* method file#FileStat#is_dir for (self: FileStat): Bool */
1947 short int core___core__FileStat___is_dir(val
* self
) {
1948 short int var
/* : Bool */;
1949 short int var1
/* : Bool */;
1950 short int var3
/* : Bool */;
1951 short int var4
/* : Bool */;
1952 val
* var5
/* : NativeFileStat */;
1953 val
* var7
/* : NativeFileStat */;
1954 short int var8
/* : Bool */;
1955 short int var10
/* : Bool */;
1956 void* var11
/* : NativeFileStat for extern */;
1958 { /* Inline file#FileStat#finalized (self) on <self:FileStat> */
1959 var3
= self
->attrs
[COLOR_core__file__FileStat___finalized
].s
; /* _finalized on <self:FileStat> */
1965 if (unlikely(!var4
)) {
1966 PRINT_ERROR("Runtime error: %s", "Assert failed");
1967 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 780);
1971 { /* Inline file#FileStat#stat (self) on <self:FileStat> */
1972 var7
= self
->attrs
[COLOR_core__file__FileStat___stat
].val
; /* _stat on <self:FileStat> */
1973 if (unlikely(var7
== NULL
)) {
1974 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stat");
1975 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 720);
1983 { /* Inline file#NativeFileStat#is_dir (var5) on <var5:NativeFileStat> */
1984 var11
= ((struct instance_core__Pointer
*)var5
)->value
; /* unboxing NativeFileStat */
1985 var10
= file___NativeFileStat_is_dir___impl(var11
);
1996 /* method file#FileStat#init for (self: FileStat) */
1997 void core___core__FileStat___core__kernel__Object__init(val
* self
) {
1999 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__FileStat___core__kernel__Object__init
]))(self
); /* init on <self:FileStat>*/
2003 /* method file#Text#to_path for (self: Text): Path */
2004 val
* core__file___Text___to_path(val
* self
) {
2005 val
* var
/* : Path */;
2006 val
* var1
/* : Path */;
2007 val
* var2
/* : String */;
2008 var1
= NEW_core__Path(&type_core__Path
);
2010 var2
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(self
); /* to_s on <self:Text>*/
2013 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__file__Path__path_61d
]))(var1
, var2
); /* path= on <var1:Path>*/
2016 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:Path>*/
2023 /* method file#Text#write_native_to for (self: Text, FileWriter) */
2024 void core__file___Text___write_native_to(val
* self
, val
* p0
) {
2025 val
* var_s
/* var s: FileWriter */;
2026 val
* var
/* : Iterator[FlatText] */;
2027 val
* var_
/* var : Iterator[FlatText] */;
2028 val
* var1
/* : Iterator[nullable Object] */;
2029 val
* var_2
/* var : Iterator[FlatText] */;
2030 short int var3
/* : Bool */;
2031 val
* var4
/* : nullable Object */;
2032 val
* var_i
/* var i: FlatText */;
2033 char* var5
/* : NativeString */;
2034 long var6
/* : Int */;
2035 long var8
/* : Int */;
2038 var
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__substrings
]))(self
); /* substrings on <self:Text>*/
2042 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Iterator__iterator
]))(var_
); /* iterator on <var_:Iterator[FlatText]>*/
2047 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[FlatText]>*/
2054 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[FlatText]>*/
2058 var5
= ((char*(*)(val
* self
))(var_i
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(var_i
); /* to_cstring on <var_i:FlatText>*/
2061 { /* Inline abstract_text#FlatText#bytelen (var_i) on <var_i:FlatText> */
2062 var8
= var_i
->attrs
[COLOR_core__abstract_text__FlatText___bytelen
].l
; /* _bytelen on <var_i:FlatText> */
2068 core___core__FileWriter___write_native(var_s
, var5
, 0l, var6
); /* Direct call file#FileWriter#write_native on <var_s:FileWriter>*/
2071 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[FlatText]>*/
2074 BREAK_label
: (void)0;
2076 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[FlatText]>*/
2080 /* method file#String#file_exists for (self: String): Bool */
2081 short int core__file___String___file_exists(val
* self
) {
2082 short int var
/* : Bool */;
2083 char* var1
/* : NativeString */;
2084 short int var2
/* : Bool */;
2085 short int var4
/* : Bool */;
2087 var1
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
2090 { /* Inline file#NativeString#file_exists (var1) on <var1:NativeString> */
2091 var4
= file___NativeString_file_exists___impl(var1
);
2102 /* method file#String#file_stat for (self: String): nullable FileStat */
2103 val
* core__file___String___file_stat(val
* self
) {
2104 val
* var
/* : nullable FileStat */;
2105 char* var1
/* : NativeString */;
2106 val
* var2
/* : NativeFileStat */;
2107 val
* var4
/* : NativeFileStat */;
2108 val
* var5
/* : NativeFileStat */;
2109 val
* var_stat
/* var stat: NativeFileStat */;
2110 short int var6
/* : Bool */;
2111 short int var8
/* : Bool */;
2112 void* var9
/* : Pointer for extern */;
2113 val
* var10
/* : FileStat */;
2115 var1
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
2118 { /* Inline file#NativeString#file_stat (var1) on <var1:NativeString> */
2119 var4
= file___NativeString_file_stat___impl(var1
);
2120 var5
= BOX_core__Pointer(var4
); /* boxing NativeFileStat */
2121 var5
->type
= &type_core__file__NativeFileStat
;
2122 var5
->class = &class_core__file__NativeFileStat
;
2130 { /* Inline kernel#Pointer#address_is_null (var_stat) on <var_stat:NativeFileStat> */
2131 var9
= ((struct instance_core__Pointer
*)var_stat
)->value
; /* unboxing NativeFileStat */
2132 var8
= kernel___Pointer_address_is_null___impl(var9
);
2143 var10
= NEW_core__FileStat(&type_core__FileStat
);
2145 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__file__FileStat__stat_61d
]))(var10
, var_stat
); /* stat= on <var10:FileStat>*/
2148 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:FileStat>*/
2155 /* method file#String#file_copy_to for (self: String, String) */
2156 void core__file___String___file_copy_to(val
* self
, val
* p0
) {
2157 val
* var_dest
/* var dest: String */;
2158 val
* var
/* : Path */;
2159 val
* var1
/* : Path */;
2162 var
= core__file___Text___to_path(self
);
2165 var1
= core__file___Text___to_path(var_dest
);
2168 core___core__Path___copy(var
, var1
); /* Direct call file#Path#copy on <var:Path>*/
2172 /* method file#String#strip_extension for (self: String, nullable String): String */
2173 val
* core__file___String___strip_extension(val
* self
, val
* p0
) {
2174 val
* var
/* : String */;
2175 val
* var_extension
/* var extension: nullable String */;
2176 short int var1
/* : Bool */;
2177 short int var2
/* : Bool */;
2178 val
* var3
/* : nullable String */;
2179 short int var4
/* : Bool */;
2180 short int var5
/* : Bool */;
2181 val
* var6
/* : NativeArray[String] */;
2182 static val
* varonce
;
2183 static val
* varonce7
;
2184 val
* var8
/* : String */;
2185 char* var9
/* : NativeString */;
2186 val
* var10
/* : String */;
2187 val
* var11
/* : String */;
2188 short int var12
/* : Bool */;
2189 long var13
/* : Int */;
2190 long var14
/* : Int */;
2191 long var15
/* : Int */;
2192 short int var17
/* : Bool */;
2195 const char* var_class_name
;
2196 long var18
/* : Int */;
2197 val
* var19
/* : Text */;
2199 if (var_extension
== NULL
) {
2200 var1
= 1; /* is null */
2202 var1
= 0; /* arg is null but recv is not */
2205 var2
= ((short int(*)(val
* self
, val
* p0
))(var_extension
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_extension
, ((val
*)NULL
)); /* == on <var_extension:nullable String>*/
2210 var3
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__file__String__file_extension
]))(self
); /* file_extension on <self:String>*/
2212 var_extension
= var3
;
2213 if (var_extension
== NULL
) {
2214 var4
= 1; /* is null */
2216 var4
= 0; /* arg is null but recv is not */
2219 var5
= ((short int(*)(val
* self
, val
* p0
))(var_extension
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_extension
, ((val
*)NULL
)); /* == on <var_extension:nullable String>*/
2226 if (unlikely(varonce
==NULL
)) {
2227 var6
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2228 if (likely(varonce7
!=NULL
)) {
2232 var10
= core__flat___NativeString___to_s_full(var9
, 1l, 1l);
2236 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var8
;
2241 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var_extension
;
2243 var11
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
2246 var_extension
= var11
;
2251 var12
= core___core__Text___has_suffix(self
, var_extension
);
2255 var13
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
2258 var14
= ((long(*)(val
* self
))(var_extension
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_extension
); /* length on <var_extension:nullable String(String)>*/
2261 { /* Inline kernel#Int#- (var13,var14) on <var13:Int> */
2262 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
2263 /* <var14:Int> isa OTHER */
2264 var17
= 1; /* easy <var14:Int> isa OTHER*/
2265 if (unlikely(!var17
)) {
2266 var_class_name
= type_core__Int
.name
;
2267 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2268 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2271 var18
= var13
- var14
;
2274 RET_LABEL16
:(void)0;
2278 var19
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, 0l, var15
); /* substring on <self:String>*/
2289 /* method file#String#basename for (self: String, nullable String): String */
2290 val
* core__file___String___basename(val
* self
, val
* p0
) {
2291 val
* var
/* : String */;
2292 val
* var_extension
/* var extension: nullable String */;
2293 long var1
/* : Int */;
2294 long var2
/* : Int */;
2295 short int var4
/* : Bool */;
2298 const char* var_class_name
;
2299 long var5
/* : Int */;
2300 long var_l
/* var l: Int */;
2301 short int var6
/* : Bool */;
2302 short int var7
/* : Bool */;
2303 short int var9
/* : Bool */;
2306 const char* var_class_name12
;
2307 short int var13
/* : Bool */;
2308 short int var_
/* var : Bool */;
2309 val
* var14
/* : SequenceRead[Char] */;
2310 val
* var15
/* : nullable Object */;
2311 short int var16
/* : Bool */;
2312 short int var18
/* : Bool */;
2313 uint32_t var19
/* : Char */;
2314 long var20
/* : Int */;
2315 short int var22
/* : Bool */;
2318 const char* var_class_name25
;
2319 long var26
/* : Int */;
2320 short int var27
/* : Bool */;
2321 short int var29
/* : Bool */;
2322 static val
* varonce
;
2323 val
* var30
/* : String */;
2324 char* var31
/* : NativeString */;
2325 val
* var32
/* : String */;
2326 val
* var33
/* : SequenceRead[Char] */;
2327 val
* var34
/* : nullable Object */;
2328 long var35
/* : Int */;
2329 long var_pos
/* var pos: Int */;
2330 val
* var_n
/* var n: String */;
2331 short int var36
/* : Bool */;
2332 short int var38
/* : Bool */;
2335 const char* var_class_name41
;
2336 short int var42
/* : Bool */;
2337 long var43
/* : Int */;
2338 short int var45
/* : Bool */;
2341 const char* var_class_name48
;
2342 long var49
/* : Int */;
2343 long var50
/* : Int */;
2344 short int var52
/* : Bool */;
2347 const char* var_class_name55
;
2348 long var56
/* : Int */;
2349 val
* var57
/* : Text */;
2350 short int var58
/* : Bool */;
2351 short int var59
/* : Bool */;
2352 val
* var_other
/* var other: nullable Object */;
2353 short int var61
/* : Bool */;
2354 short int var62
/* : Bool */;
2355 val
* var63
/* : String */;
2358 var1
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
2361 { /* Inline kernel#Int#- (var1,1l) on <var1:Int> */
2362 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2363 /* <1l:Int> isa OTHER */
2364 var4
= 1; /* easy <1l:Int> isa OTHER*/
2365 if (unlikely(!var4
)) {
2366 var_class_name
= type_core__Int
.name
;
2367 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2368 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2380 { /* Inline kernel#Int#> (var_l,0l) on <var_l:Int> */
2381 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2382 /* <0l:Int> isa OTHER */
2383 var9
= 1; /* easy <0l:Int> isa OTHER*/
2384 if (unlikely(!var9
)) {
2385 var_class_name12
= type_core__Int
.name
;
2386 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
2387 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
2399 var14
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
2402 var15
= ((val
*(*)(val
* self
, long p0
))((((long)var14
&3)?class_info
[((long)var14
&3)]:var14
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var14
, var_l
); /* [] on <var14:SequenceRead[Char]>*/
2405 { /* Inline kernel#Char#== (var15,'/') on <var15:nullable Object(Char)> */
2406 var19
= (uint32_t)((long)(var15
)>>2);
2407 var18
= var19
== '/';
2410 RET_LABEL17
:(void)0;
2419 { /* Inline kernel#Int#- (var_l,1l) on <var_l:Int> */
2420 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2421 /* <1l:Int> isa OTHER */
2422 var22
= 1; /* easy <1l:Int> isa OTHER*/
2423 if (unlikely(!var22
)) {
2424 var_class_name25
= type_core__Int
.name
;
2425 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
2426 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2432 RET_LABEL21
:(void)0;
2440 BREAK_label
: (void)0;
2442 { /* Inline kernel#Int#== (var_l,0l) on <var_l:Int> */
2443 var29
= var_l
== 0l;
2446 RET_LABEL28
:(void)0;
2450 if (likely(varonce
!=NULL
)) {
2454 var32
= core__flat___NativeString___to_s_full(var31
, 1l, 1l);
2463 var33
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
2466 var34
= (val
*)((long)('/')<<2|2);
2467 var35
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)var33
&3)?class_info
[((long)var33
&3)]:var33
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last_index_of_from
]))(var33
, var34
, var_l
); /* last_index_of_from on <var33:SequenceRead[Char]>*/
2472 { /* Inline kernel#Int#>= (var_pos,0l) on <var_pos:Int> */
2473 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2474 /* <0l:Int> isa OTHER */
2475 var38
= 1; /* easy <0l:Int> isa OTHER*/
2476 if (unlikely(!var38
)) {
2477 var_class_name41
= type_core__Int
.name
;
2478 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
2479 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
2482 var42
= var_pos
>= 0l;
2485 RET_LABEL37
:(void)0;
2490 { /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
2491 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2492 /* <1l:Int> isa OTHER */
2493 var45
= 1; /* easy <1l:Int> isa OTHER*/
2494 if (unlikely(!var45
)) {
2495 var_class_name48
= type_core__Int
.name
;
2496 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
2497 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2500 var49
= var_pos
+ 1l;
2503 RET_LABEL44
:(void)0;
2507 { /* Inline kernel#Int#- (var_l,var_pos) on <var_l:Int> */
2508 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
2509 /* <var_pos:Int> isa OTHER */
2510 var52
= 1; /* easy <var_pos:Int> isa OTHER*/
2511 if (unlikely(!var52
)) {
2512 var_class_name55
= type_core__Int
.name
;
2513 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
2514 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2517 var56
= var_l
- var_pos
;
2520 RET_LABEL51
:(void)0;
2524 var57
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, var43
, var50
); /* substring on <self:String>*/
2529 if (var_extension
== NULL
) {
2530 var58
= 0; /* is null */
2532 var58
= 1; /* arg is null and recv is not */
2535 { /* Inline kernel#Object#!= (var_extension,((val*)NULL)) on <var_extension:nullable String> */
2536 var_other
= ((val
*)NULL
);
2538 var61
= ((short int(*)(val
* self
, val
* p0
))(var_extension
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_extension
, var_other
); /* == on <var_extension:nullable String(String)>*/
2543 RET_LABEL60
:(void)0;
2549 var63
= core__file___String___strip_extension(var_n
, var_extension
);
2560 /* method file#String#dirname for (self: String): String */
2561 val
* core__file___String___dirname(val
* self
) {
2562 val
* var
/* : String */;
2563 long var1
/* : Int */;
2564 long var2
/* : Int */;
2565 short int var4
/* : Bool */;
2568 const char* var_class_name
;
2569 long var5
/* : Int */;
2570 long var_l
/* var l: Int */;
2571 short int var6
/* : Bool */;
2572 short int var7
/* : Bool */;
2573 short int var9
/* : Bool */;
2576 const char* var_class_name12
;
2577 short int var13
/* : Bool */;
2578 short int var_
/* var : Bool */;
2579 val
* var14
/* : SequenceRead[Char] */;
2580 val
* var15
/* : nullable Object */;
2581 short int var16
/* : Bool */;
2582 short int var18
/* : Bool */;
2583 uint32_t var19
/* : Char */;
2584 long var20
/* : Int */;
2585 short int var22
/* : Bool */;
2588 const char* var_class_name25
;
2589 long var26
/* : Int */;
2590 val
* var27
/* : SequenceRead[Char] */;
2591 val
* var28
/* : nullable Object */;
2592 long var29
/* : Int */;
2593 long var_pos
/* var pos: Int */;
2594 short int var30
/* : Bool */;
2595 short int var32
/* : Bool */;
2598 const char* var_class_name35
;
2599 short int var36
/* : Bool */;
2600 val
* var37
/* : Text */;
2601 short int var38
/* : Bool */;
2602 short int var40
/* : Bool */;
2603 static val
* varonce
;
2604 val
* var41
/* : String */;
2605 char* var42
/* : NativeString */;
2606 val
* var43
/* : String */;
2607 static val
* varonce44
;
2608 val
* var45
/* : String */;
2609 char* var46
/* : NativeString */;
2610 val
* var47
/* : String */;
2612 var1
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
2615 { /* Inline kernel#Int#- (var1,1l) on <var1:Int> */
2616 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2617 /* <1l:Int> isa OTHER */
2618 var4
= 1; /* easy <1l:Int> isa OTHER*/
2619 if (unlikely(!var4
)) {
2620 var_class_name
= type_core__Int
.name
;
2621 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2622 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2634 { /* Inline kernel#Int#> (var_l,0l) on <var_l:Int> */
2635 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2636 /* <0l:Int> isa OTHER */
2637 var9
= 1; /* easy <0l:Int> isa OTHER*/
2638 if (unlikely(!var9
)) {
2639 var_class_name12
= type_core__Int
.name
;
2640 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
2641 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
2653 var14
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
2656 var15
= ((val
*(*)(val
* self
, long p0
))((((long)var14
&3)?class_info
[((long)var14
&3)]:var14
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var14
, var_l
); /* [] on <var14:SequenceRead[Char]>*/
2659 { /* Inline kernel#Char#== (var15,'/') on <var15:nullable Object(Char)> */
2660 var19
= (uint32_t)((long)(var15
)>>2);
2661 var18
= var19
== '/';
2664 RET_LABEL17
:(void)0;
2673 { /* Inline kernel#Int#- (var_l,1l) on <var_l:Int> */
2674 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2675 /* <1l:Int> isa OTHER */
2676 var22
= 1; /* easy <1l:Int> isa OTHER*/
2677 if (unlikely(!var22
)) {
2678 var_class_name25
= type_core__Int
.name
;
2679 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
2680 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2686 RET_LABEL21
:(void)0;
2694 BREAK_label
: (void)0;
2696 var27
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
2699 var28
= (val
*)((long)('/')<<2|2);
2700 var29
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)var27
&3)?class_info
[((long)var27
&3)]:var27
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last_index_of_from
]))(var27
, var28
, var_l
); /* last_index_of_from on <var27:SequenceRead[Char]>*/
2704 { /* Inline kernel#Int#> (var_pos,0l) on <var_pos:Int> */
2705 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2706 /* <0l:Int> isa OTHER */
2707 var32
= 1; /* easy <0l:Int> isa OTHER*/
2708 if (unlikely(!var32
)) {
2709 var_class_name35
= type_core__Int
.name
;
2710 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
2711 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
2714 var36
= var_pos
> 0l;
2717 RET_LABEL31
:(void)0;
2722 var37
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, 0l, var_pos
); /* substring on <self:String>*/
2728 { /* Inline kernel#Int#== (var_pos,0l) on <var_pos:Int> */
2729 var40
= var_pos
== 0l;
2732 RET_LABEL39
:(void)0;
2736 if (likely(varonce
!=NULL
)) {
2740 var43
= core__flat___NativeString___to_s_full(var42
, 1l, 1l);
2747 if (likely(varonce44
!=NULL
)) {
2751 var47
= core__flat___NativeString___to_s_full(var46
, 1l, 1l);
2762 /* method file#String#realpath for (self: String): String */
2763 val
* core__file___String___realpath(val
* self
) {
2764 val
* var
/* : String */;
2765 char* var1
/* : NativeString */;
2766 char* var2
/* : NativeString */;
2767 char* var4
/* : NativeString */;
2768 char* var_cs
/* var cs: NativeString */;
2769 short int var5
/* : Bool */;
2770 val
* var6
/* : FlatString */;
2771 val
* var_res
/* var res: FlatString */;
2772 val
* var8
/* : Pointer */;
2773 void* var9
/* : Pointer for extern */;
2775 var1
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
2778 { /* Inline file#NativeString#file_realpath (var1) on <var1:NativeString> */
2779 var4
= file___NativeString_file_realpath___impl(var1
);
2787 var5
= core__file___String___file_exists(self
);
2789 if (unlikely(!var5
)) {
2790 PRINT_ERROR("Runtime error: %s", "Assert failed");
2791 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 966);
2795 var6
= core__flat___NativeString___to_s_with_copy(var_cs
);
2799 { /* Inline kernel#Pointer#free (var_cs) on <var_cs:NativeString> */
2800 var8
= BOX_core__Pointer(var_cs
); /* autobox from NativeString to Pointer */
2801 var9
= ((struct instance_core__Pointer
*)var8
)->value
; /* unboxing Pointer */
2802 kernel___Pointer_free___impl(var9
);
2811 /* method file#String#simplify_path for (self: String): String */
2812 val
* core__file___String___simplify_path(val
* self
) {
2813 val
* var
/* : String */;
2814 static val
* varonce
;
2815 val
* var1
/* : String */;
2816 char* var2
/* : NativeString */;
2817 val
* var3
/* : String */;
2818 val
* var4
/* : Array[String] */;
2819 val
* var_a
/* var a: Array[String] */;
2820 val
* var5
/* : Array[String] */;
2821 val
* var_a2
/* var a2: Array[String] */;
2822 val
* var_
/* var : Array[String] */;
2823 val
* var6
/* : IndexedIterator[nullable Object] */;
2824 val
* var_7
/* var : IndexedIterator[String] */;
2825 short int var8
/* : Bool */;
2826 val
* var9
/* : nullable Object */;
2827 val
* var_x
/* var x: String */;
2828 short int var10
/* : Bool */;
2829 static val
* varonce11
;
2830 val
* var12
/* : String */;
2831 char* var13
/* : NativeString */;
2832 val
* var14
/* : String */;
2833 short int var15
/* : Bool */;
2834 short int var_16
/* var : Bool */;
2835 short int var17
/* : Bool */;
2836 short int var18
/* : Bool */;
2837 short int var20
/* : Bool */;
2838 static val
* varonce21
;
2839 val
* var22
/* : String */;
2840 char* var23
/* : NativeString */;
2841 val
* var24
/* : String */;
2842 short int var25
/* : Bool */;
2843 short int var_26
/* var : Bool */;
2844 short int var27
/* : Bool */;
2845 short int var28
/* : Bool */;
2846 short int var29
/* : Bool */;
2847 short int var30
/* : Bool */;
2848 static val
* varonce31
;
2849 val
* var32
/* : String */;
2850 char* var33
/* : NativeString */;
2851 val
* var34
/* : String */;
2852 short int var35
/* : Bool */;
2853 short int var_36
/* var : Bool */;
2854 short int var37
/* : Bool */;
2855 short int var38
/* : Bool */;
2856 short int var_39
/* var : Bool */;
2857 val
* var40
/* : nullable Object */;
2858 static val
* varonce41
;
2859 val
* var42
/* : String */;
2860 char* var43
/* : NativeString */;
2861 val
* var44
/* : String */;
2862 short int var45
/* : Bool */;
2863 val
* var_other
/* var other: nullable Object */;
2864 short int var47
/* : Bool */;
2865 short int var48
/* : Bool */;
2866 val
* var49
/* : nullable Object */;
2867 static val
* varonce50
;
2868 val
* var51
/* : String */;
2869 char* var52
/* : NativeString */;
2870 val
* var53
/* : String */;
2871 short int var54
/* : Bool */;
2872 val
* var55
/* : nullable Object */;
2873 val
* var56
/* : nullable Object */;
2874 short int var57
/* : Bool */;
2875 short int var58
/* : Bool */;
2876 short int var59
/* : Bool */;
2877 short int var_60
/* var : Bool */;
2878 val
* var61
/* : nullable Object */;
2879 static val
* varonce62
;
2880 val
* var63
/* : String */;
2881 char* var64
/* : NativeString */;
2882 val
* var65
/* : String */;
2883 short int var66
/* : Bool */;
2884 val
* var67
/* : nullable Object */;
2885 short int var68
/* : Bool */;
2886 static val
* varonce69
;
2887 val
* var70
/* : String */;
2888 char* var71
/* : NativeString */;
2889 val
* var72
/* : String */;
2890 short int var73
/* : Bool */;
2891 long var74
/* : Int */;
2892 long var76
/* : Int */;
2893 short int var77
/* : Bool */;
2894 short int var79
/* : Bool */;
2895 short int var_80
/* var : Bool */;
2896 val
* var81
/* : nullable Object */;
2897 static val
* varonce82
;
2898 val
* var83
/* : String */;
2899 char* var84
/* : NativeString */;
2900 val
* var85
/* : String */;
2901 short int var86
/* : Bool */;
2902 static val
* varonce87
;
2903 val
* var88
/* : String */;
2904 char* var89
/* : NativeString */;
2905 val
* var90
/* : String */;
2906 static val
* varonce91
;
2907 val
* var92
/* : String */;
2908 char* var93
/* : NativeString */;
2909 val
* var94
/* : String */;
2910 val
* var95
/* : String */;
2911 if (likely(varonce
!=NULL
)) {
2915 var3
= core__flat___NativeString___to_s_full(var2
, 1l, 1l);
2920 var4
= core__string_search___Text___split_with(self
, var1
);
2923 var5
= NEW_core__Array(&type_core__Array__core__String
);
2925 core___core__Array___core__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[String]>*/
2930 var6
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
2935 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:IndexedIterator[String]>*/
2942 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:IndexedIterator[String]>*/
2945 if (likely(varonce11
!=NULL
)) {
2949 var14
= core__flat___NativeString___to_s_full(var13
, 1l, 1l);
2954 var15
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_x
, var12
); /* == on <var_x:String>*/
2959 var17
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
2970 if (likely(varonce21
!=NULL
)) {
2974 var24
= core__flat___NativeString___to_s_full(var23
, 0l, 0l);
2979 var25
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_x
, var22
); /* == on <var_x:String>*/
2984 var27
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
2995 if (likely(varonce31
!=NULL
)) {
2999 var34
= core__flat___NativeString___to_s_full(var33
, 2l, 2l);
3004 var35
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_x
, var32
); /* == on <var_x:String>*/
3009 var37
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
3019 var40
= core___core__SequenceRead___last(var_a2
);
3021 if (likely(varonce41
!=NULL
)) {
3025 var44
= core__flat___NativeString___to_s_full(var43
, 2l, 2l);
3030 { /* Inline kernel#Object#!= (var40,var42) on <var40:nullable Object(String)> */
3033 var47
= ((short int(*)(val
* self
, val
* p0
))(var40
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var40
, var_other
); /* == on <var40:nullable Object(String)>*/
3038 RET_LABEL46
:(void)0;
3047 var49
= core___core__SequenceRead___last(var_a2
);
3049 if (likely(varonce50
!=NULL
)) {
3053 var53
= core__flat___NativeString___to_s_full(var52
, 1l, 1l);
3058 var54
= ((short int(*)(val
* self
, val
* p0
))(var49
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var49
, var51
); /* == on <var49:nullable Object(String)>*/
3062 var55
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_a2
);
3066 var56
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_a2
);
3072 var58
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
3078 var61
= core___core__SequenceRead___last(var_a2
);
3080 if (likely(varonce62
!=NULL
)) {
3084 var65
= core__flat___NativeString___to_s_full(var64
, 1l, 1l);
3089 var66
= ((short int(*)(val
* self
, val
* p0
))(var61
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var61
, var63
); /* == on <var61:nullable Object(String)>*/
3097 var67
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_a2
);
3103 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_a2
, var_x
); /* Direct call array#AbstractArray#push on <var_a2:Array[String]>*/
3105 BREAK_label19
: (void)0;
3107 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:IndexedIterator[String]>*/
3110 BREAK_label
: (void)0;
3112 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:IndexedIterator[String]>*/
3115 var68
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
3118 if (likely(varonce69
!=NULL
)) {
3122 var72
= core__flat___NativeString___to_s_full(var71
, 1l, 1l);
3131 { /* Inline array#AbstractArrayRead#length (var_a2) on <var_a2:Array[String]> */
3132 var76
= var_a2
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_a2:Array[String]> */
3134 RET_LABEL75
:(void)0;
3138 { /* Inline kernel#Int#== (var74,1l) on <var74:Int> */
3139 var79
= var74
== 1l;
3142 RET_LABEL78
:(void)0;
3148 var81
= core___core__SequenceRead___Collection__first(var_a2
);
3150 if (likely(varonce82
!=NULL
)) {
3154 var85
= core__flat___NativeString___to_s_full(var84
, 0l, 0l);
3159 var86
= ((short int(*)(val
* self
, val
* p0
))(var81
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var81
, var83
); /* == on <var81:nullable Object(String)>*/
3166 if (likely(varonce87
!=NULL
)) {
3170 var90
= core__flat___NativeString___to_s_full(var89
, 1l, 1l);
3178 if (likely(varonce91
!=NULL
)) {
3182 var94
= core__flat___NativeString___to_s_full(var93
, 1l, 1l);
3187 var95
= core__abstract_text___Collection___join(var_a2
, var92
);
3194 /* method file#String#join_path for (self: String, String): String */
3195 val
* core__file___String___join_path(val
* self
, val
* p0
) {
3196 val
* var
/* : String */;
3197 val
* var_path
/* var path: String */;
3198 short int var1
/* : Bool */;
3199 short int var2
/* : Bool */;
3200 val
* var3
/* : SequenceRead[Char] */;
3201 val
* var4
/* : nullable Object */;
3202 short int var5
/* : Bool */;
3203 short int var7
/* : Bool */;
3204 uint32_t var8
/* : Char */;
3205 uint32_t var9
/* : Char */;
3206 short int var10
/* : Bool */;
3207 short int var12
/* : Bool */;
3208 val
* var13
/* : NativeArray[String] */;
3209 static val
* varonce
;
3210 val
* var14
/* : String */;
3211 val
* var16
/* : NativeArray[String] */;
3212 static val
* varonce15
;
3213 static val
* varonce17
;
3214 val
* var18
/* : String */;
3215 char* var19
/* : NativeString */;
3216 val
* var20
/* : String */;
3217 val
* var21
/* : String */;
3220 var1
= ((short int(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var_path
); /* is_empty on <var_path:String>*/
3228 var2
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(self
); /* is_empty on <self:String>*/
3236 var3
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_path
); /* chars on <var_path:String>*/
3239 var4
= ((val
*(*)(val
* self
, long p0
))((((long)var3
&3)?class_info
[((long)var3
&3)]:var3
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var3
, 0l); /* [] on <var3:SequenceRead[Char]>*/
3242 { /* Inline kernel#Char#== (var4,'/') on <var4:nullable Object(Char)> */
3243 var8
= (uint32_t)((long)(var4
)>>2);
3256 var9
= core___core__Text___last(self
);
3259 { /* Inline kernel#Char#== (var9,'/') on <var9:Char> */
3260 var12
= var9
== '/';
3263 RET_LABEL11
:(void)0;
3267 if (unlikely(varonce
==NULL
)) {
3268 var13
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3273 ((struct instance_core__NativeArray
*)var13
)->values
[0]=self
;
3274 ((struct instance_core__NativeArray
*)var13
)->values
[1]=var_path
;
3276 var14
= ((val
*(*)(val
* self
))(var13
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var13
); /* native_to_s on <var13:NativeArray[String]>*/
3283 if (unlikely(varonce15
==NULL
)) {
3284 var16
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3285 if (likely(varonce17
!=NULL
)) {
3289 var20
= core__flat___NativeString___to_s_full(var19
, 1l, 1l);
3293 ((struct instance_core__NativeArray
*)var16
)->values
[1]=var18
;
3298 ((struct instance_core__NativeArray
*)var16
)->values
[0]=self
;
3299 ((struct instance_core__NativeArray
*)var16
)->values
[2]=var_path
;
3301 var21
= ((val
*(*)(val
* self
))(var16
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var16
); /* native_to_s on <var16:NativeArray[String]>*/
3309 /* method file#String#/ for (self: String, String): String */
3310 val
* core__file___String____47d(val
* self
, val
* p0
) {
3311 val
* var
/* : String */;
3312 val
* var_path
/* var path: String */;
3313 val
* var1
/* : String */;
3316 var1
= core__file___String___join_path(self
, var_path
);
3323 /* method file#String#relpath for (self: String, String): String */
3324 val
* core__file___String___relpath(val
* self
, val
* p0
) {
3325 val
* var
/* : String */;
3326 val
* var_dest
/* var dest: String */;
3327 val
* var1
/* : Sys */;
3328 val
* var2
/* : String */;
3329 val
* var_cwd
/* var cwd: String */;
3330 val
* var3
/* : String */;
3331 val
* var4
/* : String */;
3332 static val
* varonce
;
3333 val
* var5
/* : String */;
3334 char* var6
/* : NativeString */;
3335 val
* var7
/* : String */;
3336 val
* var8
/* : Array[String] */;
3337 val
* var_from
/* var from: Array[String] */;
3338 val
* var9
/* : nullable Object */;
3339 short int var10
/* : Bool */;
3340 val
* var11
/* : nullable Object */;
3341 val
* var12
/* : String */;
3342 val
* var13
/* : String */;
3343 static val
* varonce14
;
3344 val
* var15
/* : String */;
3345 char* var16
/* : NativeString */;
3346 val
* var17
/* : String */;
3347 val
* var18
/* : Array[String] */;
3348 val
* var_to
/* var to: Array[String] */;
3349 val
* var19
/* : nullable Object */;
3350 short int var20
/* : Bool */;
3351 val
* var21
/* : nullable Object */;
3352 short int var22
/* : Bool */;
3353 short int var23
/* : Bool */;
3354 short int var24
/* : Bool */;
3355 short int var25
/* : Bool */;
3356 short int var_
/* var : Bool */;
3357 short int var26
/* : Bool */;
3358 short int var27
/* : Bool */;
3359 short int var_28
/* var : Bool */;
3360 val
* var29
/* : nullable Object */;
3361 val
* var30
/* : nullable Object */;
3362 short int var31
/* : Bool */;
3363 val
* var32
/* : nullable Object */;
3364 val
* var33
/* : nullable Object */;
3365 long var34
/* : Int */;
3366 long var36
/* : Int */;
3367 long var_from_len
/* var from_len: Int */;
3368 short int var37
/* : Bool */;
3369 short int var39
/* : Bool */;
3370 static val
* varonce40
;
3371 val
* var41
/* : String */;
3372 char* var42
/* : NativeString */;
3373 val
* var43
/* : String */;
3374 val
* var44
/* : String */;
3375 static val
* varonce45
;
3376 val
* var46
/* : String */;
3377 char* var47
/* : NativeString */;
3378 val
* var48
/* : String */;
3379 long var49
/* : Int */;
3380 short int var51
/* : Bool */;
3383 const char* var_class_name
;
3384 long var52
/* : Int */;
3385 val
* var53
/* : String */;
3386 static val
* varonce54
;
3387 val
* var55
/* : String */;
3388 char* var56
/* : NativeString */;
3389 val
* var57
/* : String */;
3390 val
* var58
/* : String */;
3391 val
* var_up
/* var up: String */;
3392 short int var59
/* : Bool */;
3393 static val
* varonce60
;
3394 val
* var61
/* : String */;
3395 char* var62
/* : NativeString */;
3396 val
* var63
/* : String */;
3397 val
* var64
/* : String */;
3398 static val
* varonce65
;
3399 val
* var66
/* : String */;
3400 char* var67
/* : NativeString */;
3401 val
* var68
/* : String */;
3402 val
* var69
/* : String */;
3403 val
* var70
/* : String */;
3404 val
* var_res
/* var res: String */;
3408 var2
= core__file___Sys___getcwd(var1
);
3412 var3
= core__file___String____47d(var_cwd
, self
);
3415 var4
= core__file___String___simplify_path(var3
);
3417 if (likely(varonce
!=NULL
)) {
3421 var7
= core__flat___NativeString___to_s_full(var6
, 1l, 1l);
3426 var8
= core__string_search___Text___split(var4
, var5
);
3430 var9
= core___core__SequenceRead___last(var_from
);
3433 var10
= ((short int(*)(val
* self
))(var9
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var9
); /* is_empty on <var9:nullable Object(String)>*/
3437 var11
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_from
);
3442 var12
= core__file___String____47d(var_cwd
, var_dest
);
3445 var13
= core__file___String___simplify_path(var12
);
3447 if (likely(varonce14
!=NULL
)) {
3451 var17
= core__flat___NativeString___to_s_full(var16
, 1l, 1l);
3456 var18
= core__string_search___Text___split(var13
, var15
);
3460 var19
= core___core__SequenceRead___last(var_to
);
3463 var20
= ((short int(*)(val
* self
))(var19
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var19
); /* is_empty on <var19:nullable Object(String)>*/
3467 var21
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_to
);
3473 var24
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_from
);
3479 var26
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_to
);
3489 var29
= core___core__SequenceRead___Collection__first(var_from
);
3492 var30
= core___core__SequenceRead___Collection__first(var_to
);
3495 var31
= ((short int(*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var29
, var30
); /* == on <var29:nullable Object(String)>*/
3503 var32
= core___core__AbstractArray___core__abstract_collection__Sequence__shift(var_from
);
3506 var33
= core___core__AbstractArray___core__abstract_collection__Sequence__shift(var_to
);
3512 BREAK_label
: (void)0;
3514 { /* Inline array#AbstractArrayRead#length (var_from) on <var_from:Array[String]> */
3515 var36
= var_from
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_from:Array[String]> */
3517 RET_LABEL35
:(void)0;
3520 var_from_len
= var34
;
3522 { /* Inline kernel#Int#== (var_from_len,0l) on <var_from_len:Int> */
3523 var39
= var_from_len
== 0l;
3526 RET_LABEL38
:(void)0;
3530 if (likely(varonce40
!=NULL
)) {
3534 var43
= core__flat___NativeString___to_s_full(var42
, 1l, 1l);
3539 var44
= core__abstract_text___Collection___join(var_to
, var41
);
3545 if (likely(varonce45
!=NULL
)) {
3549 var48
= core__flat___NativeString___to_s_full(var47
, 3l, 3l);
3554 { /* Inline kernel#Int#- (var_from_len,1l) on <var_from_len:Int> */
3555 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3556 /* <1l:Int> isa OTHER */
3557 var51
= 1; /* easy <1l:Int> isa OTHER*/
3558 if (unlikely(!var51
)) {
3559 var_class_name
= type_core__Int
.name
;
3560 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3561 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
3564 var52
= var_from_len
- 1l;
3567 RET_LABEL50
:(void)0;
3571 var53
= ((val
*(*)(val
* self
, long p0
))(var46
->class->vft
[COLOR_core__abstract_text__String___42d
]))(var46
, var49
); /* * on <var46:String>*/
3573 if (likely(varonce54
!=NULL
)) {
3577 var57
= core__flat___NativeString___to_s_full(var56
, 2l, 2l);
3582 var58
= ((val
*(*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var53
, var55
); /* + on <var53:String>*/
3586 var59
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_to
);
3593 if (likely(varonce60
!=NULL
)) {
3597 var63
= core__flat___NativeString___to_s_full(var62
, 1l, 1l);
3602 var64
= ((val
*(*)(val
* self
, val
* p0
))(var_up
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var_up
, var61
); /* + on <var_up:String>*/
3604 if (likely(varonce65
!=NULL
)) {
3608 var68
= core__flat___NativeString___to_s_full(var67
, 1l, 1l);
3613 var69
= core__abstract_text___Collection___join(var_to
, var66
);
3616 var70
= ((val
*(*)(val
* self
, val
* p0
))(var64
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var64
, var69
); /* + on <var64:String>*/
3624 /* method file#String#mkdir for (self: String): nullable Error */
3625 val
* core__file___String___mkdir(val
* self
) {
3626 val
* var
/* : nullable Error */;
3627 static val
* varonce
;
3628 val
* var1
/* : String */;
3629 char* var2
/* : NativeString */;
3630 val
* var3
/* : String */;
3631 val
* var4
/* : Array[String] */;
3632 val
* var_dirs
/* var dirs: Array[String] */;
3633 val
* var5
/* : FlatBuffer */;
3634 val
* var_path
/* var path: FlatBuffer */;
3635 short int var7
/* : Bool */;
3636 val
* var8
/* : nullable Object */;
3637 short int var9
/* : Bool */;
3638 val
* var_error
/* var error: nullable Error */;
3639 val
* var_
/* var : Array[String] */;
3640 val
* var10
/* : IndexedIterator[nullable Object] */;
3641 val
* var_11
/* var : IndexedIterator[String] */;
3642 short int var12
/* : Bool */;
3643 val
* var13
/* : nullable Object */;
3644 val
* var_d
/* var d: String */;
3645 short int var14
/* : Bool */;
3646 val
* var16
/* : String */;
3647 char* var17
/* : NativeString */;
3648 short int var18
/* : Bool */;
3649 short int var20
/* : Bool */;
3650 short int var_res
/* var res: Bool */;
3651 short int var21
/* : Bool */;
3652 short int var22
/* : Bool */;
3653 short int var_23
/* var : Bool */;
3654 short int var24
/* : Bool */;
3655 short int var25
/* : Bool */;
3656 val
* var_other
/* var other: nullable Object */;
3657 short int var27
/* : Bool */;
3658 short int var29
/* : Bool */;
3659 val
* var30
/* : IOError */;
3660 val
* var32
/* : NativeArray[String] */;
3661 static val
* varonce31
;
3662 static val
* varonce33
;
3663 val
* var34
/* : String */;
3664 char* var35
/* : NativeString */;
3665 val
* var36
/* : String */;
3666 static val
* varonce37
;
3667 val
* var38
/* : String */;
3668 char* var39
/* : NativeString */;
3669 val
* var40
/* : String */;
3670 val
* var41
/* : String */;
3671 val
* var42
/* : Sys */;
3672 val
* var44
/* : Sys */;
3673 long var45
/* : Int */;
3674 long var47
/* : Int */;
3675 val
* var48
/* : String */;
3676 val
* var49
/* : String */;
3677 if (likely(varonce
!=NULL
)) {
3681 var3
= core__flat___NativeString___to_s_full(var2
, 1l, 1l);
3686 var4
= core__string_search___Text___split_with(self
, var1
);
3689 var5
= NEW_core__FlatBuffer(&type_core__FlatBuffer
);
3691 { /* Inline flat#FlatBuffer#init (var5) on <var5:FlatBuffer> */
3693 ((void(*)(val
* self
))(var5
->class->vft
[COLOR_core___core__FlatBuffer___core__kernel__Object__init
]))(var5
); /* init on <var5:FlatBuffer>*/
3700 var7
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_dirs
);
3708 var8
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_dirs
, 0l);
3711 var9
= ((short int(*)(val
* self
))(var8
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var8
); /* is_empty on <var8:nullable Object(String)>*/
3715 core___core__FlatBuffer___core__abstract_text__Buffer__add(var_path
, '/'); /* Direct call flat#FlatBuffer#add on <var_path:FlatBuffer>*/
3719 var_error
= ((val
*)NULL
);
3722 var10
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
3727 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:IndexedIterator[String]>*/
3734 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:IndexedIterator[String]>*/
3738 var14
= ((short int(*)(val
* self
))(var_d
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var_d
); /* is_empty on <var_d:String>*/
3745 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_path
, var_d
); /* Direct call flat#FlatBuffer#append on <var_path:FlatBuffer>*/
3748 core___core__FlatBuffer___core__abstract_text__Buffer__add(var_path
, '/'); /* Direct call flat#FlatBuffer#add on <var_path:FlatBuffer>*/
3751 var16
= core___core__FlatBuffer___core__abstract_text__Object__to_s(var_path
);
3754 var17
= ((char*(*)(val
* self
))(var16
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(var16
); /* to_cstring on <var16:String>*/
3757 { /* Inline file#NativeString#file_mkdir (var17) on <var17:NativeString> */
3758 var20
= file___NativeString_file_mkdir___impl(var17
);
3761 RET_LABEL19
:(void)0;
3768 if (var_error
== NULL
) {
3769 var24
= 1; /* is null */
3771 var24
= 0; /* arg is null but recv is not */
3774 { /* Inline kernel#Object#== (var_error,((val*)NULL)) on <var_error:nullable Error> */
3775 var_other
= ((val
*)NULL
);
3777 { /* Inline kernel#Object#is_same_instance (var_error,var_other) on <var_error:nullable Error(Error)> */
3778 var29
= var_error
== var_other
;
3781 RET_LABEL28
:(void)0;
3786 RET_LABEL26
:(void)0;
3795 var30
= NEW_core__IOError(&type_core__IOError
);
3796 if (unlikely(varonce31
==NULL
)) {
3797 var32
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3798 if (likely(varonce33
!=NULL
)) {
3801 var35
= "Cannot create directory `";
3802 var36
= core__flat___NativeString___to_s_full(var35
, 25l, 25l);
3806 ((struct instance_core__NativeArray
*)var32
)->values
[0]=var34
;
3807 if (likely(varonce37
!=NULL
)) {
3811 var40
= core__flat___NativeString___to_s_full(var39
, 3l, 3l);
3815 ((struct instance_core__NativeArray
*)var32
)->values
[2]=var38
;
3821 var41
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_path
); /* to_s on <var_path:FlatBuffer>*/
3823 ((struct instance_core__NativeArray
*)var32
)->values
[1]=var41
;
3825 { /* Inline kernel#Object#sys (self) on <self:String> */
3829 RET_LABEL43
:(void)0;
3833 { /* Inline kernel#Sys#errno (var42) on <var42:Sys> */
3834 struct nitni_instance
* var_for_c_0
;
3835 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
3836 var_for_c_0
->value
= var42
;
3837 var47
= kernel___Sys_errno___impl(var_for_c_0
);
3840 RET_LABEL46
:(void)0;
3844 var48
= core__abstract_text___Int___strerror(var45
);
3846 ((struct instance_core__NativeArray
*)var32
)->values
[3]=var48
;
3848 var49
= ((val
*(*)(val
* self
))(var32
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var32
); /* native_to_s on <var32:NativeArray[String]>*/
3852 ((void(*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_core__error__Error__message_61d
]))(var30
, var49
); /* message= on <var30:IOError>*/
3855 ((void(*)(val
* self
))(var30
->class->vft
[COLOR_core__kernel__Object__init
]))(var30
); /* init on <var30:IOError>*/
3860 BREAK_label15
: (void)0;
3862 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:IndexedIterator[String]>*/
3865 BREAK_label
: (void)0;
3867 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:IndexedIterator[String]>*/
3874 /* method file#String#file_extension for (self: String): nullable String */
3875 val
* core__file___String___file_extension(val
* self
) {
3876 val
* var
/* : nullable String */;
3877 val
* var1
/* : SequenceRead[Char] */;
3878 val
* var2
/* : nullable Object */;
3879 long var3
/* : Int */;
3880 long var_last_slash
/* var last_slash: Int */;
3881 short int var4
/* : Bool */;
3882 short int var6
/* : Bool */;
3885 const char* var_class_name
;
3886 short int var7
/* : Bool */;
3887 long var8
/* : Int */;
3888 short int var10
/* : Bool */;
3891 const char* var_class_name13
;
3892 long var14
/* : Int */;
3893 long var15
/* : Int */;
3894 val
* var16
/* : Text */;
3896 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
3899 var2
= (val
*)((long)('.')<<2|2);
3900 var3
= ((long(*)(val
* self
, val
* p0
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last_index_of
]))(var1
, var2
); /* last_index_of on <var1:SequenceRead[Char]>*/
3902 var_last_slash
= var3
;
3904 { /* Inline kernel#Int#> (var_last_slash,0l) on <var_last_slash:Int> */
3905 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3906 /* <0l:Int> isa OTHER */
3907 var6
= 1; /* easy <0l:Int> isa OTHER*/
3908 if (unlikely(!var6
)) {
3909 var_class_name
= type_core__Int
.name
;
3910 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3911 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
3914 var7
= var_last_slash
> 0l;
3922 { /* Inline kernel#Int#+ (var_last_slash,1l) on <var_last_slash:Int> */
3923 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3924 /* <1l:Int> isa OTHER */
3925 var10
= 1; /* easy <1l:Int> isa OTHER*/
3926 if (unlikely(!var10
)) {
3927 var_class_name13
= type_core__Int
.name
;
3928 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
3929 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3932 var14
= var_last_slash
+ 1l;
3939 var15
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
3942 var16
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, var8
, var15
); /* substring on <self:String>*/
3953 /* method file#String#files for (self: String): Array[String] */
3954 val
* core__file___String___files(val
* self
) {
3955 val
* var
/* : Array[String] */;
3956 val
* var1
/* : Array[String] */;
3957 val
* var_res
/* var res: Array[String] */;
3958 val
* var2
/* : NativeDir */;
3959 char* var3
/* : NativeString */;
3960 val
* var4
/* : NativeDir */;
3961 val
* var_d
/* var d: NativeDir */;
3962 short int var5
/* : Bool */;
3963 short int var7
/* : Bool */;
3964 void* var8
/* : Pointer for extern */;
3965 char* var9
/* : NativeString */;
3966 char* var11
/* : NativeString */;
3967 void* var12
/* : NativeDir for extern */;
3968 char* var_de
/* var de: NativeString */;
3969 short int var13
/* : Bool */;
3970 short int var15
/* : Bool */;
3971 val
* var16
/* : Pointer */;
3972 void* var17
/* : Pointer for extern */;
3973 val
* var18
/* : FlatString */;
3974 val
* var_name
/* var name: FlatString */;
3975 short int var19
/* : Bool */;
3976 static val
* varonce
;
3977 val
* var20
/* : String */;
3978 char* var21
/* : NativeString */;
3979 val
* var22
/* : String */;
3980 short int var23
/* : Bool */;
3981 short int var_
/* var : Bool */;
3982 static val
* varonce24
;
3983 val
* var25
/* : String */;
3984 char* var26
/* : NativeString */;
3985 val
* var27
/* : String */;
3986 short int var28
/* : Bool */;
3987 void* var31
/* : NativeDir for extern */;
3988 var1
= NEW_core__Array(&type_core__Array__core__String
);
3990 core___core__Array___core__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[String]>*/
3993 var2
= NEW_core__file__NativeDir(&type_core__file__NativeDir
);
3995 var3
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
3998 var4
= core__file___core__file__NativeDir___opendir(var2
, var3
);
4002 { /* Inline kernel#Pointer#address_is_null (var_d) on <var_d:NativeDir> */
4003 var8
= ((struct instance_core__Pointer
*)var_d
)->value
; /* unboxing NativeDir */
4004 var7
= kernel___Pointer_address_is_null___impl(var8
);
4017 { /* Inline file#NativeDir#readdir (var_d) on <var_d:NativeDir> */
4018 var12
= ((struct instance_core__Pointer
*)var_d
)->value
; /* unboxing NativeDir */
4019 var11
= file___NativeDir_readdir___impl(var12
);
4022 RET_LABEL10
:(void)0;
4027 { /* Inline kernel#Pointer#address_is_null (var_de) on <var_de:NativeString> */
4028 var16
= BOX_core__Pointer(var_de
); /* autobox from NativeString to Pointer */
4029 var17
= ((struct instance_core__Pointer
*)var16
)->value
; /* unboxing Pointer */
4030 var15
= kernel___Pointer_address_is_null___impl(var17
);
4033 RET_LABEL14
:(void)0;
4041 var18
= core__flat___NativeString___to_s_with_copy(var_de
);
4044 if (likely(varonce
!=NULL
)) {
4048 var22
= core__flat___NativeString___to_s_full(var21
, 1l, 1l);
4053 var23
= core___core__FlatString___core__kernel__Object___61d_61d(var_name
, var20
);
4059 if (likely(varonce24
!=NULL
)) {
4063 var27
= core__flat___NativeString___to_s_full(var26
, 2l, 2l);
4068 var28
= core___core__FlatString___core__kernel__Object___61d_61d(var_name
, var25
);
4077 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var_name
); /* Direct call array#Array#add on <var_res:Array[String]>*/
4079 BREAK_label29
: (void)0;
4081 BREAK_label
: (void)0;
4083 { /* Inline file#NativeDir#closedir (var_d) on <var_d:NativeDir> */
4084 var31
= ((struct instance_core__Pointer
*)var_d
)->value
; /* unboxing NativeDir */
4085 file___NativeDir_closedir___impl(var31
);
4086 RET_LABEL30
:(void)0;
4094 /* method file#FlatString#write_native_to for (self: FlatString, FileWriter) */
4095 void core__file___FlatString___Text__write_native_to(val
* self
, val
* p0
) {
4096 val
* var_s
/* var s: FileWriter */;
4097 char* var
/* : NativeString */;
4098 char* var2
/* : NativeString */;
4099 long var3
/* : Int */;
4100 long var5
/* : Int */;
4101 long var6
/* : Int */;
4102 long var8
/* : Int */;
4105 { /* Inline abstract_text#FlatText#items (self) on <self:FlatString> */
4106 var2
= self
->attrs
[COLOR_core__abstract_text__FlatText___items
].str
; /* _items on <self:FlatString> */
4112 { /* Inline flat#FlatString#first_byte (self) on <self:FlatString> */
4113 var5
= self
->attrs
[COLOR_core__flat__FlatString___first_byte
].l
; /* _first_byte on <self:FlatString> */
4119 { /* Inline abstract_text#FlatText#bytelen (self) on <self:FlatString> */
4120 var8
= self
->attrs
[COLOR_core__abstract_text__FlatText___bytelen
].l
; /* _bytelen on <self:FlatString> */
4126 core___core__FileWriter___write_native(var_s
, var
, var3
, var6
); /* Direct call file#FileWriter#write_native on <var_s:FileWriter>*/
4130 /* method file#FlatString#file_extension for (self: FlatString): nullable String */
4131 val
* core__file___FlatString___String__file_extension(val
* self
) {
4132 val
* var
/* : nullable String */;
4133 char* var1
/* : NativeString */;
4134 char* var_its
/* var its: NativeString */;
4135 long var2
/* : Int */;
4136 long var_p
/* var p: Int */;
4137 unsigned char var3
/* : Byte */;
4138 unsigned char var5
/* : Byte */;
4139 unsigned char var_c
/* var c: Byte */;
4140 long var6
/* : Int */;
4141 long var_st
/* var st: Int */;
4142 short int var7
/* : Bool */;
4143 short int var8
/* : Bool */;
4144 short int var10
/* : Bool */;
4147 const char* var_class_name
;
4148 short int var11
/* : Bool */;
4149 short int var_
/* var : Bool */;
4150 unsigned char var12
/* : Byte */;
4151 short int var13
/* : Bool */;
4152 short int var15
/* : Bool */;
4153 short int var16
/* : Bool */;
4154 long var17
/* : Int */;
4155 short int var19
/* : Bool */;
4158 const char* var_class_name22
;
4159 long var23
/* : Int */;
4160 unsigned char var24
/* : Byte */;
4161 unsigned char var26
/* : Byte */;
4162 short int var27
/* : Bool */;
4163 short int var29
/* : Bool */;
4166 const char* var_class_name32
;
4167 short int var33
/* : Bool */;
4168 long var34
/* : Int */;
4169 long var_ls
/* var ls: Int */;
4170 val
* var35
/* : FlatString */;
4171 long var36
/* : Int */;
4172 short int var38
/* : Bool */;
4175 const char* var_class_name41
;
4176 long var42
/* : Int */;
4177 long var43
/* : Int */;
4178 short int var45
/* : Bool */;
4181 const char* var_class_name48
;
4182 long var49
/* : Int */;
4183 var1
= self
->attrs
[COLOR_core__abstract_text__FlatText___items
].str
; /* _items on <self:FlatString> */
4186 var2
= core__flat___FlatText___last_byte(self
);
4190 { /* Inline native#NativeString#[] (var_its,var_p) on <var_its:NativeString> */
4191 var5
= (unsigned char)((int)var_its
[var_p
]);
4198 var6
= self
->attrs
[COLOR_core__flat__FlatString___first_byte
].l
; /* _first_byte on <self:FlatString> */
4202 { /* Inline kernel#Int#>= (var_p,var_st) on <var_p:Int> */
4203 /* Covariant cast for argument 0 (i) <var_st:Int> isa OTHER */
4204 /* <var_st:Int> isa OTHER */
4205 var10
= 1; /* easy <var_st:Int> isa OTHER*/
4206 if (unlikely(!var10
)) {
4207 var_class_name
= type_core__Int
.name
;
4208 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4209 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
4212 var11
= var_p
>= var_st
;
4221 var12
= core___core__Char___ascii('.');
4224 { /* Inline kernel#Byte#!= (var_c,var12) on <var_c:Byte> */
4225 var15
= var_c
== var12
;
4229 RET_LABEL14
:(void)0;
4238 { /* Inline kernel#Int#- (var_p,1l) on <var_p:Int> */
4239 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4240 /* <1l:Int> isa OTHER */
4241 var19
= 1; /* easy <1l:Int> isa OTHER*/
4242 if (unlikely(!var19
)) {
4243 var_class_name22
= type_core__Int
.name
;
4244 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
4245 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
4251 RET_LABEL18
:(void)0;
4256 { /* Inline native#NativeString#[] (var_its,var_p) on <var_its:NativeString> */
4257 var26
= (unsigned char)((int)var_its
[var_p
]);
4260 RET_LABEL25
:(void)0;
4268 BREAK_label
: (void)0;
4270 { /* Inline kernel#Int#<= (var_p,var_st) on <var_p:Int> */
4271 /* Covariant cast for argument 0 (i) <var_st:Int> isa OTHER */
4272 /* <var_st:Int> isa OTHER */
4273 var29
= 1; /* easy <var_st:Int> isa OTHER*/
4274 if (unlikely(!var29
)) {
4275 var_class_name32
= type_core__Int
.name
;
4276 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
4277 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
4280 var33
= var_p
<= var_st
;
4283 RET_LABEL28
:(void)0;
4292 var34
= core__flat___FlatText___last_byte(self
);
4295 var35
= NEW_core__FlatString(&type_core__FlatString
);
4297 { /* Inline kernel#Int#- (var_ls,var_p) on <var_ls:Int> */
4298 /* Covariant cast for argument 0 (i) <var_p:Int> isa OTHER */
4299 /* <var_p:Int> isa OTHER */
4300 var38
= 1; /* easy <var_p:Int> isa OTHER*/
4301 if (unlikely(!var38
)) {
4302 var_class_name41
= type_core__Int
.name
;
4303 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
4304 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
4307 var42
= var_ls
- var_p
;
4310 RET_LABEL37
:(void)0;
4314 { /* Inline kernel#Int#+ (var_p,1l) on <var_p:Int> */
4315 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4316 /* <1l:Int> isa OTHER */
4317 var45
= 1; /* easy <1l:Int> isa OTHER*/
4318 if (unlikely(!var45
)) {
4319 var_class_name48
= type_core__Int
.name
;
4320 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
4321 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
4327 RET_LABEL44
:(void)0;
4331 core___core__FlatString___with_infos(var35
, var_its
, var36
, var43
); /* Direct call flat#FlatString#with_infos on <var35:FlatString>*/
4338 /* method file#FlatString#basename for (self: FlatString, nullable String): String */
4339 val
* core__file___FlatString___String__basename(val
* self
, val
* p0
) {
4340 val
* var
/* : String */;
4341 val
* var_extension
/* var extension: nullable String */;
4342 long var1
/* : Int */;
4343 long var_l
/* var l: Int */;
4344 char* var2
/* : NativeString */;
4345 char* var_its
/* var its: NativeString */;
4346 long var3
/* : Int */;
4347 long var_min
/* var min: Int */;
4348 unsigned char var4
/* : Byte */;
4349 unsigned char var_sl
/* var sl: Byte */;
4350 short int var5
/* : Bool */;
4351 short int var6
/* : Bool */;
4352 short int var8
/* : Bool */;
4355 const char* var_class_name
;
4356 short int var9
/* : Bool */;
4357 short int var_
/* var : Bool */;
4358 unsigned char var10
/* : Byte */;
4359 unsigned char var12
/* : Byte */;
4360 short int var13
/* : Bool */;
4361 short int var15
/* : Bool */;
4362 long var16
/* : Int */;
4363 short int var18
/* : Bool */;
4366 const char* var_class_name21
;
4367 long var22
/* : Int */;
4368 short int var23
/* : Bool */;
4369 short int var25
/* : Bool */;
4370 static val
* varonce
;
4371 val
* var26
/* : String */;
4372 char* var27
/* : NativeString */;
4373 val
* var28
/* : String */;
4374 long var_ns
/* var ns: Int */;
4375 short int var29
/* : Bool */;
4376 short int var30
/* : Bool */;
4377 short int var32
/* : Bool */;
4380 const char* var_class_name35
;
4381 short int var36
/* : Bool */;
4382 short int var_37
/* var : Bool */;
4383 unsigned char var38
/* : Byte */;
4384 unsigned char var40
/* : Byte */;
4385 short int var41
/* : Bool */;
4386 short int var43
/* : Bool */;
4387 short int var44
/* : Bool */;
4388 long var45
/* : Int */;
4389 short int var47
/* : Bool */;
4392 const char* var_class_name50
;
4393 long var51
/* : Int */;
4394 val
* var53
/* : FlatString */;
4395 long var54
/* : Int */;
4396 short int var56
/* : Bool */;
4399 const char* var_class_name59
;
4400 long var60
/* : Int */;
4401 long var61
/* : Int */;
4402 short int var63
/* : Bool */;
4405 const char* var_class_name66
;
4406 long var67
/* : Int */;
4407 val
* var_bname
/* var bname: FlatString */;
4408 val
* var68
/* : String */;
4409 short int var69
/* : Bool */;
4410 short int var70
/* : Bool */;
4411 val
* var_other
/* var other: nullable Object */;
4412 short int var72
/* : Bool */;
4413 short int var73
/* : Bool */;
4414 val
* var74
/* : String */;
4417 var1
= core__flat___FlatText___last_byte(self
);
4420 var2
= self
->attrs
[COLOR_core__abstract_text__FlatText___items
].str
; /* _items on <self:FlatString> */
4422 var3
= self
->attrs
[COLOR_core__flat__FlatString___first_byte
].l
; /* _first_byte on <self:FlatString> */
4425 var4
= core___core__Char___ascii('/');
4430 { /* Inline kernel#Int#> (var_l,var_min) on <var_l:Int> */
4431 /* Covariant cast for argument 0 (i) <var_min:Int> isa OTHER */
4432 /* <var_min:Int> isa OTHER */
4433 var8
= 1; /* easy <var_min:Int> isa OTHER*/
4434 if (unlikely(!var8
)) {
4435 var_class_name
= type_core__Int
.name
;
4436 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4437 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
4440 var9
= var_l
> var_min
;
4449 { /* Inline native#NativeString#[] (var_its,var_l) on <var_its:NativeString> */
4450 var12
= (unsigned char)((int)var_its
[var_l
]);
4453 RET_LABEL11
:(void)0;
4457 { /* Inline kernel#Byte#== (var10,var_sl) on <var10:Byte> */
4458 var15
= var10
== var_sl
;
4461 RET_LABEL14
:(void)0;
4470 { /* Inline kernel#Int#- (var_l,1l) on <var_l:Int> */
4471 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4472 /* <1l:Int> isa OTHER */
4473 var18
= 1; /* easy <1l:Int> isa OTHER*/
4474 if (unlikely(!var18
)) {
4475 var_class_name21
= type_core__Int
.name
;
4476 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
4477 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
4483 RET_LABEL17
:(void)0;
4491 BREAK_label
: (void)0;
4493 { /* Inline kernel#Int#== (var_l,var_min) on <var_l:Int> */
4494 var25
= var_l
== var_min
;
4497 RET_LABEL24
:(void)0;
4501 if (likely(varonce
!=NULL
)) {
4505 var28
= core__flat___NativeString___to_s_full(var27
, 1l, 1l);
4516 { /* Inline kernel#Int#>= (var_ns,var_min) on <var_ns:Int> */
4517 /* Covariant cast for argument 0 (i) <var_min:Int> isa OTHER */
4518 /* <var_min:Int> isa OTHER */
4519 var32
= 1; /* easy <var_min:Int> isa OTHER*/
4520 if (unlikely(!var32
)) {
4521 var_class_name35
= type_core__Int
.name
;
4522 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
4523 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
4526 var36
= var_ns
>= var_min
;
4529 RET_LABEL31
:(void)0;
4535 { /* Inline native#NativeString#[] (var_its,var_ns) on <var_its:NativeString> */
4536 var40
= (unsigned char)((int)var_its
[var_ns
]);
4539 RET_LABEL39
:(void)0;
4543 { /* Inline kernel#Byte#!= (var38,var_sl) on <var38:Byte> */
4544 var43
= var38
== var_sl
;
4548 RET_LABEL42
:(void)0;
4557 { /* Inline kernel#Int#- (var_ns,1l) on <var_ns:Int> */
4558 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4559 /* <1l:Int> isa OTHER */
4560 var47
= 1; /* easy <1l:Int> isa OTHER*/
4561 if (unlikely(!var47
)) {
4562 var_class_name50
= type_core__Int
.name
;
4563 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50
);
4564 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
4567 var51
= var_ns
- 1l;
4570 RET_LABEL46
:(void)0;
4578 BREAK_label52
: (void)0;
4579 var53
= NEW_core__FlatString(&type_core__FlatString
);
4581 { /* Inline kernel#Int#- (var_l,var_ns) on <var_l:Int> */
4582 /* Covariant cast for argument 0 (i) <var_ns:Int> isa OTHER */
4583 /* <var_ns:Int> isa OTHER */
4584 var56
= 1; /* easy <var_ns:Int> isa OTHER*/
4585 if (unlikely(!var56
)) {
4586 var_class_name59
= type_core__Int
.name
;
4587 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59
);
4588 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
4591 var60
= var_l
- var_ns
;
4594 RET_LABEL55
:(void)0;
4598 { /* Inline kernel#Int#+ (var_ns,1l) on <var_ns:Int> */
4599 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4600 /* <1l:Int> isa OTHER */
4601 var63
= 1; /* easy <1l:Int> isa OTHER*/
4602 if (unlikely(!var63
)) {
4603 var_class_name66
= type_core__Int
.name
;
4604 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66
);
4605 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
4608 var67
= var_ns
+ 1l;
4611 RET_LABEL62
:(void)0;
4615 core___core__FlatString___with_infos(var53
, var_its
, var54
, var61
); /* Direct call flat#FlatString#with_infos on <var53:FlatString>*/
4618 if (var_extension
== NULL
) {
4619 var69
= 0; /* is null */
4621 var69
= 1; /* arg is null and recv is not */
4624 { /* Inline kernel#Object#!= (var_extension,((val*)NULL)) on <var_extension:nullable String> */
4625 var_other
= ((val
*)NULL
);
4627 var72
= ((short int(*)(val
* self
, val
* p0
))(var_extension
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_extension
, var_other
); /* == on <var_extension:nullable String(String)>*/
4632 RET_LABEL71
:(void)0;
4638 var74
= core__file___String___strip_extension(var_bname
, var_extension
);
4649 /* method file#NativeString#file_exists for (self: NativeString): Bool */
4650 short int core__file___NativeString___file_exists(char* self
) {
4651 short int var
/* : Bool */;
4652 short int var1
/* : Bool */;
4653 var1
= file___NativeString_file_exists___impl(self
);
4659 /* method file#NativeString#file_stat for (self: NativeString): NativeFileStat */
4660 val
* core__file___NativeString___file_stat(char* self
) {
4661 val
* var
/* : NativeFileStat */;
4662 val
* var1
/* : NativeFileStat */;
4663 val
* var2
/* : NativeFileStat */;
4664 var1
= file___NativeString_file_stat___impl(self
);
4665 var2
= BOX_core__Pointer(var1
); /* boxing NativeFileStat */
4666 var2
->type
= &type_core__file__NativeFileStat
;
4667 var2
->class = &class_core__file__NativeFileStat
;
4673 /* method file#NativeString#file_mkdir for (self: NativeString): Bool */
4674 short int core__file___NativeString___file_mkdir(char* self
) {
4675 short int var
/* : Bool */;
4676 short int var1
/* : Bool */;
4677 var1
= file___NativeString_file_mkdir___impl(self
);
4683 /* method file#NativeString#file_realpath for (self: NativeString): NativeString */
4684 char* core__file___NativeString___file_realpath(char* self
) {
4685 char* var
/* : NativeString */;
4686 char* var1
/* : NativeString */;
4687 var1
= file___NativeString_file_realpath___impl(self
);
4693 /* method file#NativeFileStat#is_dir for (self: NativeFileStat): Bool */
4694 short int core__file___core__file__NativeFileStat___is_dir(val
* self
) {
4695 short int var
/* : Bool */;
4696 short int var1
/* : Bool */;
4697 void* var2
/* : NativeFileStat for extern */;
4698 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFileStat */
4699 var1
= file___NativeFileStat_is_dir___impl(var2
);
4705 /* method file#NativeFile#io_read for (self: NativeFile, NativeString, Int): Int */
4706 long core__file___core__file__NativeFile___io_read(val
* self
, char* p0
, long p1
) {
4707 long var
/* : Int */;
4708 long var1
/* : Int */;
4709 void* var2
/* : NativeFile for extern */;
4710 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
4711 var1
= file___NativeFile_io_read___impl(var2
, p0
, p1
);
4717 /* method file#NativeFile#io_write for (self: NativeFile, NativeString, Int, Int): Int */
4718 long core__file___core__file__NativeFile___io_write(val
* self
, char* p0
, long p1
, long p2
) {
4719 long var
/* : Int */;
4720 long var1
/* : Int */;
4721 void* var2
/* : NativeFile for extern */;
4722 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
4723 var1
= file___NativeFile_io_write___impl(var2
, p0
, p1
, p2
);
4729 /* method file#NativeFile#io_close for (self: NativeFile): Int */
4730 long core__file___core__file__NativeFile___io_close(val
* self
) {
4731 long var
/* : Int */;
4732 long var1
/* : Int */;
4733 void* var2
/* : NativeFile for extern */;
4734 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
4735 var1
= file___NativeFile_io_close___impl(var2
);
4741 /* method file#NativeFile#ferror for (self: NativeFile): Bool */
4742 short int core__file___core__file__NativeFile___ferror(val
* self
) {
4743 short int var
/* : Bool */;
4744 short int var1
/* : Bool */;
4745 void* var2
/* : NativeFile for extern */;
4746 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
4747 var1
= file___NativeFile_ferror___impl(var2
);
4753 /* method file#NativeFile#set_buffering_type for (self: NativeFile, Int, Int): Int */
4754 long core__file___core__file__NativeFile___set_buffering_type(val
* self
, long p0
, long p1
) {
4755 long var
/* : Int */;
4756 long var1
/* : Int */;
4757 void* var2
/* : NativeFile for extern */;
4758 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
4759 var1
= file___NativeFile_set_buffering_type___impl(var2
, p0
, p1
);
4765 /* method file#NativeFile#io_open_read for (self: NativeFile, NativeString): NativeFile */
4766 val
* core__file___core__file__NativeFile___io_open_read(val
* self
, char* p0
) {
4767 val
* var
/* : NativeFile */;
4768 val
* var1
/* : NativeFile */;
4769 val
* var2
/* : NativeFile */;
4770 var1
= file___new_NativeFile_io_open_read___impl(p0
);
4771 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
4772 var2
->type
= &type_core__file__NativeFile
;
4773 var2
->class = &class_core__file__NativeFile
;
4779 /* method file#NativeFile#io_open_write for (self: NativeFile, NativeString): NativeFile */
4780 val
* core__file___core__file__NativeFile___io_open_write(val
* self
, char* p0
) {
4781 val
* var
/* : NativeFile */;
4782 val
* var1
/* : NativeFile */;
4783 val
* var2
/* : NativeFile */;
4784 var1
= file___new_NativeFile_io_open_write___impl(p0
);
4785 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
4786 var2
->type
= &type_core__file__NativeFile
;
4787 var2
->class = &class_core__file__NativeFile
;
4793 /* method file#NativeFile#native_stdin for (self: NativeFile): NativeFile */
4794 val
* core__file___core__file__NativeFile___native_stdin(val
* self
) {
4795 val
* var
/* : NativeFile */;
4796 val
* var1
/* : NativeFile */;
4797 val
* var2
/* : NativeFile */;
4798 var1
= file___new_NativeFile_native_stdin___impl();
4799 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
4800 var2
->type
= &type_core__file__NativeFile
;
4801 var2
->class = &class_core__file__NativeFile
;
4807 /* method file#NativeFile#native_stdout for (self: NativeFile): NativeFile */
4808 val
* core__file___core__file__NativeFile___native_stdout(val
* self
) {
4809 val
* var
/* : NativeFile */;
4810 val
* var1
/* : NativeFile */;
4811 val
* var2
/* : NativeFile */;
4812 var1
= file___new_NativeFile_native_stdout___impl();
4813 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
4814 var2
->type
= &type_core__file__NativeFile
;
4815 var2
->class = &class_core__file__NativeFile
;
4821 /* method file#NativeFile#native_stderr for (self: NativeFile): NativeFile */
4822 val
* core__file___core__file__NativeFile___native_stderr(val
* self
) {
4823 val
* var
/* : NativeFile */;
4824 val
* var1
/* : NativeFile */;
4825 val
* var2
/* : NativeFile */;
4826 var1
= file___new_NativeFile_native_stderr___impl();
4827 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
4828 var2
->type
= &type_core__file__NativeFile
;
4829 var2
->class = &class_core__file__NativeFile
;
4835 /* method file#NativeDir#opendir for (self: NativeDir, NativeString): NativeDir */
4836 val
* core__file___core__file__NativeDir___opendir(val
* self
, char* p0
) {
4837 val
* var
/* : NativeDir */;
4838 val
* var1
/* : NativeDir */;
4839 val
* var2
/* : NativeDir */;
4840 var1
= file___new_NativeDir_opendir___impl(p0
);
4841 var2
= BOX_core__Pointer(var1
); /* boxing NativeDir */
4842 var2
->type
= &type_core__file__NativeDir
;
4843 var2
->class = &class_core__file__NativeDir
;
4849 /* method file#NativeDir#closedir for (self: NativeDir) */
4850 void core__file___core__file__NativeDir___closedir(val
* self
) {
4851 void* var
/* : NativeDir for extern */;
4852 var
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeDir */
4853 file___NativeDir_closedir___impl(var
);
4856 /* method file#NativeDir#readdir for (self: NativeDir): NativeString */
4857 char* core__file___core__file__NativeDir___readdir(val
* self
) {
4858 char* var
/* : NativeString */;
4859 char* var1
/* : NativeString */;
4860 void* var2
/* : NativeDir for extern */;
4861 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeDir */
4862 var1
= file___NativeDir_readdir___impl(var2
);
4868 /* method file#Sys#stdout for (self: Sys): Writer */
4869 val
* core__file___Sys___stdout(val
* self
) {
4870 val
* var
/* : Writer */;
4871 short int var1
/* : Bool */;
4872 val
* var2
/* : Writer */;
4873 val
* var3
/* : Stdout */;
4874 var1
= self
->attrs
[COLOR_core__file__Sys___stdout
].val
!= NULL
; /* _stdout on <self:Sys> */
4876 var2
= self
->attrs
[COLOR_core__file__Sys___stdout
].val
; /* _stdout on <self:Sys> */
4877 if (unlikely(var2
== NULL
)) {
4878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout");
4879 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 1455);
4883 var3
= NEW_core__Stdout(&type_core__Stdout
);
4885 core___core__Stdout___core__kernel__Object__init(var3
); /* Direct call file#Stdout#init on <var3:Stdout>*/
4887 self
->attrs
[COLOR_core__file__Sys___stdout
].val
= var3
; /* _stdout on <self:Sys> */
4894 /* method file#Sys#stderr for (self: Sys): Writer */
4895 val
* core__file___Sys___stderr(val
* self
) {
4896 val
* var
/* : Writer */;
4897 short int var1
/* : Bool */;
4898 val
* var2
/* : Writer */;
4899 val
* var3
/* : Stderr */;
4900 var1
= self
->attrs
[COLOR_core__file__Sys___stderr
].val
!= NULL
; /* _stderr on <self:Sys> */
4902 var2
= self
->attrs
[COLOR_core__file__Sys___stderr
].val
; /* _stderr on <self:Sys> */
4903 if (unlikely(var2
== NULL
)) {
4904 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr");
4905 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 1458);
4909 var3
= NEW_core__Stderr(&type_core__Stderr
);
4911 core___core__Stderr___core__kernel__Object__init(var3
); /* Direct call file#Stderr#init on <var3:Stderr>*/
4913 self
->attrs
[COLOR_core__file__Sys___stderr
].val
= var3
; /* _stderr on <self:Sys> */
4920 /* method file#Sys#buffer_mode_line for (self: Sys): Int */
4921 long core__file___Sys___buffer_mode_line(val
* self
) {
4922 long var
/* : Int */;
4923 long var1
/* : Int */;
4924 struct nitni_instance
* var_for_c_0
;
4925 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
4926 var_for_c_0
->value
= self
;
4927 var1
= file___Sys_buffer_mode_line___impl(var_for_c_0
);
4933 /* method file#Sys#printn for (self: Sys, Array[Object]) */
4934 void core__file___Sys___printn(val
* self
, val
* p0
) {
4935 val
* var_objects
/* var objects: Array[Object] */;
4936 val
* var
/* : Sys */;
4937 val
* var2
/* : Sys */;
4938 val
* var3
/* : Writer */;
4939 val
* var4
/* : String */;
4942 { /* Inline kernel#Object#sys (self) on <self:Sys> */
4950 var3
= core__file___Sys___stdout(var
);
4953 var4
= core__flat___Array___core__abstract_text__Collection__plain_to_s(var_objects
);
4956 core___core__FileWriter___core__stream__Writer__write(var3
, var4
); /* Direct call file#FileWriter#write on <var3:Writer>*/
4960 /* method file#Sys#print for (self: Sys, Object) */
4961 void core__file___Sys___print(val
* self
, val
* p0
) {
4962 val
* var_object
/* var object: Object */;
4963 val
* var
/* : Sys */;
4964 val
* var2
/* : Sys */;
4965 val
* var3
/* : Writer */;
4966 val
* var4
/* : String */;
4967 val
* var5
/* : Sys */;
4968 val
* var7
/* : Sys */;
4969 val
* var8
/* : Writer */;
4970 static val
* varonce
;
4971 val
* var9
/* : String */;
4972 char* var10
/* : NativeString */;
4973 val
* var11
/* : String */;
4976 { /* Inline kernel#Object#sys (self) on <self:Sys> */
4984 var3
= core__file___Sys___stdout(var
);
4987 var4
= ((val
*(*)(val
* self
))((((long)var_object
&3)?class_info
[((long)var_object
&3)]:var_object
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_object
); /* to_s on <var_object:Object>*/
4990 core___core__FileWriter___core__stream__Writer__write(var3
, var4
); /* Direct call file#FileWriter#write on <var3:Writer>*/
4993 { /* Inline kernel#Object#sys (self) on <self:Sys> */
5001 var8
= core__file___Sys___stdout(var5
);
5003 if (likely(varonce
!=NULL
)) {
5007 var11
= core__flat___NativeString___to_s_full(var10
, 1l, 1l);
5012 core___core__FileWriter___core__stream__Writer__write(var8
, var9
); /* Direct call file#FileWriter#write on <var8:Writer>*/
5016 /* method file#Sys#getcwd for (self: Sys): String */
5017 val
* core__file___Sys___getcwd(val
* self
) {
5018 val
* var
/* : String */;
5019 char* var1
/* : NativeString */;
5020 char* var3
/* : NativeString */;
5021 val
* var4
/* : String */;
5023 { /* Inline file#Sys#native_getcwd (self) on <self:Sys> */
5024 struct nitni_instance
* var_for_c_0
;
5025 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
5026 var_for_c_0
->value
= self
;
5027 var3
= file___Sys_native_getcwd___impl(var_for_c_0
);
5034 var4
= core__flat___NativeString___core__abstract_text__Object__to_s(var1
);
5041 /* method file#Sys#native_getcwd for (self: Sys): NativeString */
5042 char* core__file___Sys___native_getcwd(val
* self
) {
5043 char* var
/* : NativeString */;
5044 char* var1
/* : NativeString */;
5045 struct nitni_instance
* var_for_c_0
;
5046 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
5047 var_for_c_0
->value
= self
;
5048 var1
= file___Sys_native_getcwd___impl(var_for_c_0
);