1 #include "standard__file.sep.0.h"
2 /* method file#FileStream#path= for (self: FileStream, nullable String) */
3 void standard___standard__FileStream___path_61d(val
* self
, val
* p0
) {
4 self
->attrs
[COLOR_standard__file__FileStream___path
].val
= p0
; /* _path on <self:FileStream> */
7 /* method file#FileStream#close for (self: FileStream) */
8 void standard___standard__FileStream___standard__stream__Stream__close(val
* self
) {
9 val
* var
/* : nullable NativeFile */;
10 short int var1
/* : Bool */;
11 short int var2
/* : Bool */;
12 val
* var_other
/* var other: nullable Object */;
13 short int var4
/* : Bool */;
14 short int var6
/* : Bool */;
15 val
* var7
/* : nullable NativeFile */;
16 short int var8
/* : Bool */;
17 short int var10
/* : Bool for extern */;
18 void* var11
/* : Pointer for extern */;
19 val
* var12
/* : nullable IOError */;
20 val
* var14
/* : nullable IOError */;
21 short int var15
/* : Bool */;
22 short int var16
/* : Bool */;
23 val
* var_other18
/* var other: nullable Object */;
24 short int var19
/* : Bool */;
25 short int var20
/* : Bool */;
26 val
* var21
/* : IOError */;
28 val
* var22
/* : String */;
29 char* var23
/* : NativeString */;
30 val
* var24
/* : FlatString */;
31 val
* var26
/* : nullable NativeFile */;
32 long var27
/* : Int */;
33 long var29
/* : Int for extern */;
34 void* var30
/* : NativeFile for extern */;
35 long var_i
/* var i: Int */;
36 short int var31
/* : Bool */;
37 short int var33
/* : Bool */;
38 short int var34
/* : Bool */;
39 val
* var35
/* : IOError */;
40 val
* var37
/* : NativeArray[String] */;
41 static val
* varonce36
;
42 static val
* varonce38
;
43 val
* var39
/* : String */;
44 char* var40
/* : NativeString */;
45 val
* var41
/* : FlatString */;
46 val
* var42
/* : Sys */;
47 val
* var44
/* : Sys */;
48 long var45
/* : Int */;
49 long var47
/* : Int for extern */;
50 val
* var48
/* : String */;
51 val
* var49
/* : String */;
52 var
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileStream> */
54 var1
= 1; /* is null */
56 var1
= 0; /* arg is null but recv is not */
59 { /* Inline kernel#Object#== (var,((val*)NULL)) on <var:nullable NativeFile> */
60 var_other
= ((val
*)NULL
);
62 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable NativeFile(NativeFile)> */
63 var6
= var
== var_other
;
79 var7
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileStream> */
81 PRINT_ERROR("Runtime error: %s", "Receiver is null");
82 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 63);
85 { /* Inline kernel#Pointer#address_is_null (var7) on <var7:nullable NativeFile> */
86 var11
= ((struct instance_standard__Pointer
*)var7
)->value
; /* unboxing nullable NativeFile */
87 var10
= address_is_null(var11
);
95 { /* Inline stream#Stream#last_error (self) on <self:FileStream> */
96 var14
= self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
; /* _last_error on <self:FileStream> */
102 var15
= 0; /* is null */
104 var15
= 1; /* arg is null and recv is not */
107 { /* Inline kernel#Object#!= (var12,((val*)NULL)) on <var12:nullable IOError> */
108 var_other18
= ((val
*)NULL
);
110 var19
= ((short int(*)(val
* self
, val
* p0
))(var12
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var12
, var_other18
); /* == on <var12:nullable IOError(IOError)>*/
123 var21
= NEW_standard__IOError(&type_standard__IOError
);
124 if (likely(varonce
!=NULL
)) {
127 var23
= "Cannot close unopened file";
128 var24
= standard___standard__NativeString___to_s_with_length(var23
, 26l);
133 ((void(*)(val
* self
, val
* p0
))(var21
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var21
, var22
); /* message= on <var21:IOError>*/
136 ((void(*)(val
* self
))(var21
->class->vft
[COLOR_standard__kernel__Object__init
]))(var21
); /* init on <var21:IOError>*/
139 { /* Inline stream#Stream#last_error= (self,var21) on <self:FileStream> */
140 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var21
; /* _last_error on <self:FileStream> */
147 var26
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileStream> */
149 PRINT_ERROR("Runtime error: %s", "Receiver is null");
150 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 68);
153 { /* Inline file#NativeFile#io_close (var26) on <var26:nullable NativeFile> */
154 var30
= ((struct instance_standard__Pointer
*)var26
)->value
; /* unboxing nullable NativeFile */
155 var29
= file_NativeFile_NativeFile_io_close_0(var30
);
163 { /* Inline kernel#Int#!= (var_i,0l) on <var_i:Int> */
172 var35
= NEW_standard__IOError(&type_standard__IOError
);
173 if (unlikely(varonce36
==NULL
)) {
174 var37
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
175 if (likely(varonce38
!=NULL
)) {
178 var40
= "Close failed due to error ";
179 var41
= standard___standard__NativeString___to_s_with_length(var40
, 26l);
183 ((struct instance_standard__NativeArray
*)var37
)->values
[0]=var39
;
189 { /* Inline kernel#Object#sys (self) on <self:FileStream> */
197 { /* Inline kernel#Sys#errno (var42) on <var42:Sys> */
198 var47
= sys_errno(var42
);
205 var48
= standard__string___Int___strerror(var45
);
207 ((struct instance_standard__NativeArray
*)var37
)->values
[1]=var48
;
209 var49
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
213 ((void(*)(val
* self
, val
* p0
))(var35
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var35
, var49
); /* message= on <var35:IOError>*/
216 ((void(*)(val
* self
))(var35
->class->vft
[COLOR_standard__kernel__Object__init
]))(var35
); /* init on <var35:IOError>*/
219 { /* Inline stream#Stream#last_error= (self,var35) on <self:FileStream> */
220 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var35
; /* _last_error on <self:FileStream> */
226 self
->attrs
[COLOR_standard__file__FileStream___file
].val
= ((val
*)NULL
); /* _file on <self:FileStream> */
229 /* method file#FileStream#set_buffering_mode for (self: FileStream, Int, Int) */
230 void standard___standard__FileStream___set_buffering_mode(val
* self
, long p0
, long p1
) {
231 long var_buf_size
/* var buf_size: Int */;
232 long var_mode
/* var mode: Int */;
233 short int var
/* : Bool */;
234 short int var2
/* : Bool */;
237 const char* var_class_name
;
238 short int var3
/* : Bool */;
239 val
* var4
/* : nullable NativeFile */;
240 long var5
/* : Int */;
241 long var7
/* : Int for extern */;
242 void* var8
/* : NativeFile for extern */;
243 short int var9
/* : Bool */;
244 short int var11
/* : Bool */;
245 short int var12
/* : Bool */;
246 val
* var13
/* : IOError */;
247 val
* var14
/* : NativeArray[String] */;
249 static val
* varonce15
;
250 val
* var16
/* : String */;
251 char* var17
/* : NativeString */;
252 val
* var18
/* : FlatString */;
253 val
* var19
/* : Sys */;
254 val
* var21
/* : Sys */;
255 long var22
/* : Int */;
256 long var24
/* : Int for extern */;
257 val
* var25
/* : String */;
258 val
* var26
/* : String */;
262 { /* Inline kernel#Int#<= (var_buf_size,0l) on <var_buf_size:Int> */
263 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
264 /* <0l:Int> isa OTHER */
265 var2
= 1; /* easy <0l:Int> isa OTHER*/
266 if (unlikely(!var2
)) {
267 var_class_name
= type_standard__Int
.name
;
268 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
269 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 533);
272 var3
= var_buf_size
<= 0l;
282 var4
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileStream> */
284 PRINT_ERROR("Runtime error: %s", "Receiver is null");
285 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 85);
288 { /* Inline file#NativeFile#set_buffering_type (var4,var_buf_size,var_mode) on <var4:nullable NativeFile> */
289 var8
= ((struct instance_standard__Pointer
*)var4
)->value
; /* unboxing nullable NativeFile */
290 var7
= file_NativeFile_NativeFile_set_buffering_type_0(var8
, var_buf_size
, var_mode
);
297 { /* Inline kernel#Int#!= (var5,0l) on <var5:Int> */
306 var13
= NEW_standard__IOError(&type_standard__IOError
);
307 if (unlikely(varonce
==NULL
)) {
308 var14
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
309 if (likely(varonce15
!=NULL
)) {
312 var17
= "Error while changing buffering type for FileStream, returned error ";
313 var18
= standard___standard__NativeString___to_s_with_length(var17
, 67l);
317 ((struct instance_standard__NativeArray
*)var14
)->values
[0]=var16
;
323 { /* Inline kernel#Object#sys (self) on <self:FileStream> */
331 { /* Inline kernel#Sys#errno (var19) on <var19:Sys> */
332 var24
= sys_errno(var19
);
339 var25
= standard__string___Int___strerror(var22
);
341 ((struct instance_standard__NativeArray
*)var14
)->values
[1]=var25
;
343 var26
= ((val
*(*)(val
* self
))(var14
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var14
); /* native_to_s on <var14:NativeArray[String]>*/
347 ((void(*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var13
, var26
); /* message= on <var13:IOError>*/
350 ((void(*)(val
* self
))(var13
->class->vft
[COLOR_standard__kernel__Object__init
]))(var13
); /* init on <var13:IOError>*/
353 { /* Inline stream#Stream#last_error= (self,var13) on <self:FileStream> */
354 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var13
; /* _last_error on <self:FileStream> */
362 /* method file#FileReader#close for (self: FileReader) */
363 void standard___standard__FileReader___standard__stream__Stream__close(val
* self
) {
365 ((void(*)(val
* self
))(self
->class->vft
[COLOR_standard___standard__FileReader___standard__stream__Stream__close
]))(self
); /* close on <self:FileReader>*/
368 standard___standard__BufferedReader___buffer_reset(self
); /* Direct call stream#BufferedReader#buffer_reset on <self:FileReader>*/
371 { /* Inline file#FileReader#end_reached= (self,1) on <self:FileReader> */
372 self
->attrs
[COLOR_standard__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
378 /* method file#FileReader#fill_buffer for (self: FileReader) */
379 void standard___standard__FileReader___standard__stream__BufferedReader__fill_buffer(val
* self
) {
380 val
* var
/* : nullable NativeFile */;
381 char* var1
/* : NativeString */;
382 long var2
/* : Int */;
383 long var3
/* : Int */;
384 long var5
/* : Int for extern */;
385 void* var6
/* : NativeFile for extern */;
386 long var_nb
/* var nb: Int */;
387 short int var7
/* : Bool */;
388 short int var9
/* : Bool */;
391 const char* var_class_name
;
392 short int var10
/* : Bool */;
393 var
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileReader> */
394 var1
= self
->attrs
[COLOR_standard__stream__BufferedReader___buffer
].str
; /* _buffer on <self:FileReader> */
395 var2
= self
->attrs
[COLOR_standard__stream__BufferedReader___buffer_capacity
].l
; /* _buffer_capacity on <self:FileReader> */
397 PRINT_ERROR("Runtime error: %s", "Receiver is null");
398 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 128);
401 { /* Inline file#NativeFile#io_read (var,var1,var2) on <var:nullable NativeFile> */
402 var6
= ((struct instance_standard__Pointer
*)var
)->value
; /* unboxing nullable NativeFile */
403 var5
= file_NativeFile_NativeFile_io_read_2(var6
, var1
, var2
);
411 { /* Inline kernel#Int#<= (var_nb,0l) on <var_nb:Int> */
412 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
413 /* <0l:Int> isa OTHER */
414 var9
= 1; /* easy <0l:Int> isa OTHER*/
415 if (unlikely(!var9
)) {
416 var_class_name
= type_standard__Int
.name
;
417 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
418 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 533);
421 var10
= var_nb
<= 0l;
429 { /* Inline file#FileReader#end_reached= (self,1) on <self:FileReader> */
430 self
->attrs
[COLOR_standard__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
437 self
->attrs
[COLOR_standard__stream__BufferedReader___buffer_length
].l
= var_nb
; /* _buffer_length on <self:FileReader> */
438 self
->attrs
[COLOR_standard__stream__BufferedReader___buffer_pos
].l
= 0l; /* _buffer_pos on <self:FileReader> */
441 /* method file#FileReader#end_reached for (self: FileReader): Bool */
442 short int standard___standard__FileReader___standard__stream__BufferedReader__end_reached(val
* self
) {
443 short int var
/* : Bool */;
444 short int var1
/* : Bool */;
445 var1
= self
->attrs
[COLOR_standard__file__FileReader___end_reached
].s
; /* _end_reached on <self:FileReader> */
450 /* method file#FileReader#end_reached= for (self: FileReader, Bool) */
451 void standard___standard__FileReader___end_reached_61d(val
* self
, short int p0
) {
452 self
->attrs
[COLOR_standard__file__FileReader___end_reached
].s
= p0
; /* _end_reached on <self:FileReader> */
455 /* method file#FileReader#open for (self: FileReader, String) */
456 void standard___standard__FileReader___open(val
* self
, val
* p0
) {
457 val
* var_path
/* var path: String */;
458 val
* var
/* : NativeFile */;
459 char* var2
/* : NativeString */;
460 val
* var3
/* : NativeFile */;
461 val
* var4
/* : nullable NativeFile */;
462 short int var5
/* : Bool */;
463 short int var7
/* : Bool for extern */;
464 void* var8
/* : Pointer for extern */;
465 val
* var9
/* : IOError */;
466 val
* var10
/* : NativeArray[String] */;
468 static val
* varonce11
;
469 val
* var12
/* : String */;
470 char* var13
/* : NativeString */;
471 val
* var14
/* : FlatString */;
472 static val
* varonce15
;
473 val
* var16
/* : String */;
474 char* var17
/* : NativeString */;
475 val
* var18
/* : FlatString */;
476 static val
* varonce19
;
477 val
* var20
/* : String */;
478 char* var21
/* : NativeString */;
479 val
* var22
/* : FlatString */;
480 val
* var23
/* : Sys */;
481 val
* var25
/* : Sys */;
482 long var26
/* : Int */;
483 long var28
/* : Int for extern */;
484 val
* var29
/* : String */;
485 val
* var30
/* : String */;
487 ((void(*)(val
* self
))(self
->class->vft
[COLOR_standard__kernel__Object__init
]))(self
); /* init on <self:FileReader>*/
491 { /* Inline file#FileStream#path= (self,var_path) on <self:FileReader> */
492 self
->attrs
[COLOR_standard__file__FileStream___path
].val
= var_path
; /* _path on <self:FileReader> */
497 standard___standard__BufferedReader___prepare_buffer(self
, 10l); /* Direct call stream#BufferedReader#prepare_buffer on <self:FileReader>*/
499 var
= NEW_standard__file__NativeFile(&type_standard__file__NativeFile
);
501 var2
= ((char*(*)(val
* self
))(var_path
->class->vft
[COLOR_standard__string__Text__to_cstring
]))(var_path
); /* to_cstring on <var_path:String>*/
504 var3
= standard__file___standard__file__NativeFile___io_open_read(var
, var2
);
506 self
->attrs
[COLOR_standard__file__FileStream___file
].val
= var3
; /* _file on <self:FileReader> */
507 var4
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileReader> */
509 PRINT_ERROR("Runtime error: %s", "Receiver is null");
510 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 156);
513 { /* Inline kernel#Pointer#address_is_null (var4) on <var4:nullable NativeFile> */
514 var8
= ((struct instance_standard__Pointer
*)var4
)->value
; /* unboxing nullable NativeFile */
515 var7
= address_is_null(var8
);
522 var9
= NEW_standard__IOError(&type_standard__IOError
);
523 if (unlikely(varonce
==NULL
)) {
524 var10
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
525 if (likely(varonce11
!=NULL
)) {
528 var13
= "Error: Opening file at \'";
529 var14
= standard___standard__NativeString___to_s_with_length(var13
, 24l);
533 ((struct instance_standard__NativeArray
*)var10
)->values
[0]=var12
;
534 if (likely(varonce15
!=NULL
)) {
537 var17
= "\' failed with \'";
538 var18
= standard___standard__NativeString___to_s_with_length(var17
, 15l);
542 ((struct instance_standard__NativeArray
*)var10
)->values
[2]=var16
;
543 if (likely(varonce19
!=NULL
)) {
547 var22
= standard___standard__NativeString___to_s_with_length(var21
, 1l);
551 ((struct instance_standard__NativeArray
*)var10
)->values
[4]=var20
;
556 ((struct instance_standard__NativeArray
*)var10
)->values
[1]=var_path
;
558 { /* Inline kernel#Object#sys (self) on <self:FileReader> */
566 { /* Inline kernel#Sys#errno (var23) on <var23:Sys> */
567 var28
= sys_errno(var23
);
574 var29
= standard__string___Int___strerror(var26
);
576 ((struct instance_standard__NativeArray
*)var10
)->values
[3]=var29
;
578 var30
= ((val
*(*)(val
* self
))(var10
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var10
); /* native_to_s on <var10:NativeArray[String]>*/
582 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var9
, var30
); /* message= on <var9:IOError>*/
585 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_standard__kernel__Object__init
]))(var9
); /* init on <var9:IOError>*/
588 { /* Inline stream#Stream#last_error= (self,var9) on <self:FileReader> */
589 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var9
; /* _last_error on <self:FileReader> */
594 { /* Inline file#FileReader#end_reached= (self,1) on <self:FileReader> */
595 self
->attrs
[COLOR_standard__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
603 /* method file#FileWriter#write for (self: FileWriter, Text) */
604 void standard___standard__FileWriter___standard__stream__Writer__write(val
* self
, val
* p0
) {
605 val
* var_s
/* var s: Text */;
606 val
* var
/* : nullable IOError */;
607 val
* var2
/* : nullable IOError */;
608 short int var3
/* : Bool */;
609 short int var4
/* : Bool */;
610 val
* var_other
/* var other: nullable Object */;
611 short int var6
/* : Bool */;
612 short int var7
/* : Bool */;
613 short int var8
/* : Bool */;
614 short int var9
/* : Bool */;
615 val
* var10
/* : IOError */;
617 val
* var11
/* : String */;
618 char* var12
/* : NativeString */;
619 val
* var13
/* : FlatString */;
620 val
* var15
/* : Iterator[FlatText] */;
621 val
* var_
/* var : Iterator[FlatText] */;
622 val
* var16
/* : Iterator[nullable Object] */;
623 val
* var_17
/* var : Iterator[FlatText] */;
624 short int var18
/* : Bool */;
625 val
* var19
/* : nullable Object */;
626 val
* var_i
/* var i: FlatText */;
627 char* var20
/* : NativeString */;
628 long var21
/* : Int */;
629 long var23
/* : Int */;
632 { /* Inline stream#Stream#last_error (self) on <self:FileWriter> */
633 var2
= self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
; /* _last_error on <self:FileWriter> */
639 var3
= 0; /* is null */
641 var3
= 1; /* arg is null and recv is not */
644 { /* Inline kernel#Object#!= (var,((val*)NULL)) on <var:nullable IOError> */
645 var_other
= ((val
*)NULL
);
647 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable IOError(IOError)>*/
660 var8
= self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
; /* _is_writable on <self:FileWriter> */
663 var10
= NEW_standard__IOError(&type_standard__IOError
);
664 if (likely(varonce
!=NULL
)) {
667 var12
= "cannot write to non-writable stream";
668 var13
= standard___standard__NativeString___to_s_with_length(var12
, 35l);
673 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var10
, var11
); /* message= on <var10:IOError>*/
676 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_standard__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
679 { /* Inline stream#Stream#last_error= (self,var10) on <self:FileWriter> */
680 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
688 var15
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__substrings
]))(var_s
); /* substrings on <var_s:Text>*/
692 var16
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Iterator__iterator
]))(var_
); /* iterator on <var_:Iterator[FlatText]>*/
697 var18
= ((short int(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_17
); /* is_ok on <var_17:Iterator[FlatText]>*/
701 var19
= ((val
*(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_17
); /* item on <var_17:Iterator[FlatText]>*/
705 var20
= ((char*(*)(val
* self
))(var_i
->class->vft
[COLOR_standard__string__Text__to_cstring
]))(var_i
); /* to_cstring on <var_i:FlatText>*/
708 { /* Inline string#FlatText#length (var_i) on <var_i:FlatText> */
709 var23
= var_i
->attrs
[COLOR_standard__string__FlatText___length
].l
; /* _length on <var_i:FlatText> */
715 standard___standard__FileWriter___write_native(self
, var20
, var21
); /* Direct call file#FileWriter#write_native on <self:FileWriter>*/
718 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_17
); /* next on <var_17:Iterator[FlatText]>*/
724 BREAK_label
: (void)0;
726 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_17
); /* finish on <var_17:Iterator[FlatText]>*/
730 /* method file#FileWriter#close for (self: FileWriter) */
731 void standard___standard__FileWriter___standard__stream__Stream__close(val
* self
) {
733 ((void(*)(val
* self
))(self
->class->vft
[COLOR_standard___standard__FileWriter___standard__stream__Stream__close
]))(self
); /* close on <self:FileWriter>*/
735 self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
738 /* method file#FileWriter#is_writable= for (self: FileWriter, Bool) */
739 void standard___standard__FileWriter___is_writable_61d(val
* self
, short int p0
) {
740 self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
= p0
; /* _is_writable on <self:FileWriter> */
743 /* method file#FileWriter#write_native for (self: FileWriter, NativeString, Int) */
744 void standard___standard__FileWriter___write_native(val
* self
, char* p0
, long p1
) {
745 char* var_native
/* var native: NativeString */;
746 long var_len
/* var len: Int */;
747 val
* var
/* : nullable IOError */;
748 val
* var2
/* : nullable IOError */;
749 short int var3
/* : Bool */;
750 short int var4
/* : Bool */;
751 val
* var_other
/* var other: nullable Object */;
752 short int var6
/* : Bool */;
753 short int var7
/* : Bool */;
754 short int var8
/* : Bool */;
755 short int var9
/* : Bool */;
756 val
* var10
/* : IOError */;
758 val
* var11
/* : String */;
759 char* var12
/* : NativeString */;
760 val
* var13
/* : FlatString */;
761 val
* var15
/* : nullable NativeFile */;
762 short int var16
/* : Bool */;
763 short int var18
/* : Bool for extern */;
764 void* var19
/* : Pointer for extern */;
765 val
* var20
/* : IOError */;
766 static val
* varonce21
;
767 val
* var22
/* : String */;
768 char* var23
/* : NativeString */;
769 val
* var24
/* : FlatString */;
770 val
* var26
/* : nullable NativeFile */;
771 long var27
/* : Int */;
772 long var29
/* : Int for extern */;
773 void* var30
/* : NativeFile for extern */;
774 long var_err
/* var err: Int */;
775 short int var31
/* : Bool */;
776 short int var33
/* : Bool */;
777 short int var34
/* : Bool */;
778 val
* var35
/* : IOError */;
779 val
* var37
/* : NativeArray[String] */;
780 static val
* varonce36
;
781 static val
* varonce38
;
782 val
* var39
/* : String */;
783 char* var40
/* : NativeString */;
784 val
* var41
/* : FlatString */;
785 static val
* varonce42
;
786 val
* var43
/* : String */;
787 char* var44
/* : NativeString */;
788 val
* var45
/* : FlatString */;
789 static val
* varonce46
;
790 val
* var47
/* : String */;
791 char* var48
/* : NativeString */;
792 val
* var49
/* : FlatString */;
793 val
* var50
/* : String */;
794 val
* var51
/* : String */;
795 val
* var52
/* : String */;
799 { /* Inline stream#Stream#last_error (self) on <self:FileWriter> */
800 var2
= self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
; /* _last_error on <self:FileWriter> */
806 var3
= 0; /* is null */
808 var3
= 1; /* arg is null and recv is not */
811 { /* Inline kernel#Object#!= (var,((val*)NULL)) on <var:nullable IOError> */
812 var_other
= ((val
*)NULL
);
814 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable IOError(IOError)>*/
827 var8
= self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
; /* _is_writable on <self:FileWriter> */
830 var10
= NEW_standard__IOError(&type_standard__IOError
);
831 if (likely(varonce
!=NULL
)) {
834 var12
= "Cannot write to non-writable stream";
835 var13
= standard___standard__NativeString___to_s_with_length(var12
, 35l);
840 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var10
, var11
); /* message= on <var10:IOError>*/
843 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_standard__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
846 { /* Inline stream#Stream#last_error= (self,var10) on <self:FileWriter> */
847 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
854 var15
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
856 PRINT_ERROR("Runtime error: %s", "Receiver is null");
857 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 235);
860 { /* Inline kernel#Pointer#address_is_null (var15) on <var15:nullable NativeFile> */
861 var19
= ((struct instance_standard__Pointer
*)var15
)->value
; /* unboxing nullable NativeFile */
862 var18
= address_is_null(var19
);
869 var20
= NEW_standard__IOError(&type_standard__IOError
);
870 if (likely(varonce21
!=NULL
)) {
873 var23
= "Writing on a null stream";
874 var24
= standard___standard__NativeString___to_s_with_length(var23
, 24l);
879 ((void(*)(val
* self
, val
* p0
))(var20
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var20
, var22
); /* message= on <var20:IOError>*/
882 ((void(*)(val
* self
))(var20
->class->vft
[COLOR_standard__kernel__Object__init
]))(var20
); /* init on <var20:IOError>*/
885 { /* Inline stream#Stream#last_error= (self,var20) on <self:FileWriter> */
886 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var20
; /* _last_error on <self:FileWriter> */
890 self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
894 var26
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
896 PRINT_ERROR("Runtime error: %s", "Receiver is null");
897 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 240);
900 { /* Inline file#NativeFile#io_write (var26,var_native,var_len) on <var26:nullable NativeFile> */
901 var30
= ((struct instance_standard__Pointer
*)var26
)->value
; /* unboxing nullable NativeFile */
902 var29
= file_NativeFile_NativeFile_io_write_2(var30
, var_native
, var_len
);
910 { /* Inline kernel#Int#!= (var_err,var_len) on <var_err:Int> */
911 var33
= var_err
== var_len
;
919 var35
= NEW_standard__IOError(&type_standard__IOError
);
920 if (unlikely(varonce36
==NULL
)) {
921 var37
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
922 if (likely(varonce38
!=NULL
)) {
925 var40
= "Problem in writing : ";
926 var41
= standard___standard__NativeString___to_s_with_length(var40
, 21l);
930 ((struct instance_standard__NativeArray
*)var37
)->values
[0]=var39
;
931 if (likely(varonce42
!=NULL
)) {
935 var45
= standard___standard__NativeString___to_s_with_length(var44
, 1l);
939 ((struct instance_standard__NativeArray
*)var37
)->values
[2]=var43
;
940 if (likely(varonce46
!=NULL
)) {
944 var49
= standard___standard__NativeString___to_s_with_length(var48
, 2l);
948 ((struct instance_standard__NativeArray
*)var37
)->values
[4]=var47
;
953 var50
= standard__string___Int___Object__to_s(var_err
);
954 ((struct instance_standard__NativeArray
*)var37
)->values
[1]=var50
;
955 var51
= standard__string___Int___Object__to_s(var_len
);
956 ((struct instance_standard__NativeArray
*)var37
)->values
[3]=var51
;
958 var52
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
962 ((void(*)(val
* self
, val
* p0
))(var35
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var35
, var52
); /* message= on <var35:IOError>*/
965 ((void(*)(val
* self
))(var35
->class->vft
[COLOR_standard__kernel__Object__init
]))(var35
); /* init on <var35:IOError>*/
968 { /* Inline stream#Stream#last_error= (self,var35) on <self:FileWriter> */
969 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var35
; /* _last_error on <self:FileWriter> */
977 /* method file#FileWriter#open for (self: FileWriter, String) */
978 void standard___standard__FileWriter___open(val
* self
, val
* p0
) {
979 val
* var_path
/* var path: String */;
980 val
* var
/* : NativeFile */;
981 char* var1
/* : NativeString */;
982 val
* var2
/* : NativeFile */;
983 val
* var4
/* : nullable NativeFile */;
984 short int var5
/* : Bool */;
985 short int var7
/* : Bool for extern */;
986 void* var8
/* : Pointer for extern */;
987 val
* var9
/* : IOError */;
988 val
* var10
/* : NativeArray[String] */;
990 static val
* varonce11
;
991 val
* var12
/* : String */;
992 char* var13
/* : NativeString */;
993 val
* var14
/* : FlatString */;
994 static val
* varonce15
;
995 val
* var16
/* : String */;
996 char* var17
/* : NativeString */;
997 val
* var18
/* : FlatString */;
998 static val
* varonce19
;
999 val
* var20
/* : String */;
1000 char* var21
/* : NativeString */;
1001 val
* var22
/* : FlatString */;
1002 val
* var23
/* : Sys */;
1003 val
* var25
/* : Sys */;
1004 long var26
/* : Int */;
1005 long var28
/* : Int for extern */;
1006 val
* var29
/* : String */;
1007 val
* var30
/* : String */;
1009 ((void(*)(val
* self
))(self
->class->vft
[COLOR_standard__kernel__Object__init
]))(self
); /* init on <self:FileWriter>*/
1012 var
= NEW_standard__file__NativeFile(&type_standard__file__NativeFile
);
1014 var1
= ((char*(*)(val
* self
))(var_path
->class->vft
[COLOR_standard__string__Text__to_cstring
]))(var_path
); /* to_cstring on <var_path:String>*/
1017 var2
= standard__file___standard__file__NativeFile___io_open_write(var
, var1
);
1019 self
->attrs
[COLOR_standard__file__FileStream___file
].val
= var2
; /* _file on <self:FileWriter> */
1021 { /* Inline file#FileStream#path= (self,var_path) on <self:FileWriter> */
1022 self
->attrs
[COLOR_standard__file__FileStream___path
].val
= var_path
; /* _path on <self:FileWriter> */
1026 self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:FileWriter> */
1027 var4
= self
->attrs
[COLOR_standard__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
1029 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1030 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 253);
1033 { /* Inline kernel#Pointer#address_is_null (var4) on <var4:nullable NativeFile> */
1034 var8
= ((struct instance_standard__Pointer
*)var4
)->value
; /* unboxing nullable NativeFile */
1035 var7
= address_is_null(var8
);
1042 var9
= NEW_standard__IOError(&type_standard__IOError
);
1043 if (unlikely(varonce
==NULL
)) {
1044 var10
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
1045 if (likely(varonce11
!=NULL
)) {
1048 var13
= "Error: Opening file at \'";
1049 var14
= standard___standard__NativeString___to_s_with_length(var13
, 24l);
1053 ((struct instance_standard__NativeArray
*)var10
)->values
[0]=var12
;
1054 if (likely(varonce15
!=NULL
)) {
1057 var17
= "\' failed with \'";
1058 var18
= standard___standard__NativeString___to_s_with_length(var17
, 15l);
1062 ((struct instance_standard__NativeArray
*)var10
)->values
[2]=var16
;
1063 if (likely(varonce19
!=NULL
)) {
1067 var22
= standard___standard__NativeString___to_s_with_length(var21
, 1l);
1071 ((struct instance_standard__NativeArray
*)var10
)->values
[4]=var20
;
1076 ((struct instance_standard__NativeArray
*)var10
)->values
[1]=var_path
;
1078 { /* Inline kernel#Object#sys (self) on <self:FileWriter> */
1082 RET_LABEL24
:(void)0;
1086 { /* Inline kernel#Sys#errno (var23) on <var23:Sys> */
1087 var28
= sys_errno(var23
);
1090 RET_LABEL27
:(void)0;
1094 var29
= standard__string___Int___strerror(var26
);
1096 ((struct instance_standard__NativeArray
*)var10
)->values
[3]=var29
;
1098 var30
= ((val
*(*)(val
* self
))(var10
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var10
); /* native_to_s on <var10:NativeArray[String]>*/
1102 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var9
, var30
); /* message= on <var9:IOError>*/
1105 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_standard__kernel__Object__init
]))(var9
); /* init on <var9:IOError>*/
1108 { /* Inline stream#Stream#last_error= (self,var9) on <self:FileWriter> */
1109 self
->attrs
[COLOR_standard__stream__Stream___last_error
].val
= var9
; /* _last_error on <self:FileWriter> */
1110 RET_LABEL31
:(void)0;
1114 { /* Inline file#FileWriter#is_writable= (self,0) on <self:FileWriter> */
1115 self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
1116 RET_LABEL32
:(void)0;
1123 /* method file#Stdin#init for (self: Stdin) */
1124 void standard___standard__Stdin___standard__kernel__Object__init(val
* self
) {
1125 val
* var
/* : NativeFile */;
1126 val
* var1
/* : NativeFile */;
1127 static val
* varonce
;
1128 val
* var2
/* : String */;
1129 char* var3
/* : NativeString */;
1130 val
* var4
/* : FlatString */;
1132 ((void(*)(val
* self
))(self
->class->vft
[COLOR_standard___standard__Stdin___standard__kernel__Object__init
]))(self
); /* init on <self:Stdin>*/
1134 var
= NEW_standard__file__NativeFile(&type_standard__file__NativeFile
);
1136 var1
= standard__file___standard__file__NativeFile___native_stdin(var
);
1138 self
->attrs
[COLOR_standard__file__FileStream___file
].val
= var1
; /* _file on <self:Stdin> */
1139 if (likely(varonce
!=NULL
)) {
1142 var3
= "/dev/stdin";
1143 var4
= standard___standard__NativeString___to_s_with_length(var3
, 10l);
1148 { /* Inline file#FileStream#path= (self,var2) on <self:Stdin> */
1149 self
->attrs
[COLOR_standard__file__FileStream___path
].val
= var2
; /* _path on <self:Stdin> */
1154 standard___standard__BufferedReader___prepare_buffer(self
, 1l); /* Direct call stream#BufferedReader#prepare_buffer on <self:Stdin>*/
1158 /* method file#Stdout#init for (self: Stdout) */
1159 void standard___standard__Stdout___standard__kernel__Object__init(val
* self
) {
1160 val
* var
/* : NativeFile */;
1161 val
* var1
/* : NativeFile */;
1162 static val
* varonce
;
1163 val
* var2
/* : String */;
1164 char* var3
/* : NativeString */;
1165 val
* var4
/* : FlatString */;
1166 val
* var6
/* : Sys */;
1167 val
* var8
/* : Sys */;
1168 long var9
/* : Int */;
1169 long var11
/* : Int for extern */;
1171 ((void(*)(val
* self
))(self
->class->vft
[COLOR_standard___standard__Stdout___standard__kernel__Object__init
]))(self
); /* init on <self:Stdout>*/
1173 var
= NEW_standard__file__NativeFile(&type_standard__file__NativeFile
);
1175 var1
= standard__file___standard__file__NativeFile___native_stdout(var
);
1177 self
->attrs
[COLOR_standard__file__FileStream___file
].val
= var1
; /* _file on <self:Stdout> */
1178 if (likely(varonce
!=NULL
)) {
1181 var3
= "/dev/stdout";
1182 var4
= standard___standard__NativeString___to_s_with_length(var3
, 11l);
1187 { /* Inline file#FileStream#path= (self,var2) on <self:Stdout> */
1188 self
->attrs
[COLOR_standard__file__FileStream___path
].val
= var2
; /* _path on <self:Stdout> */
1192 self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:Stdout> */
1194 { /* Inline kernel#Object#sys (self) on <self:Stdout> */
1202 { /* Inline file#Sys#buffer_mode_line (var6) on <var6:Sys> */
1203 var11
= file_Sys_Sys_buffer_mode_line_0(var6
);
1206 RET_LABEL10
:(void)0;
1210 standard___standard__FileStream___set_buffering_mode(self
, 256l, var9
); /* Direct call file#FileStream#set_buffering_mode on <self:Stdout>*/
1214 /* method file#Stderr#init for (self: Stderr) */
1215 void standard___standard__Stderr___standard__kernel__Object__init(val
* self
) {
1216 val
* var
/* : NativeFile */;
1217 val
* var1
/* : NativeFile */;
1218 static val
* varonce
;
1219 val
* var2
/* : String */;
1220 char* var3
/* : NativeString */;
1221 val
* var4
/* : FlatString */;
1223 ((void(*)(val
* self
))(self
->class->vft
[COLOR_standard___standard__Stderr___standard__kernel__Object__init
]))(self
); /* init on <self:Stderr>*/
1225 var
= NEW_standard__file__NativeFile(&type_standard__file__NativeFile
);
1227 var1
= standard__file___standard__file__NativeFile___native_stderr(var
);
1229 self
->attrs
[COLOR_standard__file__FileStream___file
].val
= var1
; /* _file on <self:Stderr> */
1230 if (likely(varonce
!=NULL
)) {
1233 var3
= "/dev/stderr";
1234 var4
= standard___standard__NativeString___to_s_with_length(var3
, 11l);
1239 { /* Inline file#FileStream#path= (self,var2) on <self:Stderr> */
1240 self
->attrs
[COLOR_standard__file__FileStream___path
].val
= var2
; /* _path on <self:Stderr> */
1244 self
->attrs
[COLOR_standard__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:Stderr> */
1247 /* method file#Writable#write_to_file for (self: Writable, String) */
1248 void standard__file___Writable___write_to_file(val
* self
, val
* p0
) {
1249 val
* var_filepath
/* var filepath: String */;
1250 val
* var
/* : FileWriter */;
1251 val
* var_stream
/* var stream: FileWriter */;
1253 var
= NEW_standard__FileWriter(&type_standard__FileWriter
);
1255 standard___standard__FileWriter___open(var
, var_filepath
); /* Direct call file#FileWriter#open on <var:FileWriter>*/
1259 ((void(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_standard__stream__Writable__write_to
]))(self
, var_stream
); /* write_to on <self:Writable>*/
1262 standard___standard__FileWriter___standard__stream__Stream__close(var_stream
); /* Direct call file#FileWriter#close on <var_stream:FileWriter>*/
1266 /* method file#Path#path for (self: Path): String */
1267 val
* standard___standard__Path___path(val
* self
) {
1268 val
* var
/* : String */;
1269 val
* var1
/* : String */;
1270 var1
= self
->attrs
[COLOR_standard__file__Path___path
].val
; /* _path on <self:Path> */
1271 if (unlikely(var1
== NULL
)) {
1272 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1273 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 347);
1280 /* method file#Path#path= for (self: Path, String) */
1281 void standard___standard__Path___path_61d(val
* self
, val
* p0
) {
1282 self
->attrs
[COLOR_standard__file__Path___path
].val
= p0
; /* _path on <self:Path> */
1285 /* method file#Path#to_s for (self: Path): String */
1286 val
* standard___standard__Path___standard__string__Object__to_s(val
* self
) {
1287 val
* var
/* : String */;
1288 val
* var1
/* : String */;
1289 val
* var3
/* : String */;
1291 { /* Inline file#Path#path (self) on <self:Path> */
1292 var3
= self
->attrs
[COLOR_standard__file__Path___path
].val
; /* _path on <self:Path> */
1293 if (unlikely(var3
== NULL
)) {
1294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1295 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 347);
1307 /* method file#Path#copy for (self: Path, Path) */
1308 void standard___standard__Path___copy(val
* self
, val
* p0
) {
1309 val
* var_dest
/* var dest: Path */;
1310 val
* var
/* : FileReader */;
1311 val
* var_input
/* var input: FileReader */;
1312 val
* var1
/* : FileWriter */;
1313 val
* var_output
/* var output: FileWriter */;
1314 short int var2
/* : Bool */;
1315 short int var3
/* : Bool */;
1316 val
* var4
/* : String */;
1317 val
* var_buffer
/* var buffer: String */;
1320 var
= standard___standard__Path___open_ro(self
);
1324 var1
= standard___standard__Path___open_wo(var_dest
);
1329 var2
= standard___standard__BufferedReader___Reader__eof(var_input
);
1334 var4
= standard___standard__Reader___read(var_input
, 1024l);
1338 standard___standard__FileWriter___standard__stream__Writer__write(var_output
, var_buffer
); /* Direct call file#FileWriter#write on <var_output:FileWriter>*/
1344 BREAK_label
: (void)0;
1346 standard___standard__FileReader___standard__stream__Stream__close(var_input
); /* Direct call file#FileReader#close on <var_input:FileReader>*/
1349 standard___standard__FileWriter___standard__stream__Stream__close(var_output
); /* Direct call file#FileWriter#close on <var_output:FileWriter>*/
1353 /* method file#Path#open_ro for (self: Path): FileReader */
1354 val
* standard___standard__Path___open_ro(val
* self
) {
1355 val
* var
/* : FileReader */;
1356 val
* var1
/* : FileReader */;
1357 val
* var2
/* : String */;
1358 val
* var4
/* : String */;
1359 var1
= NEW_standard__FileReader(&type_standard__FileReader
);
1361 { /* Inline file#Path#path (self) on <self:Path> */
1362 var4
= self
->attrs
[COLOR_standard__file__Path___path
].val
; /* _path on <self:Path> */
1363 if (unlikely(var4
== NULL
)) {
1364 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1365 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 347);
1373 standard___standard__FileReader___open(var1
, var2
); /* Direct call file#FileReader#open on <var1:FileReader>*/
1380 /* method file#Path#open_wo for (self: Path): FileWriter */
1381 val
* standard___standard__Path___open_wo(val
* self
) {
1382 val
* var
/* : FileWriter */;
1383 val
* var1
/* : FileWriter */;
1384 val
* var2
/* : String */;
1385 val
* var4
/* : String */;
1386 var1
= NEW_standard__FileWriter(&type_standard__FileWriter
);
1388 { /* Inline file#Path#path (self) on <self:Path> */
1389 var4
= self
->attrs
[COLOR_standard__file__Path___path
].val
; /* _path on <self:Path> */
1390 if (unlikely(var4
== NULL
)) {
1391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1392 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 347);
1400 standard___standard__FileWriter___open(var1
, var2
); /* Direct call file#FileWriter#open on <var1:FileWriter>*/
1407 /* method file#Path#== for (self: Path, nullable Object): Bool */
1408 short int standard___standard__Path___standard__kernel__Object___61d_61d(val
* self
, val
* p0
) {
1409 short int var
/* : Bool */;
1410 val
* var_other
/* var other: nullable Object */;
1411 short int var1
/* : Bool */;
1412 short int var2
/* : Bool */;
1415 short int var_
/* var : Bool */;
1416 val
* var3
/* : String */;
1417 val
* var5
/* : String */;
1418 val
* var6
/* : String */;
1419 val
* var7
/* : String */;
1420 val
* var9
/* : String */;
1421 val
* var10
/* : String */;
1422 short int var11
/* : Bool */;
1424 /* <var_other:nullable Object> isa Path */
1425 cltype
= type_standard__Path
.color
;
1426 idtype
= type_standard__Path
.id
;
1427 if(var_other
== NULL
) {
1430 if(cltype
>= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->table_size
) {
1433 var2
= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->type_table
[cltype
] == idtype
;
1439 { /* Inline file#Path#path (self) on <self:Path> */
1440 var5
= self
->attrs
[COLOR_standard__file__Path___path
].val
; /* _path on <self:Path> */
1441 if (unlikely(var5
== NULL
)) {
1442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1443 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 347);
1451 var6
= standard__file___String___simplify_path(var3
);
1454 { /* Inline file#Path#path (var_other) on <var_other:nullable Object(Path)> */
1455 var9
= var_other
->attrs
[COLOR_standard__file__Path___path
].val
; /* _path on <var_other:nullable Object(Path)> */
1456 if (unlikely(var9
== NULL
)) {
1457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1458 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 347);
1466 var10
= standard__file___String___simplify_path(var7
);
1469 var11
= ((short int(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var6
, var10
); /* == on <var6:String>*/
1480 /* method file#Path#hash for (self: Path): Int */
1481 long standard___standard__Path___standard__kernel__Object__hash(val
* self
) {
1482 long var
/* : Int */;
1483 val
* var1
/* : String */;
1484 val
* var3
/* : String */;
1485 val
* var4
/* : String */;
1486 long var5
/* : Int */;
1488 { /* Inline file#Path#path (self) on <self:Path> */
1489 var3
= self
->attrs
[COLOR_standard__file__Path___path
].val
; /* _path on <self:Path> */
1490 if (unlikely(var3
== NULL
)) {
1491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1492 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 347);
1500 var4
= standard__file___String___simplify_path(var1
);
1503 var5
= ((long(*)(val
* self
))(var4
->class->vft
[COLOR_standard__kernel__Object__hash
]))(var4
); /* hash on <var4:String>*/
1510 /* method file#Path#init for (self: Path) */
1511 void standard___standard__Path___standard__kernel__Object__init(val
* self
) {
1513 ((void(*)(val
* self
))(self
->class->vft
[COLOR_standard___standard__Path___standard__kernel__Object__init
]))(self
); /* init on <self:Path>*/
1517 /* method file#Text#to_path for (self: Text): Path */
1518 val
* standard__file___Text___to_path(val
* self
) {
1519 val
* var
/* : Path */;
1520 val
* var1
/* : Path */;
1521 val
* var2
/* : String */;
1522 var1
= NEW_standard__Path(&type_standard__Path
);
1524 var2
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Object__to_s
]))(self
); /* to_s on <self:Text>*/
1527 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_standard__file__Path__path_61d
]))(var1
, var2
); /* path= on <var1:Path>*/
1530 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_standard__kernel__Object__init
]))(var1
); /* init on <var1:Path>*/
1537 /* method file#String#file_exists for (self: String): Bool */
1538 short int standard__file___String___file_exists(val
* self
) {
1539 short int var
/* : Bool */;
1540 char* var1
/* : NativeString */;
1541 short int var2
/* : Bool */;
1542 short int var4
/* : Bool for extern */;
1544 var1
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
1547 { /* Inline file#NativeString#file_exists (var1) on <var1:NativeString> */
1548 var4
= string_NativeString_NativeString_file_exists_0(var1
);
1559 /* method file#String#file_copy_to for (self: String, String) */
1560 void standard__file___String___file_copy_to(val
* self
, val
* p0
) {
1561 val
* var_dest
/* var dest: String */;
1562 val
* var
/* : Path */;
1563 val
* var1
/* : Path */;
1566 var
= standard__file___Text___to_path(self
);
1569 var1
= standard__file___Text___to_path(var_dest
);
1572 standard___standard__Path___copy(var
, var1
); /* Direct call file#Path#copy on <var:Path>*/
1576 /* method file#String#strip_extension for (self: String, String): String */
1577 val
* standard__file___String___strip_extension(val
* self
, val
* p0
) {
1578 val
* var
/* : String */;
1579 val
* var_ext
/* var ext: String */;
1580 short int var1
/* : Bool */;
1581 long var2
/* : Int */;
1582 long var3
/* : Int */;
1583 long var4
/* : Int */;
1584 short int var6
/* : Bool */;
1587 const char* var_class_name
;
1588 long var7
/* : Int */;
1589 val
* var8
/* : Text */;
1592 var1
= standard___standard__Text___has_suffix(self
, var_ext
);
1596 var2
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
); /* length on <self:String>*/
1599 var3
= ((long(*)(val
* self
))(var_ext
->class->vft
[COLOR_standard__string__Text__length
]))(var_ext
); /* length on <var_ext:String>*/
1602 { /* Inline kernel#Int#- (var2,var3) on <var2:Int> */
1603 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
1604 /* <var3:Int> isa OTHER */
1605 var6
= 1; /* easy <var3:Int> isa OTHER*/
1606 if (unlikely(!var6
)) {
1607 var_class_name
= type_standard__Int
.name
;
1608 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1609 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1619 var8
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_standard__string__Text__substring
]))(self
, 0l, var4
); /* substring on <self:String>*/
1630 /* method file#String#basename for (self: String, String): String */
1631 val
* standard__file___String___basename(val
* self
, val
* p0
) {
1632 val
* var
/* : String */;
1633 val
* var_ext
/* var ext: String */;
1634 long var1
/* : Int */;
1635 long var2
/* : Int */;
1636 short int var4
/* : Bool */;
1639 const char* var_class_name
;
1640 long var5
/* : Int */;
1641 long var_l
/* var l: Int */;
1642 short int var6
/* : Bool */;
1643 short int var7
/* : Bool */;
1644 short int var9
/* : Bool */;
1647 const char* var_class_name12
;
1648 short int var13
/* : Bool */;
1649 short int var_
/* var : Bool */;
1650 val
* var14
/* : SequenceRead[Char] */;
1651 val
* var15
/* : nullable Object */;
1652 short int var16
/* : Bool */;
1653 short int var18
/* : Bool */;
1654 uint32_t var19
/* : Char */;
1655 long var20
/* : Int */;
1656 short int var22
/* : Bool */;
1659 const char* var_class_name25
;
1660 long var26
/* : Int */;
1661 short int var27
/* : Bool */;
1662 short int var29
/* : Bool */;
1663 static val
* varonce
;
1664 val
* var30
/* : String */;
1665 char* var31
/* : NativeString */;
1666 val
* var32
/* : FlatString */;
1667 val
* var33
/* : SequenceRead[Char] */;
1668 val
* var34
/* : nullable Object */;
1669 long var35
/* : Int */;
1670 long var_pos
/* var pos: Int */;
1671 val
* var_n
/* var n: String */;
1672 short int var36
/* : Bool */;
1673 short int var38
/* : Bool */;
1676 const char* var_class_name41
;
1677 short int var42
/* : Bool */;
1678 long var43
/* : Int */;
1679 short int var45
/* : Bool */;
1682 const char* var_class_name48
;
1683 long var49
/* : Int */;
1684 long var50
/* : Int */;
1685 short int var52
/* : Bool */;
1688 const char* var_class_name55
;
1689 long var56
/* : Int */;
1690 val
* var57
/* : Text */;
1691 val
* var58
/* : String */;
1694 var1
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
); /* length on <self:String>*/
1697 { /* Inline kernel#Int#- (var1,1l) on <var1:Int> */
1698 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1699 /* <1l:Int> isa OTHER */
1700 var4
= 1; /* easy <1l:Int> isa OTHER*/
1701 if (unlikely(!var4
)) {
1702 var_class_name
= type_standard__Int
.name
;
1703 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1704 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1716 { /* Inline kernel#Int#> (var_l,0l) on <var_l:Int> */
1717 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1718 /* <0l:Int> isa OTHER */
1719 var9
= 1; /* easy <0l:Int> isa OTHER*/
1720 if (unlikely(!var9
)) {
1721 var_class_name12
= type_standard__Int
.name
;
1722 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
1723 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
1735 var14
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__chars
]))(self
); /* chars on <self:String>*/
1738 var15
= ((val
*(*)(val
* self
, long p0
))((((long)var14
&3)?class_info
[((long)var14
&3)]:var14
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var14
, var_l
); /* [] on <var14:SequenceRead[Char]>*/
1741 { /* Inline kernel#Char#== (var15,'/') on <var15:nullable Object(Char)> */
1742 var19
= (uint32_t)((long)(var15
)>>2);
1743 var18
= (var15
!= NULL
) && (var19
== '/');
1746 RET_LABEL17
:(void)0;
1755 { /* Inline kernel#Int#- (var_l,1l) on <var_l:Int> */
1756 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1757 /* <1l:Int> isa OTHER */
1758 var22
= 1; /* easy <1l:Int> isa OTHER*/
1759 if (unlikely(!var22
)) {
1760 var_class_name25
= type_standard__Int
.name
;
1761 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
1762 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1768 RET_LABEL21
:(void)0;
1776 BREAK_label
: (void)0;
1778 { /* Inline kernel#Int#== (var_l,0l) on <var_l:Int> */
1779 var29
= var_l
== 0l;
1782 RET_LABEL28
:(void)0;
1786 if (likely(varonce
!=NULL
)) {
1790 var32
= standard___standard__NativeString___to_s_with_length(var31
, 1l);
1799 var33
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__chars
]))(self
); /* chars on <self:String>*/
1802 var34
= (val
*)((long)('/')<<2|2);
1803 var35
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)var33
&3)?class_info
[((long)var33
&3)]:var33
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead__last_index_of_from
]))(var33
, var34
, var_l
); /* last_index_of_from on <var33:SequenceRead[Char]>*/
1808 { /* Inline kernel#Int#>= (var_pos,0l) on <var_pos:Int> */
1809 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1810 /* <0l:Int> isa OTHER */
1811 var38
= 1; /* easy <0l:Int> isa OTHER*/
1812 if (unlikely(!var38
)) {
1813 var_class_name41
= type_standard__Int
.name
;
1814 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
1815 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 535);
1818 var42
= var_pos
>= 0l;
1821 RET_LABEL37
:(void)0;
1826 { /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
1827 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1828 /* <1l:Int> isa OTHER */
1829 var45
= 1; /* easy <1l:Int> isa OTHER*/
1830 if (unlikely(!var45
)) {
1831 var_class_name48
= type_standard__Int
.name
;
1832 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
1833 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
1836 var49
= var_pos
+ 1l;
1839 RET_LABEL44
:(void)0;
1843 { /* Inline kernel#Int#- (var_l,var_pos) on <var_l:Int> */
1844 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
1845 /* <var_pos:Int> isa OTHER */
1846 var52
= 1; /* easy <var_pos:Int> isa OTHER*/
1847 if (unlikely(!var52
)) {
1848 var_class_name55
= type_standard__Int
.name
;
1849 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
1850 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1853 var56
= var_l
- var_pos
;
1856 RET_LABEL51
:(void)0;
1860 var57
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_standard__string__Text__substring
]))(self
, var43
, var50
); /* substring on <self:String>*/
1866 var58
= standard__file___String___strip_extension(var_n
, var_ext
);
1873 /* method file#String#dirname for (self: String): String */
1874 val
* standard__file___String___dirname(val
* self
) {
1875 val
* var
/* : String */;
1876 long var1
/* : Int */;
1877 long var2
/* : Int */;
1878 short int var4
/* : Bool */;
1881 const char* var_class_name
;
1882 long var5
/* : Int */;
1883 long var_l
/* var l: Int */;
1884 short int var6
/* : Bool */;
1885 short int var7
/* : Bool */;
1886 short int var9
/* : Bool */;
1889 const char* var_class_name12
;
1890 short int var13
/* : Bool */;
1891 short int var_
/* var : Bool */;
1892 val
* var14
/* : SequenceRead[Char] */;
1893 val
* var15
/* : nullable Object */;
1894 short int var16
/* : Bool */;
1895 short int var18
/* : Bool */;
1896 uint32_t var19
/* : Char */;
1897 long var20
/* : Int */;
1898 short int var22
/* : Bool */;
1901 const char* var_class_name25
;
1902 long var26
/* : Int */;
1903 val
* var27
/* : SequenceRead[Char] */;
1904 val
* var28
/* : nullable Object */;
1905 long var29
/* : Int */;
1906 long var_pos
/* var pos: Int */;
1907 short int var30
/* : Bool */;
1908 short int var32
/* : Bool */;
1911 const char* var_class_name35
;
1912 short int var36
/* : Bool */;
1913 val
* var37
/* : Text */;
1914 short int var38
/* : Bool */;
1915 short int var40
/* : Bool */;
1916 static val
* varonce
;
1917 val
* var41
/* : String */;
1918 char* var42
/* : NativeString */;
1919 val
* var43
/* : FlatString */;
1920 static val
* varonce44
;
1921 val
* var45
/* : String */;
1922 char* var46
/* : NativeString */;
1923 val
* var47
/* : FlatString */;
1925 var1
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
); /* length on <self:String>*/
1928 { /* Inline kernel#Int#- (var1,1l) on <var1:Int> */
1929 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1930 /* <1l:Int> isa OTHER */
1931 var4
= 1; /* easy <1l:Int> isa OTHER*/
1932 if (unlikely(!var4
)) {
1933 var_class_name
= type_standard__Int
.name
;
1934 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1935 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1947 { /* Inline kernel#Int#> (var_l,0l) on <var_l:Int> */
1948 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1949 /* <0l:Int> isa OTHER */
1950 var9
= 1; /* easy <0l:Int> isa OTHER*/
1951 if (unlikely(!var9
)) {
1952 var_class_name12
= type_standard__Int
.name
;
1953 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
1954 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
1966 var14
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__chars
]))(self
); /* chars on <self:String>*/
1969 var15
= ((val
*(*)(val
* self
, long p0
))((((long)var14
&3)?class_info
[((long)var14
&3)]:var14
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var14
, var_l
); /* [] on <var14:SequenceRead[Char]>*/
1972 { /* Inline kernel#Char#== (var15,'/') on <var15:nullable Object(Char)> */
1973 var19
= (uint32_t)((long)(var15
)>>2);
1974 var18
= (var15
!= NULL
) && (var19
== '/');
1977 RET_LABEL17
:(void)0;
1986 { /* Inline kernel#Int#- (var_l,1l) on <var_l:Int> */
1987 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1988 /* <1l:Int> isa OTHER */
1989 var22
= 1; /* easy <1l:Int> isa OTHER*/
1990 if (unlikely(!var22
)) {
1991 var_class_name25
= type_standard__Int
.name
;
1992 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
1993 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1999 RET_LABEL21
:(void)0;
2007 BREAK_label
: (void)0;
2009 var27
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__chars
]))(self
); /* chars on <self:String>*/
2012 var28
= (val
*)((long)('/')<<2|2);
2013 var29
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)var27
&3)?class_info
[((long)var27
&3)]:var27
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead__last_index_of_from
]))(var27
, var28
, var_l
); /* last_index_of_from on <var27:SequenceRead[Char]>*/
2017 { /* Inline kernel#Int#> (var_pos,0l) on <var_pos:Int> */
2018 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2019 /* <0l:Int> isa OTHER */
2020 var32
= 1; /* easy <0l:Int> isa OTHER*/
2021 if (unlikely(!var32
)) {
2022 var_class_name35
= type_standard__Int
.name
;
2023 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
2024 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
2027 var36
= var_pos
> 0l;
2030 RET_LABEL31
:(void)0;
2035 var37
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_standard__string__Text__substring
]))(self
, 0l, var_pos
); /* substring on <self:String>*/
2041 { /* Inline kernel#Int#== (var_pos,0l) on <var_pos:Int> */
2042 var40
= var_pos
== 0l;
2045 RET_LABEL39
:(void)0;
2049 if (likely(varonce
!=NULL
)) {
2053 var43
= standard___standard__NativeString___to_s_with_length(var42
, 1l);
2060 if (likely(varonce44
!=NULL
)) {
2064 var47
= standard___standard__NativeString___to_s_with_length(var46
, 1l);
2075 /* method file#String#realpath for (self: String): String */
2076 val
* standard__file___String___realpath(val
* self
) {
2077 val
* var
/* : String */;
2078 char* var1
/* : NativeString */;
2079 char* var2
/* : NativeString */;
2080 void* var4
/* : NativeString for extern */;
2081 char* var_cs
/* var cs: NativeString */;
2082 val
* var5
/* : FlatString */;
2083 val
* var_res
/* var res: FlatString */;
2085 var1
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
2088 { /* Inline file#NativeString#file_realpath (var1) on <var1:NativeString> */
2089 var4
= file_NativeString_realpath(var1
);
2097 var5
= standard___standard__NativeString___to_s_with_copy(var_cs
);
2105 /* method file#String#simplify_path for (self: String): String */
2106 val
* standard__file___String___simplify_path(val
* self
) {
2107 val
* var
/* : String */;
2108 static val
* varonce
;
2109 val
* var1
/* : String */;
2110 char* var2
/* : NativeString */;
2111 val
* var3
/* : FlatString */;
2112 val
* var4
/* : Array[String] */;
2113 val
* var_a
/* var a: Array[String] */;
2114 val
* var5
/* : Array[String] */;
2115 val
* var_a2
/* var a2: Array[String] */;
2116 val
* var_
/* var : Array[String] */;
2117 val
* var6
/* : ArrayIterator[nullable Object] */;
2118 val
* var_7
/* var : ArrayIterator[String] */;
2119 short int var8
/* : Bool */;
2120 val
* var9
/* : nullable Object */;
2121 val
* var_x
/* var x: String */;
2122 short int var10
/* : Bool */;
2123 static val
* varonce11
;
2124 val
* var12
/* : String */;
2125 char* var13
/* : NativeString */;
2126 val
* var14
/* : FlatString */;
2127 short int var15
/* : Bool */;
2128 short int var_16
/* var : Bool */;
2129 short int var17
/* : Bool */;
2130 short int var18
/* : Bool */;
2131 short int var19
/* : Bool */;
2132 static val
* varonce20
;
2133 val
* var21
/* : String */;
2134 char* var22
/* : NativeString */;
2135 val
* var23
/* : FlatString */;
2136 short int var24
/* : Bool */;
2137 short int var_25
/* var : Bool */;
2138 short int var26
/* : Bool */;
2139 short int var27
/* : Bool */;
2140 short int var28
/* : Bool */;
2141 short int var29
/* : Bool */;
2142 static val
* varonce30
;
2143 val
* var31
/* : String */;
2144 char* var32
/* : NativeString */;
2145 val
* var33
/* : FlatString */;
2146 short int var34
/* : Bool */;
2147 short int var_35
/* var : Bool */;
2148 short int var36
/* : Bool */;
2149 short int var37
/* : Bool */;
2150 short int var_38
/* var : Bool */;
2151 val
* var39
/* : nullable Object */;
2152 static val
* varonce40
;
2153 val
* var41
/* : String */;
2154 char* var42
/* : NativeString */;
2155 val
* var43
/* : FlatString */;
2156 short int var44
/* : Bool */;
2157 val
* var_other
/* var other: nullable Object */;
2158 short int var46
/* : Bool */;
2159 short int var47
/* : Bool */;
2160 val
* var48
/* : nullable Object */;
2161 static val
* varonce49
;
2162 val
* var50
/* : String */;
2163 char* var51
/* : NativeString */;
2164 val
* var52
/* : FlatString */;
2165 short int var53
/* : Bool */;
2166 val
* var54
/* : nullable Object */;
2167 val
* var55
/* : nullable Object */;
2168 short int var56
/* : Bool */;
2169 short int var57
/* : Bool */;
2170 short int var58
/* : Bool */;
2171 short int var_59
/* var : Bool */;
2172 val
* var60
/* : nullable Object */;
2173 static val
* varonce61
;
2174 val
* var62
/* : String */;
2175 char* var63
/* : NativeString */;
2176 val
* var64
/* : FlatString */;
2177 short int var65
/* : Bool */;
2178 val
* var66
/* : nullable Object */;
2179 short int var68
/* : Bool */;
2180 static val
* varonce69
;
2181 val
* var70
/* : String */;
2182 char* var71
/* : NativeString */;
2183 val
* var72
/* : FlatString */;
2184 short int var73
/* : Bool */;
2185 long var74
/* : Int */;
2186 long var76
/* : Int */;
2187 short int var77
/* : Bool */;
2188 short int var79
/* : Bool */;
2189 short int var_80
/* var : Bool */;
2190 val
* var81
/* : nullable Object */;
2191 static val
* varonce82
;
2192 val
* var83
/* : String */;
2193 char* var84
/* : NativeString */;
2194 val
* var85
/* : FlatString */;
2195 short int var86
/* : Bool */;
2196 static val
* varonce87
;
2197 val
* var88
/* : String */;
2198 char* var89
/* : NativeString */;
2199 val
* var90
/* : FlatString */;
2200 static val
* varonce91
;
2201 val
* var92
/* : String */;
2202 char* var93
/* : NativeString */;
2203 val
* var94
/* : FlatString */;
2204 val
* var95
/* : String */;
2205 if (likely(varonce
!=NULL
)) {
2209 var3
= standard___standard__NativeString___to_s_with_length(var2
, 1l);
2214 var4
= standard__string_search___Text___split_with(self
, var1
);
2217 var5
= NEW_standard__Array(&type_standard__Array__standard__String
);
2219 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[String]>*/
2224 var6
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
2229 var8
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_7
);
2233 var9
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7
);
2236 if (likely(varonce11
!=NULL
)) {
2240 var14
= standard___standard__NativeString___to_s_with_length(var13
, 1l);
2245 var15
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_x
, var12
); /* == on <var_x:String>*/
2250 var17
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_a2
);
2261 if (likely(varonce20
!=NULL
)) {
2265 var23
= standard___standard__NativeString___to_s_with_length(var22
, 0l);
2270 var24
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_x
, var21
); /* == on <var_x:String>*/
2275 var26
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_a2
);
2286 if (likely(varonce30
!=NULL
)) {
2290 var33
= standard___standard__NativeString___to_s_with_length(var32
, 2l);
2295 var34
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_x
, var31
); /* == on <var_x:String>*/
2300 var36
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_a2
);
2310 var39
= standard___standard__SequenceRead___last(var_a2
);
2312 if (likely(varonce40
!=NULL
)) {
2316 var43
= standard___standard__NativeString___to_s_with_length(var42
, 2l);
2321 { /* Inline kernel#Object#!= (var39,var41) on <var39:nullable Object(String)> */
2324 var46
= ((short int(*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var39
, var_other
); /* == on <var39:nullable Object(String)>*/
2329 RET_LABEL45
:(void)0;
2338 var48
= standard___standard__SequenceRead___last(var_a2
);
2340 if (likely(varonce49
!=NULL
)) {
2344 var52
= standard___standard__NativeString___to_s_with_length(var51
, 1l);
2349 var53
= ((short int(*)(val
* self
, val
* p0
))(var48
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var48
, var50
); /* == on <var48:nullable Object(String)>*/
2353 var54
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var_a2
);
2357 var55
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var_a2
);
2363 var57
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_a2
);
2369 var60
= standard___standard__SequenceRead___last(var_a2
);
2371 if (likely(varonce61
!=NULL
)) {
2375 var64
= standard___standard__NativeString___to_s_with_length(var63
, 1l);
2380 var65
= ((short int(*)(val
* self
, val
* p0
))(var60
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var60
, var62
); /* == on <var60:nullable Object(String)>*/
2388 var66
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var_a2
);
2394 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_a2
, var_x
); /* Direct call array#AbstractArray#push on <var_a2:Array[String]>*/
2396 BREAK_label
: (void)0;
2398 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7
); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[String]>*/
2404 BREAK_label67
: (void)0;
2406 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_7
); /* Direct call array#ArrayIterator#finish on <var_7:ArrayIterator[String]>*/
2409 var68
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_a2
);
2412 if (likely(varonce69
!=NULL
)) {
2416 var72
= standard___standard__NativeString___to_s_with_length(var71
, 1l);
2425 { /* Inline array#AbstractArrayRead#length (var_a2) on <var_a2:Array[String]> */
2426 var76
= var_a2
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_a2:Array[String]> */
2428 RET_LABEL75
:(void)0;
2432 { /* Inline kernel#Int#== (var74,1l) on <var74:Int> */
2433 var79
= var74
== 1l;
2436 RET_LABEL78
:(void)0;
2442 var81
= standard___standard__SequenceRead___Collection__first(var_a2
);
2444 if (likely(varonce82
!=NULL
)) {
2448 var85
= standard___standard__NativeString___to_s_with_length(var84
, 0l);
2453 var86
= ((short int(*)(val
* self
, val
* p0
))(var81
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var81
, var83
); /* == on <var81:nullable Object(String)>*/
2460 if (likely(varonce87
!=NULL
)) {
2464 var90
= standard___standard__NativeString___to_s_with_length(var89
, 1l);
2472 if (likely(varonce91
!=NULL
)) {
2476 var94
= standard___standard__NativeString___to_s_with_length(var93
, 1l);
2481 var95
= standard__string___Collection___join(var_a2
, var92
);
2488 /* method file#String#join_path for (self: String, String): String */
2489 val
* standard__file___String___join_path(val
* self
, val
* p0
) {
2490 val
* var
/* : String */;
2491 val
* var_path
/* var path: String */;
2492 short int var1
/* : Bool */;
2493 short int var2
/* : Bool */;
2494 val
* var3
/* : SequenceRead[Char] */;
2495 val
* var4
/* : nullable Object */;
2496 short int var5
/* : Bool */;
2497 short int var7
/* : Bool */;
2498 uint32_t var8
/* : Char */;
2499 uint32_t var9
/* : Char */;
2500 short int var10
/* : Bool */;
2501 short int var12
/* : Bool */;
2502 val
* var13
/* : NativeArray[String] */;
2503 static val
* varonce
;
2504 val
* var14
/* : String */;
2505 val
* var16
/* : NativeArray[String] */;
2506 static val
* varonce15
;
2507 static val
* varonce17
;
2508 val
* var18
/* : String */;
2509 char* var19
/* : NativeString */;
2510 val
* var20
/* : FlatString */;
2511 val
* var21
/* : String */;
2514 var1
= standard___standard__Text___is_empty(var_path
);
2522 var2
= standard___standard__Text___is_empty(self
);
2530 var3
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_standard__string__Text__chars
]))(var_path
); /* chars on <var_path:String>*/
2533 var4
= ((val
*(*)(val
* self
, long p0
))((((long)var3
&3)?class_info
[((long)var3
&3)]:var3
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var3
, 0l); /* [] on <var3:SequenceRead[Char]>*/
2536 { /* Inline kernel#Char#== (var4,'/') on <var4:nullable Object(Char)> */
2537 var8
= (uint32_t)((long)(var4
)>>2);
2538 var7
= (var4
!= NULL
) && (var8
== '/');
2550 var9
= standard___standard__Text___last(self
);
2553 { /* Inline kernel#Char#== (var9,'/') on <var9:Char> */
2554 var12
= var9
== '/';
2557 RET_LABEL11
:(void)0;
2561 if (unlikely(varonce
==NULL
)) {
2562 var13
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2567 ((struct instance_standard__NativeArray
*)var13
)->values
[0]=self
;
2568 ((struct instance_standard__NativeArray
*)var13
)->values
[1]=var_path
;
2570 var14
= ((val
*(*)(val
* self
))(var13
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var13
); /* native_to_s on <var13:NativeArray[String]>*/
2577 if (unlikely(varonce15
==NULL
)) {
2578 var16
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2579 if (likely(varonce17
!=NULL
)) {
2583 var20
= standard___standard__NativeString___to_s_with_length(var19
, 1l);
2587 ((struct instance_standard__NativeArray
*)var16
)->values
[1]=var18
;
2592 ((struct instance_standard__NativeArray
*)var16
)->values
[0]=self
;
2593 ((struct instance_standard__NativeArray
*)var16
)->values
[2]=var_path
;
2595 var21
= ((val
*(*)(val
* self
))(var16
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var16
); /* native_to_s on <var16:NativeArray[String]>*/
2603 /* method file#String#/ for (self: String, String): String */
2604 val
* standard__file___String____47d(val
* self
, val
* p0
) {
2605 val
* var
/* : String */;
2606 val
* var_path
/* var path: String */;
2607 val
* var1
/* : String */;
2610 var1
= standard__file___String___join_path(self
, var_path
);
2617 /* method file#String#relpath for (self: String, String): String */
2618 val
* standard__file___String___relpath(val
* self
, val
* p0
) {
2619 val
* var
/* : String */;
2620 val
* var_dest
/* var dest: String */;
2621 val
* var1
/* : Sys */;
2622 val
* var2
/* : String */;
2623 val
* var_cwd
/* var cwd: String */;
2624 val
* var3
/* : String */;
2625 val
* var4
/* : String */;
2626 static val
* varonce
;
2627 val
* var5
/* : String */;
2628 char* var6
/* : NativeString */;
2629 val
* var7
/* : FlatString */;
2630 val
* var8
/* : Array[String] */;
2631 val
* var_from
/* var from: Array[String] */;
2632 val
* var9
/* : nullable Object */;
2633 short int var10
/* : Bool */;
2634 val
* var11
/* : nullable Object */;
2635 val
* var12
/* : String */;
2636 val
* var13
/* : String */;
2637 static val
* varonce14
;
2638 val
* var15
/* : String */;
2639 char* var16
/* : NativeString */;
2640 val
* var17
/* : FlatString */;
2641 val
* var18
/* : Array[String] */;
2642 val
* var_to
/* var to: Array[String] */;
2643 val
* var19
/* : nullable Object */;
2644 short int var20
/* : Bool */;
2645 val
* var21
/* : nullable Object */;
2646 short int var22
/* : Bool */;
2647 short int var23
/* : Bool */;
2648 short int var24
/* : Bool */;
2649 short int var25
/* : Bool */;
2650 short int var_
/* var : Bool */;
2651 short int var26
/* : Bool */;
2652 short int var27
/* : Bool */;
2653 short int var_28
/* var : Bool */;
2654 val
* var29
/* : nullable Object */;
2655 val
* var30
/* : nullable Object */;
2656 short int var31
/* : Bool */;
2657 val
* var32
/* : nullable Object */;
2658 val
* var33
/* : nullable Object */;
2659 long var34
/* : Int */;
2660 long var36
/* : Int */;
2661 long var_from_len
/* var from_len: Int */;
2662 short int var37
/* : Bool */;
2663 short int var39
/* : Bool */;
2664 static val
* varonce40
;
2665 val
* var41
/* : String */;
2666 char* var42
/* : NativeString */;
2667 val
* var43
/* : FlatString */;
2668 val
* var44
/* : String */;
2669 static val
* varonce45
;
2670 val
* var46
/* : String */;
2671 char* var47
/* : NativeString */;
2672 val
* var48
/* : FlatString */;
2673 long var49
/* : Int */;
2674 short int var51
/* : Bool */;
2677 const char* var_class_name
;
2678 long var52
/* : Int */;
2679 val
* var53
/* : String */;
2680 static val
* varonce54
;
2681 val
* var55
/* : String */;
2682 char* var56
/* : NativeString */;
2683 val
* var57
/* : FlatString */;
2684 val
* var58
/* : String */;
2685 val
* var_up
/* var up: String */;
2686 short int var59
/* : Bool */;
2687 static val
* varonce60
;
2688 val
* var61
/* : String */;
2689 char* var62
/* : NativeString */;
2690 val
* var63
/* : FlatString */;
2691 val
* var64
/* : String */;
2692 static val
* varonce65
;
2693 val
* var66
/* : String */;
2694 char* var67
/* : NativeString */;
2695 val
* var68
/* : FlatString */;
2696 val
* var69
/* : String */;
2697 val
* var70
/* : String */;
2698 val
* var_res
/* var res: String */;
2702 var2
= standard__file___Sys___getcwd(var1
);
2706 var3
= standard__file___String____47d(var_cwd
, self
);
2709 var4
= standard__file___String___simplify_path(var3
);
2711 if (likely(varonce
!=NULL
)) {
2715 var7
= standard___standard__NativeString___to_s_with_length(var6
, 1l);
2720 var8
= standard__string_search___Text___split(var4
, var5
);
2724 var9
= standard___standard__SequenceRead___last(var_from
);
2727 var10
= standard___standard__Text___is_empty(var9
);
2731 var11
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var_from
);
2736 var12
= standard__file___String____47d(var_cwd
, var_dest
);
2739 var13
= standard__file___String___simplify_path(var12
);
2741 if (likely(varonce14
!=NULL
)) {
2745 var17
= standard___standard__NativeString___to_s_with_length(var16
, 1l);
2750 var18
= standard__string_search___Text___split(var13
, var15
);
2754 var19
= standard___standard__SequenceRead___last(var_to
);
2757 var20
= standard___standard__Text___is_empty(var19
);
2761 var21
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var_to
);
2767 var24
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_from
);
2773 var26
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_to
);
2783 var29
= standard___standard__SequenceRead___Collection__first(var_from
);
2786 var30
= standard___standard__SequenceRead___Collection__first(var_to
);
2789 var31
= ((short int(*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var29
, var30
); /* == on <var29:nullable Object(String)>*/
2797 var32
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__shift(var_from
);
2800 var33
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__shift(var_to
);
2806 BREAK_label
: (void)0;
2808 { /* Inline array#AbstractArrayRead#length (var_from) on <var_from:Array[String]> */
2809 var36
= var_from
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_from:Array[String]> */
2811 RET_LABEL35
:(void)0;
2814 var_from_len
= var34
;
2816 { /* Inline kernel#Int#== (var_from_len,0l) on <var_from_len:Int> */
2817 var39
= var_from_len
== 0l;
2820 RET_LABEL38
:(void)0;
2824 if (likely(varonce40
!=NULL
)) {
2828 var43
= standard___standard__NativeString___to_s_with_length(var42
, 1l);
2833 var44
= standard__string___Collection___join(var_to
, var41
);
2839 if (likely(varonce45
!=NULL
)) {
2843 var48
= standard___standard__NativeString___to_s_with_length(var47
, 3l);
2848 { /* Inline kernel#Int#- (var_from_len,1l) on <var_from_len:Int> */
2849 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2850 /* <1l:Int> isa OTHER */
2851 var51
= 1; /* easy <1l:Int> isa OTHER*/
2852 if (unlikely(!var51
)) {
2853 var_class_name
= type_standard__Int
.name
;
2854 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2855 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
2858 var52
= var_from_len
- 1l;
2861 RET_LABEL50
:(void)0;
2865 var53
= ((val
*(*)(val
* self
, long p0
))(var46
->class->vft
[COLOR_standard__string__String___42d
]))(var46
, var49
); /* * on <var46:String>*/
2867 if (likely(varonce54
!=NULL
)) {
2871 var57
= standard___standard__NativeString___to_s_with_length(var56
, 2l);
2876 var58
= ((val
*(*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_standard__string__String___43d
]))(var53
, var55
); /* + on <var53:String>*/
2880 var59
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_to
);
2887 if (likely(varonce60
!=NULL
)) {
2891 var63
= standard___standard__NativeString___to_s_with_length(var62
, 1l);
2896 var64
= ((val
*(*)(val
* self
, val
* p0
))(var_up
->class->vft
[COLOR_standard__string__String___43d
]))(var_up
, var61
); /* + on <var_up:String>*/
2898 if (likely(varonce65
!=NULL
)) {
2902 var68
= standard___standard__NativeString___to_s_with_length(var67
, 1l);
2907 var69
= standard__string___Collection___join(var_to
, var66
);
2910 var70
= ((val
*(*)(val
* self
, val
* p0
))(var64
->class->vft
[COLOR_standard__string__String___43d
]))(var64
, var69
); /* + on <var64:String>*/
2918 /* method file#String#mkdir for (self: String): nullable Error */
2919 val
* standard__file___String___mkdir(val
* self
) {
2920 val
* var
/* : nullable Error */;
2921 static val
* varonce
;
2922 val
* var1
/* : String */;
2923 char* var2
/* : NativeString */;
2924 val
* var3
/* : FlatString */;
2925 val
* var4
/* : Array[String] */;
2926 val
* var_dirs
/* var dirs: Array[String] */;
2927 val
* var5
/* : FlatBuffer */;
2928 val
* var_path
/* var path: FlatBuffer */;
2929 short int var7
/* : Bool */;
2930 val
* var8
/* : nullable Object */;
2931 short int var9
/* : Bool */;
2932 val
* var_error
/* var error: nullable Error */;
2933 val
* var_
/* var : Array[String] */;
2934 val
* var10
/* : ArrayIterator[nullable Object] */;
2935 val
* var_11
/* var : ArrayIterator[String] */;
2936 short int var12
/* : Bool */;
2937 val
* var13
/* : nullable Object */;
2938 val
* var_d
/* var d: String */;
2939 short int var14
/* : Bool */;
2940 val
* var15
/* : String */;
2941 char* var16
/* : NativeString */;
2942 short int var17
/* : Bool */;
2943 short int var19
/* : Bool for extern */;
2944 short int var_res
/* var res: Bool */;
2945 short int var20
/* : Bool */;
2946 short int var21
/* : Bool */;
2947 short int var_22
/* var : Bool */;
2948 short int var23
/* : Bool */;
2949 short int var24
/* : Bool */;
2950 val
* var_other
/* var other: nullable Object */;
2951 short int var26
/* : Bool */;
2952 short int var28
/* : Bool */;
2953 val
* var29
/* : IOError */;
2954 val
* var31
/* : NativeArray[String] */;
2955 static val
* varonce30
;
2956 static val
* varonce32
;
2957 val
* var33
/* : String */;
2958 char* var34
/* : NativeString */;
2959 val
* var35
/* : FlatString */;
2960 static val
* varonce36
;
2961 val
* var37
/* : String */;
2962 char* var38
/* : NativeString */;
2963 val
* var39
/* : FlatString */;
2964 val
* var40
/* : String */;
2965 val
* var41
/* : Sys */;
2966 val
* var43
/* : Sys */;
2967 long var44
/* : Int */;
2968 long var46
/* : Int for extern */;
2969 val
* var47
/* : String */;
2970 val
* var48
/* : String */;
2971 if (likely(varonce
!=NULL
)) {
2975 var3
= standard___standard__NativeString___to_s_with_length(var2
, 1l);
2980 var4
= standard__string_search___Text___split_with(self
, var1
);
2983 var5
= NEW_standard__FlatBuffer(&type_standard__FlatBuffer
);
2985 { /* Inline string#FlatBuffer#init (var5) on <var5:FlatBuffer> */
2987 ((void(*)(val
* self
))(var5
->class->vft
[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init
]))(var5
); /* init on <var5:FlatBuffer>*/
2994 var7
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_dirs
);
3002 var8
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_dirs
, 0l);
3005 var9
= standard___standard__Text___is_empty(var8
);
3009 standard___standard__FlatBuffer___Buffer__add(var_path
, '/'); /* Direct call string#FlatBuffer#add on <var_path:FlatBuffer>*/
3013 var_error
= ((val
*)NULL
);
3016 var10
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
3021 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11
);
3025 var13
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11
);
3029 var14
= standard___standard__Text___is_empty(var_d
);
3036 standard___standard__FlatBuffer___Buffer__append(var_path
, var_d
); /* Direct call string#FlatBuffer#append on <var_path:FlatBuffer>*/
3039 standard___standard__FlatBuffer___Buffer__add(var_path
, '/'); /* Direct call string#FlatBuffer#add on <var_path:FlatBuffer>*/
3042 var15
= standard___standard__FlatBuffer___Object__to_s(var_path
);
3045 var16
= ((char*(*)(val
* self
))(var15
->class->vft
[COLOR_standard__string__Text__to_cstring
]))(var15
); /* to_cstring on <var15:String>*/
3048 { /* Inline file#NativeString#file_mkdir (var16) on <var16:NativeString> */
3049 var19
= string_NativeString_NativeString_file_mkdir_0(var16
);
3052 RET_LABEL18
:(void)0;
3059 if (var_error
== NULL
) {
3060 var23
= 1; /* is null */
3062 var23
= 0; /* arg is null but recv is not */
3065 { /* Inline kernel#Object#== (var_error,((val*)NULL)) on <var_error:nullable Error> */
3066 var_other
= ((val
*)NULL
);
3068 { /* Inline kernel#Object#is_same_instance (var_error,var_other) on <var_error:nullable Error(Error)> */
3069 var28
= var_error
== var_other
;
3072 RET_LABEL27
:(void)0;
3077 RET_LABEL25
:(void)0;
3086 var29
= NEW_standard__IOError(&type_standard__IOError
);
3087 if (unlikely(varonce30
==NULL
)) {
3088 var31
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3089 if (likely(varonce32
!=NULL
)) {
3092 var34
= "Cannot create directory `";
3093 var35
= standard___standard__NativeString___to_s_with_length(var34
, 25l);
3097 ((struct instance_standard__NativeArray
*)var31
)->values
[0]=var33
;
3098 if (likely(varonce36
!=NULL
)) {
3102 var39
= standard___standard__NativeString___to_s_with_length(var38
, 3l);
3106 ((struct instance_standard__NativeArray
*)var31
)->values
[2]=var37
;
3112 var40
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_path
); /* to_s on <var_path:FlatBuffer>*/
3114 ((struct instance_standard__NativeArray
*)var31
)->values
[1]=var40
;
3116 { /* Inline kernel#Object#sys (self) on <self:String> */
3120 RET_LABEL42
:(void)0;
3124 { /* Inline kernel#Sys#errno (var41) on <var41:Sys> */
3125 var46
= sys_errno(var41
);
3128 RET_LABEL45
:(void)0;
3132 var47
= standard__string___Int___strerror(var44
);
3134 ((struct instance_standard__NativeArray
*)var31
)->values
[3]=var47
;
3136 var48
= ((val
*(*)(val
* self
))(var31
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var31
); /* native_to_s on <var31:NativeArray[String]>*/
3140 ((void(*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_standard__error__Error__message_61d
]))(var29
, var48
); /* message= on <var29:IOError>*/
3143 ((void(*)(val
* self
))(var29
->class->vft
[COLOR_standard__kernel__Object__init
]))(var29
); /* init on <var29:IOError>*/
3148 BREAK_label
: (void)0;
3150 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11
); /* Direct call array#ArrayIterator#next on <var_11:ArrayIterator[String]>*/
3156 BREAK_label49
: (void)0;
3158 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_11
); /* Direct call array#ArrayIterator#finish on <var_11:ArrayIterator[String]>*/
3165 /* method file#String#file_extension for (self: String): nullable String */
3166 val
* standard__file___String___file_extension(val
* self
) {
3167 val
* var
/* : nullable String */;
3168 val
* var1
/* : SequenceRead[Char] */;
3169 val
* var2
/* : nullable Object */;
3170 long var3
/* : Int */;
3171 long var_last_slash
/* var last_slash: Int */;
3172 short int var4
/* : Bool */;
3173 short int var6
/* : Bool */;
3176 const char* var_class_name
;
3177 short int var7
/* : Bool */;
3178 long var8
/* : Int */;
3179 short int var10
/* : Bool */;
3182 const char* var_class_name13
;
3183 long var14
/* : Int */;
3184 long var15
/* : Int */;
3185 val
* var16
/* : Text */;
3187 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__chars
]))(self
); /* chars on <self:String>*/
3190 var2
= (val
*)((long)('.')<<2|2);
3191 var3
= ((long(*)(val
* self
, val
* p0
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead__last_index_of
]))(var1
, var2
); /* last_index_of on <var1:SequenceRead[Char]>*/
3193 var_last_slash
= var3
;
3195 { /* Inline kernel#Int#> (var_last_slash,0l) on <var_last_slash:Int> */
3196 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3197 /* <0l:Int> isa OTHER */
3198 var6
= 1; /* easy <0l:Int> isa OTHER*/
3199 if (unlikely(!var6
)) {
3200 var_class_name
= type_standard__Int
.name
;
3201 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3202 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
3205 var7
= var_last_slash
> 0l;
3213 { /* Inline kernel#Int#+ (var_last_slash,1l) on <var_last_slash:Int> */
3214 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3215 /* <1l:Int> isa OTHER */
3216 var10
= 1; /* easy <1l:Int> isa OTHER*/
3217 if (unlikely(!var10
)) {
3218 var_class_name13
= type_standard__Int
.name
;
3219 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
3220 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
3223 var14
= var_last_slash
+ 1l;
3230 var15
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
); /* length on <self:String>*/
3233 var16
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_standard__string__Text__substring
]))(self
, var8
, var15
); /* substring on <self:String>*/
3244 /* method file#NativeString#file_exists for (self: NativeString): Bool */
3245 short int standard__file___NativeString___file_exists(char* self
) {
3246 short int var
/* : Bool */;
3247 short int var1
/* : Bool for extern */;
3248 var1
= string_NativeString_NativeString_file_exists_0(self
);
3254 /* method file#NativeString#file_mkdir for (self: NativeString): Bool */
3255 short int standard__file___NativeString___file_mkdir(char* self
) {
3256 short int var
/* : Bool */;
3257 short int var1
/* : Bool for extern */;
3258 var1
= string_NativeString_NativeString_file_mkdir_0(self
);
3264 /* method file#NativeString#file_realpath for (self: NativeString): NativeString */
3265 char* standard__file___NativeString___file_realpath(char* self
) {
3266 char* var
/* : NativeString */;
3267 void* var1
/* : NativeString for extern */;
3268 var1
= file_NativeString_realpath(self
);
3274 /* method file#NativeFile#io_read for (self: NativeFile, NativeString, Int): Int */
3275 long standard__file___standard__file__NativeFile___io_read(val
* self
, char* p0
, long p1
) {
3276 long var
/* : Int */;
3277 long var1
/* : Int for extern */;
3278 void* var2
/* : NativeFile for extern */;
3279 var2
= ((struct instance_standard__Pointer
*)self
)->value
; /* unboxing NativeFile */
3280 var1
= file_NativeFile_NativeFile_io_read_2(var2
, p0
, p1
);
3286 /* method file#NativeFile#io_write for (self: NativeFile, NativeString, Int): Int */
3287 long standard__file___standard__file__NativeFile___io_write(val
* self
, char* p0
, long p1
) {
3288 long var
/* : Int */;
3289 long var1
/* : Int for extern */;
3290 void* var2
/* : NativeFile for extern */;
3291 var2
= ((struct instance_standard__Pointer
*)self
)->value
; /* unboxing NativeFile */
3292 var1
= file_NativeFile_NativeFile_io_write_2(var2
, p0
, p1
);
3298 /* method file#NativeFile#io_close for (self: NativeFile): Int */
3299 long standard__file___standard__file__NativeFile___io_close(val
* self
) {
3300 long var
/* : Int */;
3301 long var1
/* : Int for extern */;
3302 void* var2
/* : NativeFile for extern */;
3303 var2
= ((struct instance_standard__Pointer
*)self
)->value
; /* unboxing NativeFile */
3304 var1
= file_NativeFile_NativeFile_io_close_0(var2
);
3310 /* method file#NativeFile#set_buffering_type for (self: NativeFile, Int, Int): Int */
3311 long standard__file___standard__file__NativeFile___set_buffering_type(val
* self
, long p0
, long p1
) {
3312 long var
/* : Int */;
3313 long var1
/* : Int for extern */;
3314 void* var2
/* : NativeFile for extern */;
3315 var2
= ((struct instance_standard__Pointer
*)self
)->value
; /* unboxing NativeFile */
3316 var1
= file_NativeFile_NativeFile_set_buffering_type_0(var2
, p0
, p1
);
3322 /* method file#NativeFile#io_open_read for (self: NativeFile, NativeString): NativeFile */
3323 val
* standard__file___standard__file__NativeFile___io_open_read(val
* self
, char* p0
) {
3324 val
* var
/* : NativeFile */;
3325 void* var1
/* : NativeFile for extern */;
3326 val
* var2
/* : NativeFile */;
3327 var1
= file_NativeFileCapable_NativeFileCapable_io_open_read_1(p0
);
3328 var2
= BOX_standard__Pointer(var1
); /* boxing NativeFile */
3329 var2
->type
= &type_standard__file__NativeFile
;
3330 var2
->class = &class_standard__file__NativeFile
;
3336 /* method file#NativeFile#io_open_write for (self: NativeFile, NativeString): NativeFile */
3337 val
* standard__file___standard__file__NativeFile___io_open_write(val
* self
, char* p0
) {
3338 val
* var
/* : NativeFile */;
3339 void* var1
/* : NativeFile for extern */;
3340 val
* var2
/* : NativeFile */;
3341 var1
= file_NativeFileCapable_NativeFileCapable_io_open_write_1(p0
);
3342 var2
= BOX_standard__Pointer(var1
); /* boxing NativeFile */
3343 var2
->type
= &type_standard__file__NativeFile
;
3344 var2
->class = &class_standard__file__NativeFile
;
3350 /* method file#NativeFile#native_stdin for (self: NativeFile): NativeFile */
3351 val
* standard__file___standard__file__NativeFile___native_stdin(val
* self
) {
3352 val
* var
/* : NativeFile */;
3353 void* var1
/* : NativeFile for extern */;
3354 val
* var2
/* : NativeFile */;
3355 var1
= file_NativeFileCapable_NativeFileCapable_native_stdin_0();
3356 var2
= BOX_standard__Pointer(var1
); /* boxing NativeFile */
3357 var2
->type
= &type_standard__file__NativeFile
;
3358 var2
->class = &class_standard__file__NativeFile
;
3364 /* method file#NativeFile#native_stdout for (self: NativeFile): NativeFile */
3365 val
* standard__file___standard__file__NativeFile___native_stdout(val
* self
) {
3366 val
* var
/* : NativeFile */;
3367 void* var1
/* : NativeFile for extern */;
3368 val
* var2
/* : NativeFile */;
3369 var1
= file_NativeFileCapable_NativeFileCapable_native_stdout_0();
3370 var2
= BOX_standard__Pointer(var1
); /* boxing NativeFile */
3371 var2
->type
= &type_standard__file__NativeFile
;
3372 var2
->class = &class_standard__file__NativeFile
;
3378 /* method file#NativeFile#native_stderr for (self: NativeFile): NativeFile */
3379 val
* standard__file___standard__file__NativeFile___native_stderr(val
* self
) {
3380 val
* var
/* : NativeFile */;
3381 void* var1
/* : NativeFile for extern */;
3382 val
* var2
/* : NativeFile */;
3383 var1
= file_NativeFileCapable_NativeFileCapable_native_stderr_0();
3384 var2
= BOX_standard__Pointer(var1
); /* boxing NativeFile */
3385 var2
->type
= &type_standard__file__NativeFile
;
3386 var2
->class = &class_standard__file__NativeFile
;
3392 /* method file#Sys#stdout for (self: Sys): Writer */
3393 val
* standard__file___Sys___stdout(val
* self
) {
3394 val
* var
/* : Writer */;
3395 short int var1
/* : Bool */;
3396 val
* var2
/* : Writer */;
3397 val
* var3
/* : Stdout */;
3398 var1
= self
->attrs
[COLOR_standard__file__Sys___stdout
].val
!= NULL
; /* _stdout on <self:Sys> */
3400 var2
= self
->attrs
[COLOR_standard__file__Sys___stdout
].val
; /* _stdout on <self:Sys> */
3401 if (unlikely(var2
== NULL
)) {
3402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout");
3403 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 1158);
3407 var3
= NEW_standard__Stdout(&type_standard__Stdout
);
3409 standard___standard__Stdout___standard__kernel__Object__init(var3
); /* Direct call file#Stdout#init on <var3:Stdout>*/
3411 self
->attrs
[COLOR_standard__file__Sys___stdout
].val
= var3
; /* _stdout on <self:Sys> */
3418 /* method file#Sys#stderr for (self: Sys): Writer */
3419 val
* standard__file___Sys___stderr(val
* self
) {
3420 val
* var
/* : Writer */;
3421 short int var1
/* : Bool */;
3422 val
* var2
/* : Writer */;
3423 val
* var3
/* : Stderr */;
3424 var1
= self
->attrs
[COLOR_standard__file__Sys___stderr
].val
!= NULL
; /* _stderr on <self:Sys> */
3426 var2
= self
->attrs
[COLOR_standard__file__Sys___stderr
].val
; /* _stderr on <self:Sys> */
3427 if (unlikely(var2
== NULL
)) {
3428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr");
3429 PRINT_ERROR(" (%s:%d)\n", FILE_standard__file
, 1161);
3433 var3
= NEW_standard__Stderr(&type_standard__Stderr
);
3435 standard___standard__Stderr___standard__kernel__Object__init(var3
); /* Direct call file#Stderr#init on <var3:Stderr>*/
3437 self
->attrs
[COLOR_standard__file__Sys___stderr
].val
= var3
; /* _stderr on <self:Sys> */
3444 /* method file#Sys#buffer_mode_line for (self: Sys): Int */
3445 long standard__file___Sys___buffer_mode_line(val
* self
) {
3446 long var
/* : Int */;
3447 long var1
/* : Int for extern */;
3448 var1
= file_Sys_Sys_buffer_mode_line_0(self
);
3454 /* method file#Sys#printn for (self: Sys, Array[Object]) */
3455 void standard__file___Sys___printn(val
* self
, val
* p0
) {
3456 val
* var_objects
/* var objects: Array[Object] */;
3457 val
* var
/* : Sys */;
3458 val
* var2
/* : Sys */;
3459 val
* var3
/* : Writer */;
3460 val
* var4
/* : String */;
3463 { /* Inline kernel#Object#sys (self) on <self:Sys> */
3471 var3
= standard__file___Sys___stdout(var
);
3474 var4
= standard__string___Array___Collection__plain_to_s(var_objects
);
3477 standard___standard__FileWriter___standard__stream__Writer__write(var3
, var4
); /* Direct call file#FileWriter#write on <var3:Writer>*/
3481 /* method file#Sys#print for (self: Sys, Object) */
3482 void standard__file___Sys___print(val
* self
, val
* p0
) {
3483 val
* var_object
/* var object: Object */;
3484 val
* var
/* : Sys */;
3485 val
* var2
/* : Sys */;
3486 val
* var3
/* : Writer */;
3487 val
* var4
/* : String */;
3488 val
* var5
/* : Sys */;
3489 val
* var7
/* : Sys */;
3490 val
* var8
/* : Writer */;
3491 static val
* varonce
;
3492 val
* var9
/* : String */;
3493 char* var10
/* : NativeString */;
3494 val
* var11
/* : FlatString */;
3497 { /* Inline kernel#Object#sys (self) on <self:Sys> */
3505 var3
= standard__file___Sys___stdout(var
);
3508 var4
= ((val
*(*)(val
* self
))((((long)var_object
&3)?class_info
[((long)var_object
&3)]:var_object
->class)->vft
[COLOR_standard__string__Object__to_s
]))(var_object
); /* to_s on <var_object:Object>*/
3511 standard___standard__FileWriter___standard__stream__Writer__write(var3
, var4
); /* Direct call file#FileWriter#write on <var3:Writer>*/
3514 { /* Inline kernel#Object#sys (self) on <self:Sys> */
3522 var8
= standard__file___Sys___stdout(var5
);
3524 if (likely(varonce
!=NULL
)) {
3528 var11
= standard___standard__NativeString___to_s_with_length(var10
, 1l);
3533 standard___standard__FileWriter___standard__stream__Writer__write(var8
, var9
); /* Direct call file#FileWriter#write on <var8:Writer>*/
3537 /* method file#Sys#getcwd for (self: Sys): String */
3538 val
* standard__file___Sys___getcwd(val
* self
) {
3539 val
* var
/* : String */;
3540 char* var1
/* : NativeString */;
3541 void* var3
/* : NativeString for extern */;
3542 val
* var4
/* : String */;
3544 { /* Inline file#Sys#file_getcwd (self) on <self:Sys> */
3545 var3
= string_NativeString_NativeString_file_getcwd_0(self
);
3552 var4
= standard___standard__NativeString___Object__to_s(var1
);
3559 /* method file#Sys#file_getcwd for (self: Sys): NativeString */
3560 char* standard__file___Sys___file_getcwd(val
* self
) {
3561 char* var
/* : NativeString */;
3562 void* var1
/* : NativeString for extern */;
3563 var1
= string_NativeString_NativeString_file_getcwd_0(self
);