1 #include "core__file.sep.0.h"
2 /* method file$FileStream$path for (self: FileStream): nullable String */
3 val
* core___core__FileStream___path(val
* self
) {
4 val
* var
/* : nullable String */;
5 val
* var1
/* : nullable String */;
6 var1
= self
->attrs
[COLOR_core__file__FileStream___path
].val
; /* _path on <self:FileStream> */
11 /* method file$FileStream$path= for (self: FileStream, nullable String) */
12 void core___core__FileStream___path_61d(val
* self
, val
* p0
) {
13 self
->attrs
[COLOR_core__file__FileStream___path
].val
= p0
; /* _path on <self:FileStream> */
16 /* method file$FileStream$close for (self: FileStream) */
17 void core___core__FileStream___core__stream__Stream__close(val
* self
) {
18 val
* var
/* : nullable NativeFile */;
19 val
* var_file
/* var file: nullable NativeFile */;
20 short int var1
/* : Bool */;
21 short int var2
/* : Bool */;
22 short int var3
/* : Bool */;
23 short int var5
/* : Bool */;
24 void* var6
/* : Pointer for extern */;
25 val
* var7
/* : nullable IOError */;
26 val
* var9
/* : nullable IOError */;
27 short int var10
/* : Bool */;
28 short int var11
/* : Bool */;
29 val
* var_other
/* var other: nullable Object */;
30 short int var13
/* : Bool */;
31 short int var14
/* : Bool */;
32 val
* var15
/* : IOError */;
34 val
* var16
/* : String */;
35 char* var17
/* : CString */;
36 val
* var18
/* : String */;
37 val
* var19
/* : nullable Int */;
38 val
* var20
/* : nullable Int */;
39 val
* var21
/* : nullable Bool */;
40 val
* var22
/* : nullable Bool */;
41 long var24
/* : Int */;
42 long var26
/* : Int */;
43 void* var27
/* : NativeFile for extern */;
44 long var_i
/* var i: Int */;
45 short int var28
/* : Bool */;
46 short int var30
/* : Bool */;
47 short int var31
/* : Bool */;
48 val
* var32
/* : IOError */;
49 val
* var34
/* : NativeArray[String] */;
50 static val
* varonce33
;
51 static val
* varonce35
;
52 val
* var36
/* : String */;
53 char* var37
/* : CString */;
54 val
* var38
/* : String */;
55 val
* var39
/* : nullable Int */;
56 val
* var40
/* : nullable Int */;
57 val
* var41
/* : nullable Bool */;
58 val
* var42
/* : nullable Bool */;
59 val
* var43
/* : Sys */;
60 val
* var45
/* : Sys */;
61 long var46
/* : Int */;
62 long var48
/* : Int */;
63 val
* var49
/* : String */;
64 val
* var50
/* : String */;
65 var
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileStream> */
67 if (var_file
== NULL
) {
68 var1
= 1; /* is null */
70 var1
= 0; /* arg is null but recv is not */
73 var2
= core___core__Pointer___Object___61d_61d(var_file
, ((val
*)NULL
));
81 { /* Inline kernel$Pointer$address_is_null (var_file) on <var_file:nullable NativeFile(NativeFile)> */
82 var6
= ((struct instance_core__Pointer
*)var_file
)->value
; /* unboxing nullable NativeFile */
83 var5
= core__kernel___Pointer_address_is_null___impl(var6
);
91 { /* Inline stream$Stream$last_error (self) on <self:FileStream> */
92 var9
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileStream> */
98 var10
= 0; /* is null */
100 var10
= 1; /* arg is null and recv is not */
103 { /* Inline kernel$Object$!= (var7,((val*)NULL)) on <var7:nullable IOError> */
104 var_other
= ((val
*)NULL
);
106 var13
= ((short int(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var7
, var_other
); /* == on <var7:nullable IOError(IOError)>*/
119 var15
= NEW_core__IOError(&type_core__IOError
);
120 if (likely(varonce
!=NULL
)) {
123 var17
= "Cannot close unopened file";
124 var19
= (val
*)(26l<<2|1);
125 var20
= (val
*)(26l<<2|1);
126 var21
= (val
*)((long)(0)<<2|3);
127 var22
= (val
*)((long)(0)<<2|3);
128 var18
= core__flat___CString___to_s_unsafe(var17
, var19
, var20
, var21
, var22
);
133 ((void(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_core__error__Error__message_61d
]))(var15
, var16
); /* message= on <var15:IOError>*/
136 ((void(*)(val
* self
))(var15
->class->vft
[COLOR_core__kernel__Object__init
]))(var15
); /* init on <var15:IOError>*/
139 { /* Inline stream$Stream$last_error= (self,var15) on <self:FileStream> */
140 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var15
; /* _last_error on <self:FileStream> */
148 { /* Inline file$NativeFile$io_close (var_file) on <var_file:nullable NativeFile(NativeFile)> */
149 var27
= ((struct instance_core__Pointer
*)var_file
)->value
; /* unboxing nullable NativeFile */
150 var26
= core__file___NativeFile_io_close___impl(var27
);
158 { /* Inline kernel$Int$!= (var_i,0l) on <var_i:Int> */
167 var32
= NEW_core__IOError(&type_core__IOError
);
168 if (unlikely(varonce33
==NULL
)) {
169 var34
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
170 if (likely(varonce35
!=NULL
)) {
173 var37
= "Close failed due to error ";
174 var39
= (val
*)(26l<<2|1);
175 var40
= (val
*)(26l<<2|1);
176 var41
= (val
*)((long)(0)<<2|3);
177 var42
= (val
*)((long)(0)<<2|3);
178 var38
= core__flat___CString___to_s_unsafe(var37
, var39
, var40
, var41
, var42
);
182 ((struct instance_core__NativeArray
*)var34
)->values
[0]=var36
;
188 { /* Inline kernel$Object$sys (self) on <self:FileStream> */
196 { /* Inline kernel$Sys$errno (var43) on <var43:Sys> */
197 struct nitni_instance
* var_for_c_0
;
198 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
199 var_for_c_0
->value
= var43
;
200 var48
= core__kernel___Sys_errno___impl(var_for_c_0
);
207 var49
= core__abstract_text___Int___strerror(var46
);
209 ((struct instance_core__NativeArray
*)var34
)->values
[1]=var49
;
211 var50
= ((val
*(*)(val
* self
))(var34
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var34
); /* native_to_s on <var34:NativeArray[String]>*/
215 ((void(*)(val
* self
, val
* p0
))(var32
->class->vft
[COLOR_core__error__Error__message_61d
]))(var32
, var50
); /* message= on <var32:IOError>*/
218 ((void(*)(val
* self
))(var32
->class->vft
[COLOR_core__kernel__Object__init
]))(var32
); /* init on <var32:IOError>*/
221 { /* Inline stream$Stream$last_error= (self,var32) on <self:FileStream> */
222 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var32
; /* _last_error on <self:FileStream> */
228 self
->attrs
[COLOR_core__file__FileStream___file
].val
= ((val
*)NULL
); /* _file on <self:FileStream> */
231 /* method file$FileStream$set_buffering_mode for (self: FileStream, Int, Int) */
232 void core___core__FileStream___set_buffering_mode(val
* self
, long p0
, long p1
) {
233 long var_buf_size
/* var buf_size: Int */;
234 long var_mode
/* var mode: Int */;
235 short int var
/* : Bool */;
236 short int var2
/* : Bool */;
239 const char* var_class_name
;
240 short int var3
/* : Bool */;
241 val
* var4
/* : nullable NativeFile */;
242 long var5
/* : Int */;
243 long var7
/* : Int */;
244 void* var8
/* : NativeFile for extern */;
245 short int var9
/* : Bool */;
246 short int var11
/* : Bool */;
247 short int var12
/* : Bool */;
248 val
* var13
/* : IOError */;
249 val
* var14
/* : NativeArray[String] */;
251 static val
* varonce15
;
252 val
* var16
/* : String */;
253 char* var17
/* : CString */;
254 val
* var18
/* : String */;
255 val
* var19
/* : nullable Int */;
256 val
* var20
/* : nullable Int */;
257 val
* var21
/* : nullable Bool */;
258 val
* var22
/* : nullable Bool */;
259 val
* var23
/* : Sys */;
260 val
* var25
/* : Sys */;
261 long var26
/* : Int */;
262 long var28
/* : Int */;
263 val
* var29
/* : String */;
264 val
* var30
/* : String */;
268 { /* Inline kernel$Int$<= (var_buf_size,0l) on <var_buf_size:Int> */
269 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
270 /* <0l:Int> isa OTHER */
271 var2
= 1; /* easy <0l:Int> isa OTHER*/
272 if (unlikely(!var2
)) {
273 var_class_name
= type_core__Int
.name
;
274 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
275 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
278 var3
= var_buf_size
<= 0l;
288 var4
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileStream> */
289 if (unlikely(var4
== NULL
)) {
290 if(catchStack
.cursor
>= 0){
291 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
293 PRINT_ERROR("Runtime error: %s", "Cast failed");
294 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 95);
298 { /* Inline file$NativeFile$set_buffering_type (var4,var_buf_size,var_mode) on <var4:nullable NativeFile(NativeFile)> */
299 var8
= ((struct instance_core__Pointer
*)var4
)->value
; /* unboxing nullable NativeFile */
300 var7
= core__file___NativeFile_set_buffering_type___impl(var8
, var_buf_size
, var_mode
);
307 { /* Inline kernel$Int$!= (var5,0l) on <var5:Int> */
316 var13
= NEW_core__IOError(&type_core__IOError
);
317 if (unlikely(varonce
==NULL
)) {
318 var14
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
319 if (likely(varonce15
!=NULL
)) {
322 var17
= "Error while changing buffering type for FileStream, returned error ";
323 var19
= (val
*)(67l<<2|1);
324 var20
= (val
*)(67l<<2|1);
325 var21
= (val
*)((long)(0)<<2|3);
326 var22
= (val
*)((long)(0)<<2|3);
327 var18
= core__flat___CString___to_s_unsafe(var17
, var19
, var20
, var21
, var22
);
331 ((struct instance_core__NativeArray
*)var14
)->values
[0]=var16
;
337 { /* Inline kernel$Object$sys (self) on <self:FileStream> */
345 { /* Inline kernel$Sys$errno (var23) on <var23:Sys> */
346 struct nitni_instance
* var_for_c_0
;
347 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
348 var_for_c_0
->value
= var23
;
349 var28
= core__kernel___Sys_errno___impl(var_for_c_0
);
356 var29
= core__abstract_text___Int___strerror(var26
);
358 ((struct instance_core__NativeArray
*)var14
)->values
[1]=var29
;
360 var30
= ((val
*(*)(val
* self
))(var14
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var14
); /* native_to_s on <var14:NativeArray[String]>*/
364 ((void(*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_core__error__Error__message_61d
]))(var13
, var30
); /* message= on <var13:IOError>*/
367 ((void(*)(val
* self
))(var13
->class->vft
[COLOR_core__kernel__Object__init
]))(var13
); /* init on <var13:IOError>*/
370 { /* Inline stream$Stream$last_error= (self,var13) on <self:FileStream> */
371 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var13
; /* _last_error on <self:FileStream> */
379 /* method file$FileReader$close for (self: FileReader) */
380 void core___core__FileReader___core__stream__Stream__close(val
* self
) {
382 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__FileReader___core__stream__Stream__close
]))(self
); /* close on <self:FileReader>*/
385 core___core__BufferedReader___buffer_reset(self
); /* Direct call stream$BufferedReader$buffer_reset on <self:FileReader>*/
388 { /* Inline file$FileReader$end_reached= (self,1) on <self:FileReader> */
389 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
395 /* method file$FileReader$fill_buffer for (self: FileReader) */
396 void core___core__FileReader___core__stream__BufferedReader__fill_buffer(val
* self
) {
397 val
* var
/* : nullable NativeFile */;
398 char* var1
/* : CString */;
399 long var2
/* : Int */;
400 long var3
/* : Int */;
401 long var5
/* : Int */;
402 void* var6
/* : NativeFile for extern */;
403 long var_nb
/* var nb: Int */;
404 short int var7
/* : Bool */;
405 val
* var8
/* : nullable IOError */;
406 val
* var10
/* : nullable IOError */;
407 short int var11
/* : Bool */;
408 short int var12
/* : Bool */;
409 val
* var_other
/* var other: nullable Object */;
410 short int var14
/* : Bool */;
411 short int var16
/* : Bool */;
412 short int var_
/* var : Bool */;
413 val
* var17
/* : nullable NativeFile */;
414 short int var18
/* : Bool */;
415 short int var20
/* : Bool */;
416 void* var21
/* : NativeFile for extern */;
417 val
* var22
/* : IOError */;
418 val
* var23
/* : NativeArray[String] */;
420 static val
* varonce24
;
421 val
* var25
/* : String */;
422 char* var26
/* : CString */;
423 val
* var27
/* : String */;
424 val
* var28
/* : nullable Int */;
425 val
* var29
/* : nullable Int */;
426 val
* var30
/* : nullable Bool */;
427 val
* var31
/* : nullable Bool */;
428 static val
* varonce32
;
429 val
* var33
/* : String */;
430 char* var34
/* : CString */;
431 val
* var35
/* : String */;
432 val
* var36
/* : nullable Int */;
433 val
* var37
/* : nullable Int */;
434 val
* var38
/* : nullable Bool */;
435 val
* var39
/* : nullable Bool */;
436 val
* var40
/* : nullable String */;
437 val
* var42
/* : nullable String */;
438 val
* var43
/* : Sys */;
439 val
* var45
/* : Sys */;
440 long var46
/* : Int */;
441 long var48
/* : Int */;
442 val
* var49
/* : String */;
443 val
* var50
/* : String */;
444 short int var53
/* : Bool */;
445 short int var55
/* : Bool */;
448 const char* var_class_name
;
449 short int var56
/* : Bool */;
450 var
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileReader> */
451 if (unlikely(var
== NULL
)) {
452 if(catchStack
.cursor
>= 0){
453 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
455 PRINT_ERROR("Runtime error: %s", "Cast failed");
456 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 138);
459 var1
= self
->attrs
[COLOR_core__stream__BufferedReader___buffer
].str
; /* _buffer on <self:FileReader> */
460 var2
= self
->attrs
[COLOR_core__stream__BufferedReader___buffer_capacity
].l
; /* _buffer_capacity on <self:FileReader> */
462 { /* Inline file$NativeFile$io_read (var,var1,var2) on <var:nullable NativeFile(NativeFile)> */
463 var6
= ((struct instance_core__Pointer
*)var
)->value
; /* unboxing nullable NativeFile */
464 var5
= core__file___NativeFile_io_read___impl(var6
, var1
, var2
);
472 { /* Inline stream$Stream$last_error (self) on <self:FileReader> */
473 var10
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileReader> */
479 var11
= 1; /* is null */
481 var11
= 0; /* arg is null but recv is not */
484 { /* Inline kernel$Object$== (var8,((val*)NULL)) on <var8:nullable IOError> */
485 var_other
= ((val
*)NULL
);
487 { /* Inline kernel$Object$is_same_instance (var8,var_other) on <var8:nullable IOError(IOError)> */
488 var16
= var8
== var_other
;
502 var17
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileReader> */
503 if (unlikely(var17
== NULL
)) {
504 if(catchStack
.cursor
>= 0){
505 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
507 PRINT_ERROR("Runtime error: %s", "Cast failed");
508 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 139);
512 { /* Inline file$NativeFile$ferror (var17) on <var17:nullable NativeFile(NativeFile)> */
513 var21
= ((struct instance_core__Pointer
*)var17
)->value
; /* unboxing nullable NativeFile */
514 var20
= core__file___NativeFile_ferror___impl(var21
);
525 var22
= NEW_core__IOError(&type_core__IOError
);
526 if (unlikely(varonce
==NULL
)) {
527 var23
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
528 if (likely(varonce24
!=NULL
)) {
531 var26
= "Cannot read `";
532 var28
= (val
*)(13l<<2|1);
533 var29
= (val
*)(13l<<2|1);
534 var30
= (val
*)((long)(0)<<2|3);
535 var31
= (val
*)((long)(0)<<2|3);
536 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
540 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var25
;
541 if (likely(varonce32
!=NULL
)) {
545 var36
= (val
*)(3l<<2|1);
546 var37
= (val
*)(3l<<2|1);
547 var38
= (val
*)((long)(0)<<2|3);
548 var39
= (val
*)((long)(0)<<2|3);
549 var35
= core__flat___CString___to_s_unsafe(var34
, var36
, var37
, var38
, var39
);
553 ((struct instance_core__NativeArray
*)var23
)->values
[2]=var33
;
559 { /* Inline file$FileStream$path (self) on <self:FileReader> */
560 var42
= self
->attrs
[COLOR_core__file__FileStream___path
].val
; /* _path on <self:FileReader> */
565 if (unlikely(var40
== NULL
)) {
566 if(catchStack
.cursor
>= 0){
567 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
569 PRINT_ERROR("Runtime error: %s", "Cast failed");
570 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 140);
573 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var40
;
575 { /* Inline kernel$Object$sys (self) on <self:FileReader> */
583 { /* Inline kernel$Sys$errno (var43) on <var43:Sys> */
584 struct nitni_instance
* var_for_c_0
;
585 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
586 var_for_c_0
->value
= var43
;
587 var48
= core__kernel___Sys_errno___impl(var_for_c_0
);
594 var49
= core__abstract_text___Int___strerror(var46
);
596 ((struct instance_core__NativeArray
*)var23
)->values
[3]=var49
;
598 var50
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
602 ((void(*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_core__error__Error__message_61d
]))(var22
, var50
); /* message= on <var22:IOError>*/
605 ((void(*)(val
* self
))(var22
->class->vft
[COLOR_core__kernel__Object__init
]))(var22
); /* init on <var22:IOError>*/
608 { /* Inline stream$Stream$last_error= (self,var22) on <self:FileReader> */
609 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var22
; /* _last_error on <self:FileReader> */
614 { /* Inline file$FileReader$end_reached= (self,1) on <self:FileReader> */
615 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
622 { /* Inline kernel$Int$<= (var_nb,0l) on <var_nb:Int> */
623 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
624 /* <0l:Int> isa OTHER */
625 var55
= 1; /* easy <0l:Int> isa OTHER*/
626 if (unlikely(!var55
)) {
627 var_class_name
= type_core__Int
.name
;
628 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
629 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
632 var56
= var_nb
<= 0l;
640 { /* Inline file$FileReader$end_reached= (self,1) on <self:FileReader> */
641 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
648 self
->attrs
[COLOR_core__stream__BufferedReader___buffer_length
].l
= var_nb
; /* _buffer_length on <self:FileReader> */
649 self
->attrs
[COLOR_core__stream__BufferedReader___buffer_pos
].l
= 0l; /* _buffer_pos on <self:FileReader> */
652 /* method file$FileReader$end_reached for (self: FileReader): Bool */
653 short int core___core__FileReader___core__stream__BufferedReader__end_reached(val
* self
) {
654 short int var
/* : Bool */;
655 short int var1
/* : Bool */;
656 var1
= self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
; /* _end_reached on <self:FileReader> */
661 /* method file$FileReader$end_reached= for (self: FileReader, Bool) */
662 void core___core__FileReader___end_reached_61d(val
* self
, short int p0
) {
663 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= p0
; /* _end_reached on <self:FileReader> */
666 /* method file$FileReader$open for (self: FileReader, String) */
667 void core___core__FileReader___open(val
* self
, val
* p0
) {
668 val
* var_path
/* var path: String */;
669 static val
* varoncenew
;
670 static int varoncenew_guard
;
671 val
* var
/* : NativeFile */;
672 val
* var2
/* : NativeFile */;
673 char* var3
/* : CString */;
674 val
* var4
/* : NativeFile */;
675 val
* var5
/* : nullable NativeFile */;
676 short int var6
/* : Bool */;
677 short int var8
/* : Bool */;
678 void* var9
/* : Pointer for extern */;
679 val
* var10
/* : IOError */;
680 val
* var11
/* : NativeArray[String] */;
682 static val
* varonce12
;
683 val
* var13
/* : String */;
684 char* var14
/* : CString */;
685 val
* var15
/* : String */;
686 val
* var16
/* : nullable Int */;
687 val
* var17
/* : nullable Int */;
688 val
* var18
/* : nullable Bool */;
689 val
* var19
/* : nullable Bool */;
690 static val
* varonce20
;
691 val
* var21
/* : String */;
692 char* var22
/* : CString */;
693 val
* var23
/* : String */;
694 val
* var24
/* : nullable Int */;
695 val
* var25
/* : nullable Int */;
696 val
* var26
/* : nullable Bool */;
697 val
* var27
/* : nullable Bool */;
698 val
* var28
/* : Sys */;
699 val
* var30
/* : Sys */;
700 long var31
/* : Int */;
701 long var33
/* : Int */;
702 val
* var34
/* : String */;
703 val
* var35
/* : String */;
705 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core__kernel__Object__init
]))(self
); /* init on <self:FileReader>*/
709 { /* Inline file$FileStream$path= (self,var_path) on <self:FileReader> */
710 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var_path
; /* _path on <self:FileReader> */
715 core___core__BufferedReader___prepare_buffer(self
, 100l); /* Direct call stream$BufferedReader$prepare_buffer on <self:FileReader>*/
717 if (likely(varoncenew_guard
)) {
720 var2
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
723 varoncenew_guard
= 1;
726 var3
= ((char*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(var_path
); /* to_cstring on <var_path:String>*/
729 var4
= core__file___core__file__NativeFile___io_open_read(var
, var3
);
731 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var4
; /* _file on <self:FileReader> */
732 var5
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileReader> */
733 if (unlikely(var5
== NULL
)) {
734 if(catchStack
.cursor
>= 0){
735 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
737 PRINT_ERROR("Runtime error: %s", "Cast failed");
738 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 170);
742 { /* Inline kernel$Pointer$address_is_null (var5) on <var5:nullable NativeFile(NativeFile)> */
743 var9
= ((struct instance_core__Pointer
*)var5
)->value
; /* unboxing nullable NativeFile */
744 var8
= core__kernel___Pointer_address_is_null___impl(var9
);
751 var10
= NEW_core__IOError(&type_core__IOError
);
752 if (unlikely(varonce
==NULL
)) {
753 var11
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
754 if (likely(varonce12
!=NULL
)) {
757 var14
= "Cannot open `";
758 var16
= (val
*)(13l<<2|1);
759 var17
= (val
*)(13l<<2|1);
760 var18
= (val
*)((long)(0)<<2|3);
761 var19
= (val
*)((long)(0)<<2|3);
762 var15
= core__flat___CString___to_s_unsafe(var14
, var16
, var17
, var18
, var19
);
766 ((struct instance_core__NativeArray
*)var11
)->values
[0]=var13
;
767 if (likely(varonce20
!=NULL
)) {
771 var24
= (val
*)(3l<<2|1);
772 var25
= (val
*)(3l<<2|1);
773 var26
= (val
*)((long)(0)<<2|3);
774 var27
= (val
*)((long)(0)<<2|3);
775 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
779 ((struct instance_core__NativeArray
*)var11
)->values
[2]=var21
;
784 ((struct instance_core__NativeArray
*)var11
)->values
[1]=var_path
;
786 { /* Inline kernel$Object$sys (self) on <self:FileReader> */
794 { /* Inline kernel$Sys$errno (var28) on <var28:Sys> */
795 struct nitni_instance
* var_for_c_0
;
796 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
797 var_for_c_0
->value
= var28
;
798 var33
= core__kernel___Sys_errno___impl(var_for_c_0
);
805 var34
= core__abstract_text___Int___strerror(var31
);
807 ((struct instance_core__NativeArray
*)var11
)->values
[3]=var34
;
809 var35
= ((val
*(*)(val
* self
))(var11
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var11
); /* native_to_s on <var11:NativeArray[String]>*/
813 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__error__Error__message_61d
]))(var10
, var35
); /* message= on <var10:IOError>*/
816 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
819 { /* Inline stream$Stream$last_error= (self,var10) on <self:FileReader> */
820 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileReader> */
825 { /* Inline file$FileReader$end_reached= (self,1) on <self:FileReader> */
826 self
->attrs
[COLOR_core__file__FileReader___end_reached
].s
= 1; /* _end_reached on <self:FileReader> */
834 /* method file$FileWriter$write_bytes for (self: FileWriter, Bytes) */
835 void core___core__FileWriter___core__stream__Writer__write_bytes(val
* self
, val
* p0
) {
836 val
* var_s
/* var s: Bytes */;
837 val
* var
/* : nullable IOError */;
838 val
* var2
/* : nullable IOError */;
839 short int var3
/* : Bool */;
840 short int var4
/* : Bool */;
841 val
* var_other
/* var other: nullable Object */;
842 short int var6
/* : Bool */;
843 short int var7
/* : Bool */;
844 short int var8
/* : Bool */;
845 short int var9
/* : Bool */;
846 val
* var10
/* : IOError */;
848 val
* var11
/* : String */;
849 char* var12
/* : CString */;
850 val
* var13
/* : String */;
851 val
* var14
/* : nullable Int */;
852 val
* var15
/* : nullable Int */;
853 val
* var16
/* : nullable Bool */;
854 val
* var17
/* : nullable Bool */;
855 char* var19
/* : CString */;
856 char* var21
/* : CString */;
857 long var22
/* : Int */;
858 long var24
/* : Int */;
861 { /* Inline stream$Stream$last_error (self) on <self:FileWriter> */
862 var2
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileWriter> */
868 var3
= 0; /* is null */
870 var3
= 1; /* arg is null and recv is not */
873 { /* Inline kernel$Object$!= (var,((val*)NULL)) on <var:nullable IOError> */
874 var_other
= ((val
*)NULL
);
876 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable IOError(IOError)>*/
889 var8
= self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
; /* _is_writable on <self:FileWriter> */
892 var10
= NEW_core__IOError(&type_core__IOError
);
893 if (likely(varonce
!=NULL
)) {
896 var12
= "cannot write to non-writable stream";
897 var14
= (val
*)(35l<<2|1);
898 var15
= (val
*)(35l<<2|1);
899 var16
= (val
*)((long)(0)<<2|3);
900 var17
= (val
*)((long)(0)<<2|3);
901 var13
= core__flat___CString___to_s_unsafe(var12
, var14
, var15
, var16
, var17
);
906 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__error__Error__message_61d
]))(var10
, var11
); /* message= on <var10:IOError>*/
909 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
912 { /* Inline stream$Stream$last_error= (self,var10) on <self:FileWriter> */
913 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
921 { /* Inline bytes$Bytes$items (var_s) on <var_s:Bytes> */
922 var21
= var_s
->attrs
[COLOR_core__bytes__Bytes___items
].str
; /* _items on <var_s:Bytes> */
928 { /* Inline bytes$Bytes$length (var_s) on <var_s:Bytes> */
929 var24
= var_s
->attrs
[COLOR_core__bytes__Bytes___length
].l
; /* _length on <var_s:Bytes> */
935 core___core__FileWriter___write_native(self
, var19
, 0l, var22
); /* Direct call file$FileWriter$write_native on <self:FileWriter>*/
939 /* method file$FileWriter$write for (self: FileWriter, Text) */
940 void core___core__FileWriter___core__stream__Writer__write(val
* self
, val
* p0
) {
941 val
* var_s
/* var s: Text */;
942 val
* var
/* : nullable IOError */;
943 val
* var2
/* : nullable IOError */;
944 short int var3
/* : Bool */;
945 short int var4
/* : Bool */;
946 val
* var_other
/* var other: nullable Object */;
947 short int var6
/* : Bool */;
948 short int var7
/* : Bool */;
949 short int var8
/* : Bool */;
950 short int var9
/* : Bool */;
951 val
* var10
/* : IOError */;
953 val
* var11
/* : String */;
954 char* var12
/* : CString */;
955 val
* var13
/* : String */;
956 val
* var14
/* : nullable Int */;
957 val
* var15
/* : nullable Int */;
958 val
* var16
/* : nullable Bool */;
959 val
* var17
/* : nullable Bool */;
962 { /* Inline stream$Stream$last_error (self) on <self:FileWriter> */
963 var2
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileWriter> */
969 var3
= 0; /* is null */
971 var3
= 1; /* arg is null and recv is not */
974 { /* Inline kernel$Object$!= (var,((val*)NULL)) on <var:nullable IOError> */
975 var_other
= ((val
*)NULL
);
977 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable IOError(IOError)>*/
990 var8
= self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
; /* _is_writable on <self:FileWriter> */
993 var10
= NEW_core__IOError(&type_core__IOError
);
994 if (likely(varonce
!=NULL
)) {
997 var12
= "cannot write to non-writable stream";
998 var14
= (val
*)(35l<<2|1);
999 var15
= (val
*)(35l<<2|1);
1000 var16
= (val
*)((long)(0)<<2|3);
1001 var17
= (val
*)((long)(0)<<2|3);
1002 var13
= core__flat___CString___to_s_unsafe(var12
, var14
, var15
, var16
, var17
);
1007 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__error__Error__message_61d
]))(var10
, var11
); /* message= on <var10:IOError>*/
1010 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
1013 { /* Inline stream$Stream$last_error= (self,var10) on <self:FileWriter> */
1014 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
1015 RET_LABEL18
:(void)0;
1022 ((void(*)(val
* self
, val
* p0
))(var_s
->class->vft
[COLOR_core__file__Text__write_native_to
]))(var_s
, self
); /* write_native_to on <var_s:Text>*/
1026 /* method file$FileWriter$close for (self: FileWriter) */
1027 void core___core__FileWriter___core__stream__Stream__close(val
* self
) {
1029 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__FileWriter___core__stream__Stream__close
]))(self
); /* close on <self:FileWriter>*/
1031 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
1034 /* method file$FileWriter$is_writable= for (self: FileWriter, Bool) */
1035 void core___core__FileWriter___is_writable_61d(val
* self
, short int p0
) {
1036 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= p0
; /* _is_writable on <self:FileWriter> */
1039 /* method file$FileWriter$write_native for (self: FileWriter, CString, Int, Int) */
1040 void core___core__FileWriter___write_native(val
* self
, char* p0
, long p1
, long p2
) {
1041 char* var_native
/* var native: CString */;
1042 long var_from
/* var from: Int */;
1043 long var_len
/* var len: Int */;
1044 val
* var
/* : nullable IOError */;
1045 val
* var2
/* : nullable IOError */;
1046 short int var3
/* : Bool */;
1047 short int var4
/* : Bool */;
1048 val
* var_other
/* var other: nullable Object */;
1049 short int var6
/* : Bool */;
1050 short int var7
/* : Bool */;
1051 short int var8
/* : Bool */;
1052 short int var9
/* : Bool */;
1053 val
* var10
/* : IOError */;
1054 static val
* varonce
;
1055 val
* var11
/* : String */;
1056 char* var12
/* : CString */;
1057 val
* var13
/* : String */;
1058 val
* var14
/* : nullable Int */;
1059 val
* var15
/* : nullable Int */;
1060 val
* var16
/* : nullable Bool */;
1061 val
* var17
/* : nullable Bool */;
1062 val
* var19
/* : nullable NativeFile */;
1063 short int var20
/* : Bool */;
1064 short int var22
/* : Bool */;
1065 void* var23
/* : Pointer for extern */;
1066 val
* var24
/* : IOError */;
1067 static val
* varonce25
;
1068 val
* var26
/* : String */;
1069 char* var27
/* : CString */;
1070 val
* var28
/* : String */;
1071 val
* var29
/* : nullable Int */;
1072 val
* var30
/* : nullable Int */;
1073 val
* var31
/* : nullable Bool */;
1074 val
* var32
/* : nullable Bool */;
1075 val
* var34
/* : nullable NativeFile */;
1076 long var35
/* : Int */;
1077 long var37
/* : Int */;
1078 void* var38
/* : NativeFile for extern */;
1079 long var_err
/* var err: Int */;
1080 short int var39
/* : Bool */;
1081 short int var41
/* : Bool */;
1082 short int var42
/* : Bool */;
1083 val
* var43
/* : IOError */;
1084 val
* var45
/* : NativeArray[String] */;
1085 static val
* varonce44
;
1086 static val
* varonce46
;
1087 val
* var47
/* : String */;
1088 char* var48
/* : CString */;
1089 val
* var49
/* : String */;
1090 val
* var50
/* : nullable Int */;
1091 val
* var51
/* : nullable Int */;
1092 val
* var52
/* : nullable Bool */;
1093 val
* var53
/* : nullable Bool */;
1094 static val
* varonce54
;
1095 val
* var55
/* : String */;
1096 char* var56
/* : CString */;
1097 val
* var57
/* : String */;
1098 val
* var58
/* : nullable Int */;
1099 val
* var59
/* : nullable Int */;
1100 val
* var60
/* : nullable Bool */;
1101 val
* var61
/* : nullable Bool */;
1102 static val
* varonce62
;
1103 val
* var63
/* : String */;
1104 char* var64
/* : CString */;
1105 val
* var65
/* : String */;
1106 val
* var66
/* : nullable Int */;
1107 val
* var67
/* : nullable Int */;
1108 val
* var68
/* : nullable Bool */;
1109 val
* var69
/* : nullable Bool */;
1110 val
* var70
/* : String */;
1111 val
* var71
/* : String */;
1112 val
* var72
/* : String */;
1117 { /* Inline stream$Stream$last_error (self) on <self:FileWriter> */
1118 var2
= self
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <self:FileWriter> */
1124 var3
= 0; /* is null */
1126 var3
= 1; /* arg is null and recv is not */
1129 { /* Inline kernel$Object$!= (var,((val*)NULL)) on <var:nullable IOError> */
1130 var_other
= ((val
*)NULL
);
1132 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable IOError(IOError)>*/
1145 var8
= self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
; /* _is_writable on <self:FileWriter> */
1148 var10
= NEW_core__IOError(&type_core__IOError
);
1149 if (likely(varonce
!=NULL
)) {
1152 var12
= "Cannot write to non-writable stream";
1153 var14
= (val
*)(35l<<2|1);
1154 var15
= (val
*)(35l<<2|1);
1155 var16
= (val
*)((long)(0)<<2|3);
1156 var17
= (val
*)((long)(0)<<2|3);
1157 var13
= core__flat___CString___to_s_unsafe(var12
, var14
, var15
, var16
, var17
);
1162 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__error__Error__message_61d
]))(var10
, var11
); /* message= on <var10:IOError>*/
1165 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
1168 { /* Inline stream$Stream$last_error= (self,var10) on <self:FileWriter> */
1169 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
1170 RET_LABEL18
:(void)0;
1176 var19
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
1177 if (unlikely(var19
== NULL
)) {
1178 if(catchStack
.cursor
>= 0){
1179 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1181 PRINT_ERROR("Runtime error: %s", "Cast failed");
1182 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 267);
1186 { /* Inline kernel$Pointer$address_is_null (var19) on <var19:nullable NativeFile(NativeFile)> */
1187 var23
= ((struct instance_core__Pointer
*)var19
)->value
; /* unboxing nullable NativeFile */
1188 var22
= core__kernel___Pointer_address_is_null___impl(var23
);
1191 RET_LABEL21
:(void)0;
1195 var24
= NEW_core__IOError(&type_core__IOError
);
1196 if (likely(varonce25
!=NULL
)) {
1199 var27
= "Writing on a null stream";
1200 var29
= (val
*)(24l<<2|1);
1201 var30
= (val
*)(24l<<2|1);
1202 var31
= (val
*)((long)(0)<<2|3);
1203 var32
= (val
*)((long)(0)<<2|3);
1204 var28
= core__flat___CString___to_s_unsafe(var27
, var29
, var30
, var31
, var32
);
1209 ((void(*)(val
* self
, val
* p0
))(var24
->class->vft
[COLOR_core__error__Error__message_61d
]))(var24
, var26
); /* message= on <var24:IOError>*/
1212 ((void(*)(val
* self
))(var24
->class->vft
[COLOR_core__kernel__Object__init
]))(var24
); /* init on <var24:IOError>*/
1215 { /* Inline stream$Stream$last_error= (self,var24) on <self:FileWriter> */
1216 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var24
; /* _last_error on <self:FileWriter> */
1217 RET_LABEL33
:(void)0;
1220 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
1224 var34
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
1225 if (unlikely(var34
== NULL
)) {
1226 if(catchStack
.cursor
>= 0){
1227 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1229 PRINT_ERROR("Runtime error: %s", "Cast failed");
1230 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 272);
1234 { /* Inline file$NativeFile$io_write (var34,var_native,var_from,var_len) on <var34:nullable NativeFile(NativeFile)> */
1235 var38
= ((struct instance_core__Pointer
*)var34
)->value
; /* unboxing nullable NativeFile */
1236 var37
= core__file___NativeFile_io_write___impl(var38
, var_native
, var_from
, var_len
);
1239 RET_LABEL36
:(void)0;
1244 { /* Inline kernel$Int$!= (var_err,var_len) on <var_err:Int> */
1245 var41
= var_err
== var_len
;
1249 RET_LABEL40
:(void)0;
1253 var43
= NEW_core__IOError(&type_core__IOError
);
1254 if (unlikely(varonce44
==NULL
)) {
1255 var45
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
1256 if (likely(varonce46
!=NULL
)) {
1259 var48
= "Problem in writing : ";
1260 var50
= (val
*)(21l<<2|1);
1261 var51
= (val
*)(21l<<2|1);
1262 var52
= (val
*)((long)(0)<<2|3);
1263 var53
= (val
*)((long)(0)<<2|3);
1264 var49
= core__flat___CString___to_s_unsafe(var48
, var50
, var51
, var52
, var53
);
1268 ((struct instance_core__NativeArray
*)var45
)->values
[0]=var47
;
1269 if (likely(varonce54
!=NULL
)) {
1273 var58
= (val
*)(1l<<2|1);
1274 var59
= (val
*)(1l<<2|1);
1275 var60
= (val
*)((long)(0)<<2|3);
1276 var61
= (val
*)((long)(0)<<2|3);
1277 var57
= core__flat___CString___to_s_unsafe(var56
, var58
, var59
, var60
, var61
);
1281 ((struct instance_core__NativeArray
*)var45
)->values
[2]=var55
;
1282 if (likely(varonce62
!=NULL
)) {
1286 var66
= (val
*)(2l<<2|1);
1287 var67
= (val
*)(2l<<2|1);
1288 var68
= (val
*)((long)(0)<<2|3);
1289 var69
= (val
*)((long)(0)<<2|3);
1290 var65
= core__flat___CString___to_s_unsafe(var64
, var66
, var67
, var68
, var69
);
1294 ((struct instance_core__NativeArray
*)var45
)->values
[4]=var63
;
1299 var70
= core__flat___Int___core__abstract_text__Object__to_s(var_err
);
1300 ((struct instance_core__NativeArray
*)var45
)->values
[1]=var70
;
1301 var71
= core__flat___Int___core__abstract_text__Object__to_s(var_len
);
1302 ((struct instance_core__NativeArray
*)var45
)->values
[3]=var71
;
1304 var72
= ((val
*(*)(val
* self
))(var45
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var45
); /* native_to_s on <var45:NativeArray[String]>*/
1308 ((void(*)(val
* self
, val
* p0
))(var43
->class->vft
[COLOR_core__error__Error__message_61d
]))(var43
, var72
); /* message= on <var43:IOError>*/
1311 ((void(*)(val
* self
))(var43
->class->vft
[COLOR_core__kernel__Object__init
]))(var43
); /* init on <var43:IOError>*/
1314 { /* Inline stream$Stream$last_error= (self,var43) on <self:FileWriter> */
1315 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var43
; /* _last_error on <self:FileWriter> */
1316 RET_LABEL73
:(void)0;
1323 /* method file$FileWriter$open for (self: FileWriter, String) */
1324 void core___core__FileWriter___open(val
* self
, val
* p0
) {
1325 val
* var_path
/* var path: String */;
1326 static val
* varoncenew
;
1327 static int varoncenew_guard
;
1328 val
* var
/* : NativeFile */;
1329 val
* var1
/* : NativeFile */;
1330 char* var2
/* : CString */;
1331 val
* var3
/* : NativeFile */;
1332 val
* var5
/* : nullable NativeFile */;
1333 short int var6
/* : Bool */;
1334 short int var8
/* : Bool */;
1335 void* var9
/* : Pointer for extern */;
1336 val
* var10
/* : IOError */;
1337 val
* var11
/* : NativeArray[String] */;
1338 static val
* varonce
;
1339 static val
* varonce12
;
1340 val
* var13
/* : String */;
1341 char* var14
/* : CString */;
1342 val
* var15
/* : String */;
1343 val
* var16
/* : nullable Int */;
1344 val
* var17
/* : nullable Int */;
1345 val
* var18
/* : nullable Bool */;
1346 val
* var19
/* : nullable Bool */;
1347 static val
* varonce20
;
1348 val
* var21
/* : String */;
1349 char* var22
/* : CString */;
1350 val
* var23
/* : String */;
1351 val
* var24
/* : nullable Int */;
1352 val
* var25
/* : nullable Int */;
1353 val
* var26
/* : nullable Bool */;
1354 val
* var27
/* : nullable Bool */;
1355 val
* var28
/* : Sys */;
1356 val
* var30
/* : Sys */;
1357 long var31
/* : Int */;
1358 long var33
/* : Int */;
1359 val
* var34
/* : String */;
1360 val
* var35
/* : String */;
1362 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core__kernel__Object__init
]))(self
); /* init on <self:FileWriter>*/
1365 if (likely(varoncenew_guard
)) {
1368 var1
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
1371 varoncenew_guard
= 1;
1374 var2
= ((char*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(var_path
); /* to_cstring on <var_path:String>*/
1377 var3
= core__file___core__file__NativeFile___io_open_write(var
, var2
);
1379 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var3
; /* _file on <self:FileWriter> */
1381 { /* Inline file$FileStream$path= (self,var_path) on <self:FileWriter> */
1382 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var_path
; /* _path on <self:FileWriter> */
1386 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:FileWriter> */
1387 var5
= self
->attrs
[COLOR_core__file__FileStream___file
].val
; /* _file on <self:FileWriter> */
1388 if (unlikely(var5
== NULL
)) {
1389 if(catchStack
.cursor
>= 0){
1390 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1392 PRINT_ERROR("Runtime error: %s", "Cast failed");
1393 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 285);
1397 { /* Inline kernel$Pointer$address_is_null (var5) on <var5:nullable NativeFile(NativeFile)> */
1398 var9
= ((struct instance_core__Pointer
*)var5
)->value
; /* unboxing nullable NativeFile */
1399 var8
= core__kernel___Pointer_address_is_null___impl(var9
);
1406 var10
= NEW_core__IOError(&type_core__IOError
);
1407 if (unlikely(varonce
==NULL
)) {
1408 var11
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
1409 if (likely(varonce12
!=NULL
)) {
1412 var14
= "Cannot open `";
1413 var16
= (val
*)(13l<<2|1);
1414 var17
= (val
*)(13l<<2|1);
1415 var18
= (val
*)((long)(0)<<2|3);
1416 var19
= (val
*)((long)(0)<<2|3);
1417 var15
= core__flat___CString___to_s_unsafe(var14
, var16
, var17
, var18
, var19
);
1421 ((struct instance_core__NativeArray
*)var11
)->values
[0]=var13
;
1422 if (likely(varonce20
!=NULL
)) {
1426 var24
= (val
*)(3l<<2|1);
1427 var25
= (val
*)(3l<<2|1);
1428 var26
= (val
*)((long)(0)<<2|3);
1429 var27
= (val
*)((long)(0)<<2|3);
1430 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
1434 ((struct instance_core__NativeArray
*)var11
)->values
[2]=var21
;
1439 ((struct instance_core__NativeArray
*)var11
)->values
[1]=var_path
;
1441 { /* Inline kernel$Object$sys (self) on <self:FileWriter> */
1445 RET_LABEL29
:(void)0;
1449 { /* Inline kernel$Sys$errno (var28) on <var28:Sys> */
1450 struct nitni_instance
* var_for_c_0
;
1451 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1452 var_for_c_0
->value
= var28
;
1453 var33
= core__kernel___Sys_errno___impl(var_for_c_0
);
1456 RET_LABEL32
:(void)0;
1460 var34
= core__abstract_text___Int___strerror(var31
);
1462 ((struct instance_core__NativeArray
*)var11
)->values
[3]=var34
;
1464 var35
= ((val
*(*)(val
* self
))(var11
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var11
); /* native_to_s on <var11:NativeArray[String]>*/
1468 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__error__Error__message_61d
]))(var10
, var35
); /* message= on <var10:IOError>*/
1471 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:IOError>*/
1474 { /* Inline stream$Stream$last_error= (self,var10) on <self:FileWriter> */
1475 self
->attrs
[COLOR_core__stream__Stream___last_error
].val
= var10
; /* _last_error on <self:FileWriter> */
1476 RET_LABEL36
:(void)0;
1480 { /* Inline file$FileWriter$is_writable= (self,0) on <self:FileWriter> */
1481 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 0; /* _is_writable on <self:FileWriter> */
1482 RET_LABEL37
:(void)0;
1489 /* method file$Stdin$init for (self: Stdin) */
1490 void core___core__Stdin___core__kernel__Object__init(val
* self
) {
1491 static val
* varoncenew
;
1492 static int varoncenew_guard
;
1493 val
* var
/* : NativeFile */;
1494 val
* var1
/* : NativeFile */;
1495 val
* var2
/* : NativeFile */;
1496 static val
* varonce
;
1497 val
* var3
/* : String */;
1498 char* var4
/* : CString */;
1499 val
* var5
/* : String */;
1500 val
* var6
/* : nullable Int */;
1501 val
* var7
/* : nullable Int */;
1502 val
* var8
/* : nullable Bool */;
1503 val
* var9
/* : nullable Bool */;
1505 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Stdin___core__kernel__Object__init
]))(self
); /* init on <self:Stdin>*/
1507 if (likely(varoncenew_guard
)) {
1510 var1
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
1513 varoncenew_guard
= 1;
1516 var2
= core__file___core__file__NativeFile___native_stdin(var
);
1518 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var2
; /* _file on <self:Stdin> */
1519 if (likely(varonce
!=NULL
)) {
1522 var4
= "/dev/stdin";
1523 var6
= (val
*)(10l<<2|1);
1524 var7
= (val
*)(10l<<2|1);
1525 var8
= (val
*)((long)(0)<<2|3);
1526 var9
= (val
*)((long)(0)<<2|3);
1527 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
1532 { /* Inline file$FileStream$path= (self,var3) on <self:Stdin> */
1533 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var3
; /* _path on <self:Stdin> */
1534 RET_LABEL10
:(void)0;
1538 core___core__BufferedReader___prepare_buffer(self
, 1l); /* Direct call stream$BufferedReader$prepare_buffer on <self:Stdin>*/
1542 /* method file$Stdout$init for (self: Stdout) */
1543 void core___core__Stdout___core__kernel__Object__init(val
* self
) {
1544 static val
* varoncenew
;
1545 static int varoncenew_guard
;
1546 val
* var
/* : NativeFile */;
1547 val
* var1
/* : NativeFile */;
1548 val
* var2
/* : NativeFile */;
1549 static val
* varonce
;
1550 val
* var3
/* : String */;
1551 char* var4
/* : CString */;
1552 val
* var5
/* : String */;
1553 val
* var6
/* : nullable Int */;
1554 val
* var7
/* : nullable Int */;
1555 val
* var8
/* : nullable Bool */;
1556 val
* var9
/* : nullable Bool */;
1557 val
* var11
/* : Sys */;
1558 val
* var13
/* : Sys */;
1559 long var14
/* : Int */;
1560 long var16
/* : Int */;
1562 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Stdout___core__kernel__Object__init
]))(self
); /* init on <self:Stdout>*/
1564 if (likely(varoncenew_guard
)) {
1567 var1
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
1570 varoncenew_guard
= 1;
1573 var2
= core__file___core__file__NativeFile___native_stdout(var
);
1575 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var2
; /* _file on <self:Stdout> */
1576 if (likely(varonce
!=NULL
)) {
1579 var4
= "/dev/stdout";
1580 var6
= (val
*)(11l<<2|1);
1581 var7
= (val
*)(11l<<2|1);
1582 var8
= (val
*)((long)(0)<<2|3);
1583 var9
= (val
*)((long)(0)<<2|3);
1584 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
1589 { /* Inline file$FileStream$path= (self,var3) on <self:Stdout> */
1590 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var3
; /* _path on <self:Stdout> */
1591 RET_LABEL10
:(void)0;
1594 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:Stdout> */
1596 { /* Inline kernel$Object$sys (self) on <self:Stdout> */
1600 RET_LABEL12
:(void)0;
1604 { /* Inline file$Sys$buffer_mode_line (var11) on <var11:Sys> */
1605 struct nitni_instance
* var_for_c_0
;
1606 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1607 var_for_c_0
->value
= var11
;
1608 var16
= core__file___Sys_buffer_mode_line___impl(var_for_c_0
);
1611 RET_LABEL15
:(void)0;
1615 core___core__FileStream___set_buffering_mode(self
, 256l, var14
); /* Direct call file$FileStream$set_buffering_mode on <self:Stdout>*/
1619 /* method file$Stderr$init for (self: Stderr) */
1620 void core___core__Stderr___core__kernel__Object__init(val
* self
) {
1621 static val
* varoncenew
;
1622 static int varoncenew_guard
;
1623 val
* var
/* : NativeFile */;
1624 val
* var1
/* : NativeFile */;
1625 val
* var2
/* : NativeFile */;
1626 static val
* varonce
;
1627 val
* var3
/* : String */;
1628 char* var4
/* : CString */;
1629 val
* var5
/* : String */;
1630 val
* var6
/* : nullable Int */;
1631 val
* var7
/* : nullable Int */;
1632 val
* var8
/* : nullable Bool */;
1633 val
* var9
/* : nullable Bool */;
1635 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Stderr___core__kernel__Object__init
]))(self
); /* init on <self:Stderr>*/
1637 if (likely(varoncenew_guard
)) {
1640 var1
= NEW_core__file__NativeFile(&type_core__file__NativeFile
);
1643 varoncenew_guard
= 1;
1646 var2
= core__file___core__file__NativeFile___native_stderr(var
);
1648 self
->attrs
[COLOR_core__file__FileStream___file
].val
= var2
; /* _file on <self:Stderr> */
1649 if (likely(varonce
!=NULL
)) {
1652 var4
= "/dev/stderr";
1653 var6
= (val
*)(11l<<2|1);
1654 var7
= (val
*)(11l<<2|1);
1655 var8
= (val
*)((long)(0)<<2|3);
1656 var9
= (val
*)((long)(0)<<2|3);
1657 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
1662 { /* Inline file$FileStream$path= (self,var3) on <self:Stderr> */
1663 self
->attrs
[COLOR_core__file__FileStream___path
].val
= var3
; /* _path on <self:Stderr> */
1664 RET_LABEL10
:(void)0;
1667 self
->attrs
[COLOR_core__file__FileWriter___is_writable
].s
= 1; /* _is_writable on <self:Stderr> */
1670 /* method file$Writable$write_to_file for (self: Writable, String) */
1671 void core__file___Writable___write_to_file(val
* self
, val
* p0
) {
1672 val
* var_filepath
/* var filepath: String */;
1673 val
* var
/* : FileWriter */;
1674 val
* var_stream
/* var stream: FileWriter */;
1676 var
= NEW_core__FileWriter(&type_core__FileWriter
);
1678 core___core__FileWriter___open(var
, var_filepath
); /* Direct call file$FileWriter$open on <var:FileWriter>*/
1682 ((void(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__stream__Writable__write_to
]))(self
, var_stream
); /* write_to on <self:Writable>*/
1685 core___core__FileWriter___core__stream__Stream__close(var_stream
); /* Direct call file$FileWriter$close on <var_stream:FileWriter>*/
1689 /* method file$Path$path for (self: Path): String */
1690 val
* core___core__Path___path(val
* self
) {
1691 val
* var
/* : String */;
1692 val
* var1
/* : String */;
1693 var1
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1694 if (unlikely(var1
== NULL
)) {
1695 if(catchStack
.cursor
>= 0){
1696 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1699 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 383);
1706 /* method file$Path$path= for (self: Path, String) */
1707 void core___core__Path___path_61d(val
* self
, val
* p0
) {
1708 self
->attrs
[COLOR_core__file__Path___path
].val
= p0
; /* _path on <self:Path> */
1711 /* method file$Path$to_s for (self: Path): String */
1712 val
* core___core__Path___core__abstract_text__Object__to_s(val
* self
) {
1713 val
* var
/* : String */;
1714 val
* var1
/* : String */;
1715 val
* var3
/* : String */;
1717 { /* Inline file$Path$path (self) on <self:Path> */
1718 var3
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1719 if (unlikely(var3
== NULL
)) {
1720 if(catchStack
.cursor
>= 0){
1721 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1724 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 383);
1736 /* method file$Path$simplified for (self: Path): Path */
1737 val
* core___core__Path___simplified(val
* self
) {
1738 val
* var
/* : Path */;
1739 short int var1
/* : Bool */;
1740 val
* var2
/* : Path */;
1741 val
* var3
/* : Path */;
1742 val
* var5
/* : String */;
1743 val
* var7
/* : String */;
1744 val
* var8
/* : String */;
1745 val
* var9
/* : Path */;
1746 val
* var_res
/* var res: Path */;
1747 var1
= self
->attrs
[COLOR_core__file__Path___simplified
].val
!= NULL
; /* _simplified on <self:Path> */
1749 var2
= self
->attrs
[COLOR_core__file__Path___simplified
].val
; /* _simplified on <self:Path> */
1750 if (unlikely(var2
== NULL
)) {
1751 if(catchStack
.cursor
>= 0){
1752 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _simplified");
1755 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 398);
1761 { /* Inline file$Path$path (self) on <self:Path> */
1762 var7
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1763 if (unlikely(var7
== NULL
)) {
1764 if(catchStack
.cursor
>= 0){
1765 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1767 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1768 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 383);
1776 var8
= core__file___String___simplify_path(var5
);
1779 var9
= core__file___Text___to_path(var8
);
1783 core___core__Path___simplified_61d(var_res
, var_res
); /* Direct call file$Path$simplified= on <var_res:Path>*/
1789 self
->attrs
[COLOR_core__file__Path___simplified
].val
= var3
; /* _simplified on <self:Path> */
1796 /* method file$Path$simplified= for (self: Path, Path) */
1797 void core___core__Path___simplified_61d(val
* self
, val
* p0
) {
1798 self
->attrs
[COLOR_core__file__Path___simplified
].val
= p0
; /* _simplified on <self:Path> */
1801 /* method file$Path$last_error= for (self: Path, nullable IOError) */
1802 void core___core__Path___last_error_61d(val
* self
, val
* p0
) {
1803 self
->attrs
[COLOR_core__file__Path___last_error
].val
= p0
; /* _last_error on <self:Path> */
1806 /* method file$Path$copy for (self: Path, Path) */
1807 void core___core__Path___copy(val
* self
, val
* p0
) {
1808 val
* var_dest
/* var dest: Path */;
1809 val
* var
/* : FileReader */;
1810 val
* var_input
/* var input: FileReader */;
1811 val
* var2
/* : FileWriter */;
1812 val
* var_output
/* var output: FileWriter */;
1813 short int var3
/* : Bool */;
1814 short int var4
/* : Bool */;
1815 val
* var5
/* : Bytes */;
1816 val
* var_buffer
/* var buffer: Bytes */;
1817 val
* var6
/* : nullable IOError */;
1818 val
* var7
/* : nullable IOError */;
1819 val
* var9
/* : nullable IOError */;
1820 val
* var10
/* : nullable IOError */;
1821 val
* var12
/* : nullable IOError */;
1824 { /* Inline file$Path$last_error= (self,((val*)NULL)) on <self:Path> */
1825 self
->attrs
[COLOR_core__file__Path___last_error
].val
= ((val
*)NULL
); /* _last_error on <self:Path> */
1830 var
= core___core__Path___open_ro(self
);
1834 var2
= core___core__Path___open_wo(var_dest
);
1839 var3
= core___core__BufferedReader___Reader__eof(var_input
);
1844 var5
= core___core__BufferedReader___Reader__read_bytes(var_input
, 1024l);
1848 core___core__FileWriter___core__stream__Writer__write_bytes(var_output
, var_buffer
); /* Direct call file$FileWriter$write_bytes on <var_output:FileWriter>*/
1854 BREAK_label
: (void)0;
1856 core___core__FileReader___core__stream__Stream__close(var_input
); /* Direct call file$FileReader$close on <var_input:FileReader>*/
1859 core___core__FileWriter___core__stream__Stream__close(var_output
); /* Direct call file$FileWriter$close on <var_output:FileWriter>*/
1862 { /* Inline stream$Stream$last_error (var_input) on <var_input:FileReader> */
1863 var9
= var_input
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <var_input:FileReader> */
1872 { /* Inline stream$Stream$last_error (var_output) on <var_output:FileWriter> */
1873 var12
= var_output
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <var_output:FileWriter> */
1875 RET_LABEL11
:(void)0;
1881 { /* Inline file$Path$last_error= (self,var6) on <self:Path> */
1882 self
->attrs
[COLOR_core__file__Path___last_error
].val
= var6
; /* _last_error on <self:Path> */
1883 RET_LABEL13
:(void)0;
1888 /* method file$Path$open_ro for (self: Path): FileReader */
1889 val
* core___core__Path___open_ro(val
* self
) {
1890 val
* var
/* : FileReader */;
1891 val
* var1
/* : FileReader */;
1892 val
* var2
/* : String */;
1893 val
* var4
/* : String */;
1894 val
* var_res
/* var res: FileReader */;
1895 val
* var5
/* : nullable IOError */;
1896 val
* var7
/* : nullable IOError */;
1897 var1
= NEW_core__FileReader(&type_core__FileReader
);
1899 { /* Inline file$Path$path (self) on <self:Path> */
1900 var4
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1901 if (unlikely(var4
== NULL
)) {
1902 if(catchStack
.cursor
>= 0){
1903 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1905 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1906 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 383);
1914 core___core__FileReader___open(var1
, var2
); /* Direct call file$FileReader$open on <var1:FileReader>*/
1918 { /* Inline stream$Stream$last_error (var_res) on <var_res:FileReader> */
1919 var7
= var_res
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <var_res:FileReader> */
1925 { /* Inline file$Path$last_error= (self,var5) on <self:Path> */
1926 self
->attrs
[COLOR_core__file__Path___last_error
].val
= var5
; /* _last_error on <self:Path> */
1935 /* method file$Path$open_wo for (self: Path): FileWriter */
1936 val
* core___core__Path___open_wo(val
* self
) {
1937 val
* var
/* : FileWriter */;
1938 val
* var1
/* : FileWriter */;
1939 val
* var2
/* : String */;
1940 val
* var4
/* : String */;
1941 val
* var_res
/* var res: FileWriter */;
1942 val
* var5
/* : nullable IOError */;
1943 val
* var7
/* : nullable IOError */;
1944 var1
= NEW_core__FileWriter(&type_core__FileWriter
);
1946 { /* Inline file$Path$path (self) on <self:Path> */
1947 var4
= self
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <self:Path> */
1948 if (unlikely(var4
== NULL
)) {
1949 if(catchStack
.cursor
>= 0){
1950 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
1953 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 383);
1961 core___core__FileWriter___open(var1
, var2
); /* Direct call file$FileWriter$open on <var1:FileWriter>*/
1965 { /* Inline stream$Stream$last_error (var_res) on <var_res:FileWriter> */
1966 var7
= var_res
->attrs
[COLOR_core__stream__Stream___last_error
].val
; /* _last_error on <var_res:FileWriter> */
1972 { /* Inline file$Path$last_error= (self,var5) on <self:Path> */
1973 self
->attrs
[COLOR_core__file__Path___last_error
].val
= var5
; /* _last_error on <self:Path> */
1982 /* method file$Path$== for (self: Path, nullable Object): Bool */
1983 short int core___core__Path___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
1984 short int var
/* : Bool */;
1985 val
* var_other
/* var other: nullable Object */;
1986 short int var1
/* : Bool */;
1987 short int var2
/* : Bool */;
1990 short int var_
/* var : Bool */;
1991 val
* var3
/* : Path */;
1992 val
* var4
/* : String */;
1993 val
* var6
/* : String */;
1994 val
* var7
/* : Path */;
1995 val
* var8
/* : String */;
1996 val
* var10
/* : String */;
1997 short int var11
/* : Bool */;
1999 /* <var_other:nullable Object> isa Path */
2000 cltype
= type_core__Path
.color
;
2001 idtype
= type_core__Path
.id
;
2002 if(var_other
== NULL
) {
2005 if(cltype
>= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->table_size
) {
2008 var2
= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->type_table
[cltype
] == idtype
;
2014 var3
= core___core__Path___simplified(self
);
2017 { /* Inline file$Path$path (var3) on <var3:Path> */
2018 var6
= var3
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <var3:Path> */
2019 if (unlikely(var6
== NULL
)) {
2020 if(catchStack
.cursor
>= 0){
2021 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2023 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
2024 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 383);
2032 var7
= core___core__Path___simplified(var_other
);
2035 { /* Inline file$Path$path (var7) on <var7:Path> */
2036 var10
= var7
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <var7:Path> */
2037 if (unlikely(var10
== NULL
)) {
2038 if(catchStack
.cursor
>= 0){
2039 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
2042 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 383);
2050 var11
= ((short int(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var4
, var8
); /* == on <var4:String>*/
2061 /* method file$Path$hash for (self: Path): Int */
2062 long core___core__Path___core__kernel__Object__hash(val
* self
) {
2063 long var
/* : Int */;
2064 val
* var1
/* : Path */;
2065 val
* var2
/* : String */;
2066 val
* var4
/* : String */;
2067 long var5
/* : Int */;
2069 var1
= core___core__Path___simplified(self
);
2072 { /* Inline file$Path$path (var1) on <var1:Path> */
2073 var4
= var1
->attrs
[COLOR_core__file__Path___path
].val
; /* _path on <var1:Path> */
2074 if (unlikely(var4
== NULL
)) {
2075 if(catchStack
.cursor
>= 0){
2076 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2078 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _path");
2079 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 383);
2087 var5
= ((long(*)(val
* self
))(var2
->class->vft
[COLOR_core__kernel__Object__hash
]))(var2
); /* hash on <var2:String>*/
2094 /* method file$Path$init for (self: Path) */
2095 void core___core__Path___core__kernel__Object__init(val
* self
) {
2097 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Path___core__kernel__Object__init
]))(self
); /* init on <self:Path>*/
2101 /* method file$FileStat$stat for (self: FileStat): NativeFileStat */
2102 val
* core___core__FileStat___stat(val
* self
) {
2103 val
* var
/* : NativeFileStat */;
2104 val
* var1
/* : NativeFileStat */;
2105 var1
= self
->attrs
[COLOR_core__file__FileStat___stat
].val
; /* _stat on <self:FileStat> */
2106 if (unlikely(var1
== NULL
)) {
2107 if(catchStack
.cursor
>= 0){
2108 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stat");
2111 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 769);
2118 /* method file$FileStat$stat= for (self: FileStat, NativeFileStat) */
2119 void core___core__FileStat___stat_61d(val
* self
, val
* p0
) {
2120 self
->attrs
[COLOR_core__file__FileStat___stat
].val
= p0
; /* _stat on <self:FileStat> */
2123 /* method file$FileStat$finalized for (self: FileStat): Bool */
2124 short int core___core__FileStat___finalized(val
* self
) {
2125 short int var
/* : Bool */;
2126 short int var1
/* : Bool */;
2127 var1
= self
->attrs
[COLOR_core__file__FileStat___finalized
].s
; /* _finalized on <self:FileStat> */
2132 /* method file$FileStat$finalized= for (self: FileStat, Bool) */
2133 void core___core__FileStat___finalized_61d(val
* self
, short int p0
) {
2134 self
->attrs
[COLOR_core__file__FileStat___finalized
].s
= p0
; /* _finalized on <self:FileStat> */
2137 /* method file$FileStat$finalize for (self: FileStat) */
2138 void core___core__FileStat___core__gc__Finalizable__finalize(val
* self
) {
2139 short int var
/* : Bool */;
2140 short int var2
/* : Bool */;
2141 short int var3
/* : Bool */;
2142 val
* var4
/* : NativeFileStat */;
2143 val
* var6
/* : NativeFileStat */;
2144 void* var8
/* : Pointer for extern */;
2146 { /* Inline file$FileStat$finalized (self) on <self:FileStat> */
2147 var2
= self
->attrs
[COLOR_core__file__FileStat___finalized
].s
; /* _finalized on <self:FileStat> */
2155 { /* Inline file$FileStat$stat (self) on <self:FileStat> */
2156 var6
= self
->attrs
[COLOR_core__file__FileStat___stat
].val
; /* _stat on <self:FileStat> */
2157 if (unlikely(var6
== NULL
)) {
2158 if(catchStack
.cursor
>= 0){
2159 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stat");
2162 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 769);
2170 { /* Inline kernel$Pointer$free (var4) on <var4:NativeFileStat> */
2171 var8
= ((struct instance_core__Pointer
*)var4
)->value
; /* unboxing NativeFileStat */
2172 core__kernel___Pointer_free___impl(var8
);
2177 { /* Inline file$FileStat$finalized= (self,1) on <self:FileStat> */
2178 self
->attrs
[COLOR_core__file__FileStat___finalized
].s
= 1; /* _finalized on <self:FileStat> */
2186 /* method file$FileStat$is_dir for (self: FileStat): Bool */
2187 short int core___core__FileStat___is_dir(val
* self
) {
2188 short int var
/* : Bool */;
2189 short int var1
/* : Bool */;
2190 short int var3
/* : Bool */;
2191 short int var4
/* : Bool */;
2192 val
* var5
/* : NativeFileStat */;
2193 val
* var7
/* : NativeFileStat */;
2194 short int var8
/* : Bool */;
2195 short int var10
/* : Bool */;
2196 void* var11
/* : NativeFileStat for extern */;
2198 { /* Inline file$FileStat$finalized (self) on <self:FileStat> */
2199 var3
= self
->attrs
[COLOR_core__file__FileStat___finalized
].s
; /* _finalized on <self:FileStat> */
2205 if (unlikely(!var4
)) {
2206 if(catchStack
.cursor
>= 0){
2207 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2209 PRINT_ERROR("Runtime error: %s", "Assert failed");
2210 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 829);
2214 { /* Inline file$FileStat$stat (self) on <self:FileStat> */
2215 var7
= self
->attrs
[COLOR_core__file__FileStat___stat
].val
; /* _stat on <self:FileStat> */
2216 if (unlikely(var7
== NULL
)) {
2217 if(catchStack
.cursor
>= 0){
2218 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2220 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stat");
2221 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 769);
2229 { /* Inline file$NativeFileStat$is_dir (var5) on <var5:NativeFileStat> */
2230 var11
= ((struct instance_core__Pointer
*)var5
)->value
; /* unboxing NativeFileStat */
2231 var10
= core__file___NativeFileStat_is_dir___impl(var11
);
2242 /* method file$FileStat$init for (self: FileStat) */
2243 void core___core__FileStat___core__kernel__Object__init(val
* self
) {
2245 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__FileStat___core__kernel__Object__init
]))(self
); /* init on <self:FileStat>*/
2249 /* method file$Text$to_path for (self: Text): Path */
2250 val
* core__file___Text___to_path(val
* self
) {
2251 val
* var
/* : Path */;
2252 val
* var1
/* : Path */;
2253 val
* var2
/* : String */;
2254 var1
= NEW_core__Path(&type_core__Path
);
2256 var2
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(self
); /* to_s on <self:Text>*/
2259 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__file__Path__path_61d
]))(var1
, var2
); /* path= on <var1:Path>*/
2262 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:Path>*/
2269 /* method file$Text$write_native_to for (self: Text, FileWriter) */
2270 void core__file___Text___write_native_to(val
* self
, val
* p0
) {
2271 val
* var_s
/* var s: FileWriter */;
2272 val
* var
/* : Iterator[FlatText] */;
2273 val
* var_
/* var : Iterator[FlatText] */;
2274 val
* var1
/* : Iterator[nullable Object] */;
2275 val
* var_2
/* var : Iterator[FlatText] */;
2276 short int var3
/* : Bool */;
2277 val
* var4
/* : nullable Object */;
2278 val
* var_i
/* var i: FlatText */;
2279 char* var5
/* : CString */;
2280 long var6
/* : Int */;
2281 long var8
/* : Int */;
2284 var
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__substrings
]))(self
); /* substrings on <self:Text>*/
2288 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Iterator__iterator
]))(var_
); /* iterator on <var_:Iterator[FlatText]>*/
2293 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[FlatText]>*/
2300 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[FlatText]>*/
2304 var5
= ((char*(*)(val
* self
))(var_i
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(var_i
); /* to_cstring on <var_i:FlatText>*/
2307 { /* Inline abstract_text$FlatText$byte_length (var_i) on <var_i:FlatText> */
2308 var8
= var_i
->attrs
[COLOR_core__abstract_text__FlatText___byte_length
].l
; /* _byte_length on <var_i:FlatText> */
2314 core___core__FileWriter___write_native(var_s
, var5
, 0l, var6
); /* Direct call file$FileWriter$write_native on <var_s:FileWriter>*/
2317 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[FlatText]>*/
2320 BREAK_label
: (void)0;
2322 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[FlatText]>*/
2326 /* method file$Text$file_exists for (self: Text): Bool */
2327 short int core__file___Text___file_exists(val
* self
) {
2328 short int var
/* : Bool */;
2329 char* var1
/* : CString */;
2330 short int var2
/* : Bool */;
2331 short int var4
/* : Bool */;
2333 var1
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:Text>*/
2336 { /* Inline file$CString$file_exists (var1) on <var1:CString> */
2337 var4
= core__file___CString_file_exists___impl(var1
);
2348 /* method file$String$file_stat for (self: String): nullable FileStat */
2349 val
* core__file___String___file_stat(val
* self
) {
2350 val
* var
/* : nullable FileStat */;
2351 char* var1
/* : CString */;
2352 val
* var2
/* : NativeFileStat */;
2353 val
* var4
/* : NativeFileStat */;
2354 val
* var5
/* : NativeFileStat */;
2355 val
* var_stat
/* var stat: NativeFileStat */;
2356 short int var6
/* : Bool */;
2357 short int var8
/* : Bool */;
2358 void* var9
/* : Pointer for extern */;
2359 val
* var10
/* : FileStat */;
2361 var1
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
2364 { /* Inline file$CString$file_stat (var1) on <var1:CString> */
2365 var4
= core__file___CString_file_stat___impl(var1
);
2366 var5
= BOX_core__Pointer(var4
); /* boxing NativeFileStat */
2367 var5
->type
= &type_core__file__NativeFileStat
;
2368 var5
->class = &class_core__file__NativeFileStat
;
2376 { /* Inline kernel$Pointer$address_is_null (var_stat) on <var_stat:NativeFileStat> */
2377 var9
= ((struct instance_core__Pointer
*)var_stat
)->value
; /* unboxing NativeFileStat */
2378 var8
= core__kernel___Pointer_address_is_null___impl(var9
);
2389 var10
= NEW_core__FileStat(&type_core__FileStat
);
2391 ((void(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_core__file__FileStat__stat_61d
]))(var10
, var_stat
); /* stat= on <var10:FileStat>*/
2394 ((void(*)(val
* self
))(var10
->class->vft
[COLOR_core__kernel__Object__init
]))(var10
); /* init on <var10:FileStat>*/
2401 /* method file$String$file_copy_to for (self: String, String) */
2402 void core__file___String___file_copy_to(val
* self
, val
* p0
) {
2403 val
* var_dest
/* var dest: String */;
2404 val
* var
/* : Path */;
2405 val
* var1
/* : Path */;
2408 var
= core__file___Text___to_path(self
);
2411 var1
= core__file___Text___to_path(var_dest
);
2414 core___core__Path___copy(var
, var1
); /* Direct call file$Path$copy on <var:Path>*/
2418 /* method file$String$strip_extension for (self: String, nullable String): String */
2419 val
* core__file___String___strip_extension(val
* self
, val
* p0
) {
2420 val
* var
/* : String */;
2421 val
* var_extension
/* var extension: nullable String */;
2422 short int var1
/* : Bool */;
2423 short int var2
/* : Bool */;
2424 val
* var3
/* : nullable String */;
2425 short int var4
/* : Bool */;
2426 short int var5
/* : Bool */;
2427 val
* var6
/* : NativeArray[String] */;
2428 static val
* varonce
;
2429 static val
* varonce7
;
2430 val
* var8
/* : String */;
2431 char* var9
/* : CString */;
2432 val
* var10
/* : String */;
2433 val
* var11
/* : nullable Int */;
2434 val
* var12
/* : nullable Int */;
2435 val
* var13
/* : nullable Bool */;
2436 val
* var14
/* : nullable Bool */;
2437 val
* var15
/* : String */;
2438 short int var16
/* : Bool */;
2439 long var17
/* : Int */;
2440 long var18
/* : Int */;
2441 long var19
/* : Int */;
2442 short int var21
/* : Bool */;
2445 const char* var_class_name
;
2446 long var22
/* : Int */;
2447 val
* var23
/* : Text */;
2449 if (var_extension
== NULL
) {
2450 var1
= 1; /* is null */
2452 var1
= 0; /* arg is null but recv is not */
2455 var2
= ((short int(*)(val
* self
, val
* p0
))(var_extension
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_extension
, ((val
*)NULL
)); /* == on <var_extension:nullable String>*/
2460 var3
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__file__String__file_extension
]))(self
); /* file_extension on <self:String>*/
2462 var_extension
= var3
;
2463 if (var_extension
== NULL
) {
2464 var4
= 1; /* is null */
2466 var4
= 0; /* arg is null but recv is not */
2469 var5
= ((short int(*)(val
* self
, val
* p0
))(var_extension
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_extension
, ((val
*)NULL
)); /* == on <var_extension:nullable String>*/
2476 if (unlikely(varonce
==NULL
)) {
2477 var6
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
2478 if (likely(varonce7
!=NULL
)) {
2482 var11
= (val
*)(1l<<2|1);
2483 var12
= (val
*)(1l<<2|1);
2484 var13
= (val
*)((long)(0)<<2|3);
2485 var14
= (val
*)((long)(0)<<2|3);
2486 var10
= core__flat___CString___to_s_unsafe(var9
, var11
, var12
, var13
, var14
);
2490 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var8
;
2495 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var_extension
;
2497 var15
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
2500 var_extension
= var15
;
2505 var16
= core___core__Text___has_suffix(self
, var_extension
);
2509 var17
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
2512 var18
= ((long(*)(val
* self
))(var_extension
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_extension
); /* length on <var_extension:nullable String(String)>*/
2515 { /* Inline kernel$Int$- (var17,var18) on <var17:Int> */
2516 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
2517 /* <var18:Int> isa OTHER */
2518 var21
= 1; /* easy <var18:Int> isa OTHER*/
2519 if (unlikely(!var21
)) {
2520 var_class_name
= type_core__Int
.name
;
2521 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2522 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2525 var22
= var17
- var18
;
2528 RET_LABEL20
:(void)0;
2532 var23
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, 0l, var19
); /* substring on <self:String>*/
2543 /* method file$String$basename for (self: String, nullable String): String */
2544 val
* core__file___String___basename(val
* self
, val
* p0
) {
2545 val
* var
/* : String */;
2546 val
* var_extension
/* var extension: nullable String */;
2547 val
* var_n
/* var n: String */;
2548 val
* var1
/* : Sys */;
2549 short int var2
/* : Bool */;
2550 short int var4
/* : Bool */;
2551 long var5
/* : Int */;
2552 long var6
/* : Int */;
2553 short int var8
/* : Bool */;
2556 const char* var_class_name
;
2557 long var9
/* : Int */;
2558 long var_l
/* var l: Int */;
2559 short int var10
/* : Bool */;
2560 short int var11
/* : Bool */;
2561 short int var13
/* : Bool */;
2564 const char* var_class_name16
;
2565 short int var17
/* : Bool */;
2566 short int var_
/* var : Bool */;
2567 short int var18
/* : Bool */;
2568 val
* var19
/* : SequenceRead[Char] */;
2569 val
* var20
/* : nullable Object */;
2570 short int var21
/* : Bool */;
2571 short int var23
/* : Bool */;
2572 uint32_t var24
/* : Char */;
2573 short int var_25
/* var : Bool */;
2574 val
* var26
/* : SequenceRead[Char] */;
2575 val
* var27
/* : nullable Object */;
2576 short int var28
/* : Bool */;
2577 short int var30
/* : Bool */;
2578 uint32_t var31
/* : Char */;
2579 long var32
/* : Int */;
2580 short int var34
/* : Bool */;
2583 const char* var_class_name37
;
2584 long var38
/* : Int */;
2585 short int var39
/* : Bool */;
2586 short int var41
/* : Bool */;
2587 static val
* varonce
;
2588 val
* var42
/* : String */;
2589 char* var43
/* : CString */;
2590 val
* var44
/* : String */;
2591 val
* var45
/* : nullable Int */;
2592 val
* var46
/* : nullable Int */;
2593 val
* var47
/* : nullable Bool */;
2594 val
* var48
/* : nullable Bool */;
2595 val
* var49
/* : SequenceRead[Char] */;
2596 val
* var50
/* : nullable Object */;
2597 long var51
/* : Int */;
2598 long var_pos
/* var pos: Int */;
2599 long var52
/* : Int */;
2600 long var53
/* : Int */;
2601 short int var54
/* : Bool */;
2602 short int var56
/* : Bool */;
2605 const char* var_class_name59
;
2606 short int var60
/* : Bool */;
2607 long var61
/* : Int */;
2608 short int var63
/* : Bool */;
2611 const char* var_class_name66
;
2612 long var67
/* : Int */;
2613 long var68
/* : Int */;
2614 short int var70
/* : Bool */;
2617 const char* var_class_name73
;
2618 long var74
/* : Int */;
2619 val
* var75
/* : Text */;
2620 long var76
/* : Int */;
2621 long var77
/* : Int */;
2622 short int var79
/* : Bool */;
2625 const char* var_class_name82
;
2626 long var83
/* : Int */;
2627 long var_l84
/* var l: Int */;
2628 short int var85
/* : Bool */;
2629 short int var86
/* : Bool */;
2630 short int var88
/* : Bool */;
2633 const char* var_class_name91
;
2634 short int var92
/* : Bool */;
2635 short int var_93
/* var : Bool */;
2636 val
* var94
/* : SequenceRead[Char] */;
2637 val
* var95
/* : nullable Object */;
2638 short int var96
/* : Bool */;
2639 short int var98
/* : Bool */;
2640 uint32_t var99
/* : Char */;
2641 long var100
/* : Int */;
2642 short int var102
/* : Bool */;
2645 const char* var_class_name105
;
2646 long var106
/* : Int */;
2647 short int var108
/* : Bool */;
2648 short int var110
/* : Bool */;
2649 static val
* varonce111
;
2650 val
* var112
/* : String */;
2651 char* var113
/* : CString */;
2652 val
* var114
/* : String */;
2653 val
* var115
/* : nullable Int */;
2654 val
* var116
/* : nullable Int */;
2655 val
* var117
/* : nullable Bool */;
2656 val
* var118
/* : nullable Bool */;
2657 val
* var119
/* : SequenceRead[Char] */;
2658 val
* var120
/* : nullable Object */;
2659 long var121
/* : Int */;
2660 long var_pos122
/* var pos: Int */;
2661 short int var123
/* : Bool */;
2662 short int var125
/* : Bool */;
2665 const char* var_class_name128
;
2666 short int var129
/* : Bool */;
2667 long var130
/* : Int */;
2668 short int var132
/* : Bool */;
2671 const char* var_class_name135
;
2672 long var136
/* : Int */;
2673 long var137
/* : Int */;
2674 short int var139
/* : Bool */;
2677 const char* var_class_name142
;
2678 long var143
/* : Int */;
2679 val
* var144
/* : Text */;
2680 short int var145
/* : Bool */;
2681 short int var146
/* : Bool */;
2682 val
* var_other
/* var other: nullable Object */;
2683 short int var148
/* : Bool */;
2684 short int var149
/* : Bool */;
2685 val
* var150
/* : String */;
2690 { /* Inline kernel$Sys$is_windows (var1) on <var1:Sys> */
2691 struct nitni_instance
* var_for_c_0
;
2692 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
2693 var_for_c_0
->value
= var1
;
2694 var4
= core__kernel___Sys_is_windows___impl(var_for_c_0
);
2702 var5
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
2705 { /* Inline kernel$Int$- (var5,1l) on <var5:Int> */
2706 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2707 /* <1l:Int> isa OTHER */
2708 var8
= 1; /* easy <1l:Int> isa OTHER*/
2709 if (unlikely(!var8
)) {
2710 var_class_name
= type_core__Int
.name
;
2711 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2712 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2724 { /* Inline kernel$Int$> (var_l,0l) on <var_l:Int> */
2725 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2726 /* <0l:Int> isa OTHER */
2727 var13
= 1; /* easy <0l:Int> isa OTHER*/
2728 if (unlikely(!var13
)) {
2729 var_class_name16
= type_core__Int
.name
;
2730 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2731 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
2737 RET_LABEL12
:(void)0;
2743 var19
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
2746 var20
= ((val
*(*)(val
* self
, long p0
))((((long)var19
&3)?class_info
[((long)var19
&3)]:var19
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var19
, var_l
); /* [] on <var19:SequenceRead[Char]>*/
2749 { /* Inline kernel$Char$== (var20,'/') on <var20:nullable Object(Char)> */
2750 var24
= (uint32_t)((long)(var20
)>>2);
2751 var23
= var24
== '/';
2754 RET_LABEL22
:(void)0;
2762 var26
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
2765 var27
= ((val
*(*)(val
* self
, long p0
))((((long)var26
&3)?class_info
[((long)var26
&3)]:var26
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var26
, var_l
); /* [] on <var26:SequenceRead[Char]>*/
2768 { /* Inline kernel$Char$== (var27,'\\') on <var27:nullable Object(Char)> */
2769 var31
= (uint32_t)((long)(var27
)>>2);
2770 var30
= var31
== '\\';
2773 RET_LABEL29
:(void)0;
2784 { /* Inline kernel$Int$- (var_l,1l) on <var_l:Int> */
2785 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2786 /* <1l:Int> isa OTHER */
2787 var34
= 1; /* easy <1l:Int> isa OTHER*/
2788 if (unlikely(!var34
)) {
2789 var_class_name37
= type_core__Int
.name
;
2790 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37
);
2791 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2797 RET_LABEL33
:(void)0;
2805 BREAK_label
: (void)0;
2807 { /* Inline kernel$Int$== (var_l,0l) on <var_l:Int> */
2808 var41
= var_l
== 0l;
2811 RET_LABEL40
:(void)0;
2815 if (likely(varonce
!=NULL
)) {
2819 var45
= (val
*)(1l<<2|1);
2820 var46
= (val
*)(1l<<2|1);
2821 var47
= (val
*)((long)(0)<<2|3);
2822 var48
= (val
*)((long)(0)<<2|3);
2823 var44
= core__flat___CString___to_s_unsafe(var43
, var45
, var46
, var47
, var48
);
2832 var49
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
2835 var50
= (val
*)((long)('/')<<2|2);
2836 var51
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)var49
&3)?class_info
[((long)var49
&3)]:var49
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last_index_of_from
]))(var49
, var50
, var_l
); /* last_index_of_from on <var49:SequenceRead[Char]>*/
2840 var52
= core___core__Text___last_index_of_from(self
, '\\', var_l
);
2843 var53
= core___core__Int___Comparable__max(var_pos
, var52
);
2847 { /* Inline kernel$Int$>= (var_pos,0l) on <var_pos:Int> */
2848 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2849 /* <0l:Int> isa OTHER */
2850 var56
= 1; /* easy <0l:Int> isa OTHER*/
2851 if (unlikely(!var56
)) {
2852 var_class_name59
= type_core__Int
.name
;
2853 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59
);
2854 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
2857 var60
= var_pos
>= 0l;
2860 RET_LABEL55
:(void)0;
2865 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
2866 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2867 /* <1l:Int> isa OTHER */
2868 var63
= 1; /* easy <1l:Int> isa OTHER*/
2869 if (unlikely(!var63
)) {
2870 var_class_name66
= type_core__Int
.name
;
2871 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66
);
2872 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2875 var67
= var_pos
+ 1l;
2878 RET_LABEL62
:(void)0;
2882 { /* Inline kernel$Int$- (var_l,var_pos) on <var_l:Int> */
2883 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
2884 /* <var_pos:Int> isa OTHER */
2885 var70
= 1; /* easy <var_pos:Int> isa OTHER*/
2886 if (unlikely(!var70
)) {
2887 var_class_name73
= type_core__Int
.name
;
2888 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73
);
2889 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2892 var74
= var_l
- var_pos
;
2895 RET_LABEL69
:(void)0;
2899 var75
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, var61
, var68
); /* substring on <self:String>*/
2906 var76
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
2909 { /* Inline kernel$Int$- (var76,1l) on <var76:Int> */
2910 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2911 /* <1l:Int> isa OTHER */
2912 var79
= 1; /* easy <1l:Int> isa OTHER*/
2913 if (unlikely(!var79
)) {
2914 var_class_name82
= type_core__Int
.name
;
2915 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82
);
2916 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2922 RET_LABEL78
:(void)0;
2928 { /* Inline kernel$Int$> (var_l84,0l) on <var_l84:Int> */
2929 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2930 /* <0l:Int> isa OTHER */
2931 var88
= 1; /* easy <0l:Int> isa OTHER*/
2932 if (unlikely(!var88
)) {
2933 var_class_name91
= type_core__Int
.name
;
2934 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91
);
2935 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
2938 var92
= var_l84
> 0l;
2941 RET_LABEL87
:(void)0;
2947 var94
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
2950 var95
= ((val
*(*)(val
* self
, long p0
))((((long)var94
&3)?class_info
[((long)var94
&3)]:var94
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var94
, var_l84
); /* [] on <var94:SequenceRead[Char]>*/
2953 { /* Inline kernel$Char$== (var95,'/') on <var95:nullable Object(Char)> */
2954 var99
= (uint32_t)((long)(var95
)>>2);
2955 var98
= var99
== '/';
2958 RET_LABEL97
:(void)0;
2967 { /* Inline kernel$Int$- (var_l84,1l) on <var_l84:Int> */
2968 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2969 /* <1l:Int> isa OTHER */
2970 var102
= 1; /* easy <1l:Int> isa OTHER*/
2971 if (unlikely(!var102
)) {
2972 var_class_name105
= type_core__Int
.name
;
2973 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name105
);
2974 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2977 var106
= var_l84
- 1l;
2980 RET_LABEL101
:(void)0;
2985 goto BREAK_label107
;
2988 BREAK_label107
: (void)0;
2990 { /* Inline kernel$Int$== (var_l84,0l) on <var_l84:Int> */
2991 var110
= var_l84
== 0l;
2994 RET_LABEL109
:(void)0;
2998 if (likely(varonce111
!=NULL
)) {
2999 var112
= varonce111
;
3002 var115
= (val
*)(1l<<2|1);
3003 var116
= (val
*)(1l<<2|1);
3004 var117
= (val
*)((long)(0)<<2|3);
3005 var118
= (val
*)((long)(0)<<2|3);
3006 var114
= core__flat___CString___to_s_unsafe(var113
, var115
, var116
, var117
, var118
);
3008 varonce111
= var112
;
3015 var119
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
3018 var120
= (val
*)((long)('/')<<2|2);
3019 var121
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)var119
&3)?class_info
[((long)var119
&3)]:var119
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last_index_of_from
]))(var119
, var120
, var_l84
); /* last_index_of_from on <var119:SequenceRead[Char]>*/
3021 var_pos122
= var121
;
3023 { /* Inline kernel$Int$>= (var_pos122,0l) on <var_pos122:Int> */
3024 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3025 /* <0l:Int> isa OTHER */
3026 var125
= 1; /* easy <0l:Int> isa OTHER*/
3027 if (unlikely(!var125
)) {
3028 var_class_name128
= type_core__Int
.name
;
3029 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name128
);
3030 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
3033 var129
= var_pos122
>= 0l;
3036 RET_LABEL124
:(void)0;
3041 { /* Inline kernel$Int$+ (var_pos122,1l) on <var_pos122:Int> */
3042 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3043 /* <1l:Int> isa OTHER */
3044 var132
= 1; /* easy <1l:Int> isa OTHER*/
3045 if (unlikely(!var132
)) {
3046 var_class_name135
= type_core__Int
.name
;
3047 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name135
);
3048 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
3051 var136
= var_pos122
+ 1l;
3054 RET_LABEL131
:(void)0;
3058 { /* Inline kernel$Int$- (var_l84,var_pos122) on <var_l84:Int> */
3059 /* Covariant cast for argument 0 (i) <var_pos122:Int> isa OTHER */
3060 /* <var_pos122:Int> isa OTHER */
3061 var139
= 1; /* easy <var_pos122:Int> isa OTHER*/
3062 if (unlikely(!var139
)) {
3063 var_class_name142
= type_core__Int
.name
;
3064 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name142
);
3065 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3068 var143
= var_l84
- var_pos122
;
3071 RET_LABEL138
:(void)0;
3075 var144
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, var130
, var137
); /* substring on <self:String>*/
3081 if (var_extension
== NULL
) {
3082 var145
= 0; /* is null */
3084 var145
= 1; /* arg is null and recv is not */
3087 { /* Inline kernel$Object$!= (var_extension,((val*)NULL)) on <var_extension:nullable String> */
3088 var_other
= ((val
*)NULL
);
3090 var148
= ((short int(*)(val
* self
, val
* p0
))(var_extension
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_extension
, var_other
); /* == on <var_extension:nullable String(String)>*/
3095 RET_LABEL147
:(void)0;
3101 var150
= core__file___String___strip_extension(var_n
, var_extension
);
3112 /* method file$String$dirname for (self: String): String */
3113 val
* core__file___String___dirname(val
* self
) {
3114 val
* var
/* : String */;
3115 long var1
/* : Int */;
3116 long var2
/* : Int */;
3117 short int var4
/* : Bool */;
3120 const char* var_class_name
;
3121 long var5
/* : Int */;
3122 long var_l
/* var l: Int */;
3123 short int var6
/* : Bool */;
3124 short int var7
/* : Bool */;
3125 short int var9
/* : Bool */;
3128 const char* var_class_name12
;
3129 short int var13
/* : Bool */;
3130 short int var_
/* var : Bool */;
3131 val
* var14
/* : SequenceRead[Char] */;
3132 val
* var15
/* : nullable Object */;
3133 short int var16
/* : Bool */;
3134 short int var18
/* : Bool */;
3135 uint32_t var19
/* : Char */;
3136 long var20
/* : Int */;
3137 short int var22
/* : Bool */;
3140 const char* var_class_name25
;
3141 long var26
/* : Int */;
3142 val
* var27
/* : SequenceRead[Char] */;
3143 val
* var28
/* : nullable Object */;
3144 long var29
/* : Int */;
3145 long var_pos
/* var pos: Int */;
3146 short int var30
/* : Bool */;
3147 short int var32
/* : Bool */;
3150 const char* var_class_name35
;
3151 short int var36
/* : Bool */;
3152 val
* var37
/* : Text */;
3153 short int var38
/* : Bool */;
3154 short int var40
/* : Bool */;
3155 static val
* varonce
;
3156 val
* var41
/* : String */;
3157 char* var42
/* : CString */;
3158 val
* var43
/* : String */;
3159 val
* var44
/* : nullable Int */;
3160 val
* var45
/* : nullable Int */;
3161 val
* var46
/* : nullable Bool */;
3162 val
* var47
/* : nullable Bool */;
3163 static val
* varonce48
;
3164 val
* var49
/* : String */;
3165 char* var50
/* : CString */;
3166 val
* var51
/* : String */;
3167 val
* var52
/* : nullable Int */;
3168 val
* var53
/* : nullable Int */;
3169 val
* var54
/* : nullable Bool */;
3170 val
* var55
/* : nullable Bool */;
3172 var1
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
3175 { /* Inline kernel$Int$- (var1,1l) on <var1:Int> */
3176 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3177 /* <1l:Int> isa OTHER */
3178 var4
= 1; /* easy <1l:Int> isa OTHER*/
3179 if (unlikely(!var4
)) {
3180 var_class_name
= type_core__Int
.name
;
3181 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3182 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3194 { /* Inline kernel$Int$> (var_l,0l) on <var_l:Int> */
3195 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3196 /* <0l:Int> isa OTHER */
3197 var9
= 1; /* easy <0l:Int> isa OTHER*/
3198 if (unlikely(!var9
)) {
3199 var_class_name12
= type_core__Int
.name
;
3200 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
3201 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
3213 var14
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
3216 var15
= ((val
*(*)(val
* self
, long p0
))((((long)var14
&3)?class_info
[((long)var14
&3)]:var14
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var14
, var_l
); /* [] on <var14:SequenceRead[Char]>*/
3219 { /* Inline kernel$Char$== (var15,'/') on <var15:nullable Object(Char)> */
3220 var19
= (uint32_t)((long)(var15
)>>2);
3221 var18
= var19
== '/';
3224 RET_LABEL17
:(void)0;
3233 { /* Inline kernel$Int$- (var_l,1l) on <var_l:Int> */
3234 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3235 /* <1l:Int> isa OTHER */
3236 var22
= 1; /* easy <1l:Int> isa OTHER*/
3237 if (unlikely(!var22
)) {
3238 var_class_name25
= type_core__Int
.name
;
3239 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
3240 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3246 RET_LABEL21
:(void)0;
3254 BREAK_label
: (void)0;
3256 var27
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
3259 var28
= (val
*)((long)('/')<<2|2);
3260 var29
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)var27
&3)?class_info
[((long)var27
&3)]:var27
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last_index_of_from
]))(var27
, var28
, var_l
); /* last_index_of_from on <var27:SequenceRead[Char]>*/
3264 { /* Inline kernel$Int$> (var_pos,0l) on <var_pos:Int> */
3265 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3266 /* <0l:Int> isa OTHER */
3267 var32
= 1; /* easy <0l:Int> isa OTHER*/
3268 if (unlikely(!var32
)) {
3269 var_class_name35
= type_core__Int
.name
;
3270 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
3271 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
3274 var36
= var_pos
> 0l;
3277 RET_LABEL31
:(void)0;
3282 var37
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, 0l, var_pos
); /* substring on <self:String>*/
3288 { /* Inline kernel$Int$== (var_pos,0l) on <var_pos:Int> */
3289 var40
= var_pos
== 0l;
3292 RET_LABEL39
:(void)0;
3296 if (likely(varonce
!=NULL
)) {
3300 var44
= (val
*)(1l<<2|1);
3301 var45
= (val
*)(1l<<2|1);
3302 var46
= (val
*)((long)(0)<<2|3);
3303 var47
= (val
*)((long)(0)<<2|3);
3304 var43
= core__flat___CString___to_s_unsafe(var42
, var44
, var45
, var46
, var47
);
3311 if (likely(varonce48
!=NULL
)) {
3315 var52
= (val
*)(1l<<2|1);
3316 var53
= (val
*)(1l<<2|1);
3317 var54
= (val
*)((long)(0)<<2|3);
3318 var55
= (val
*)((long)(0)<<2|3);
3319 var51
= core__flat___CString___to_s_unsafe(var50
, var52
, var53
, var54
, var55
);
3330 /* method file$String$realpath for (self: String): String */
3331 val
* core__file___String___realpath(val
* self
) {
3332 val
* var
/* : String */;
3333 char* var1
/* : CString */;
3334 char* var2
/* : CString */;
3335 char* var4
/* : CString */;
3336 char* var_cs
/* var cs: CString */;
3337 short int var5
/* : Bool */;
3338 val
* var6
/* : String */;
3339 val
* var_res
/* var res: String */;
3340 val
* var8
/* : Pointer */;
3341 void* var9
/* : Pointer for extern */;
3343 var1
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
3346 { /* Inline file$CString$file_realpath (var1) on <var1:CString> */
3347 var4
= core__file___CString_file_realpath___impl(var1
);
3355 var5
= core__file___Text___file_exists(self
);
3357 if (unlikely(!var5
)) {
3358 if(catchStack
.cursor
>= 0){
3359 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3361 PRINT_ERROR("Runtime error: %s", "Assert failed");
3362 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 1026);
3366 var6
= core__flat___CString___core__abstract_text__Object__to_s(var_cs
);
3370 { /* Inline kernel$Pointer$free (var_cs) on <var_cs:CString> */
3371 var8
= BOX_core__Pointer(var_cs
); /* autobox from CString to Pointer */
3372 var9
= ((struct instance_core__Pointer
*)var8
)->value
; /* unboxing Pointer */
3373 core__kernel___Pointer_free___impl(var9
);
3382 /* method file$String$simplify_path for (self: String): String */
3383 val
* core__file___String___simplify_path(val
* self
) {
3384 val
* var
/* : String */;
3385 val
* var1
/* : String */;
3386 val
* var2
/* : Sys */;
3387 short int var3
/* : Bool */;
3388 short int var5
/* : Bool */;
3389 static val
* varonce
;
3390 val
* var6
/* : String */;
3391 char* var7
/* : CString */;
3392 val
* var8
/* : String */;
3393 val
* var9
/* : nullable Int */;
3394 val
* var10
/* : nullable Int */;
3395 val
* var11
/* : nullable Bool */;
3396 val
* var12
/* : nullable Bool */;
3397 static val
* varonce13
;
3398 val
* var14
/* : String */;
3399 char* var15
/* : CString */;
3400 val
* var16
/* : String */;
3401 val
* var17
/* : nullable Int */;
3402 val
* var18
/* : nullable Int */;
3403 val
* var19
/* : nullable Bool */;
3404 val
* var20
/* : nullable Bool */;
3405 val
* var_path_sep
/* var path_sep: String */;
3406 val
* var21
/* : Array[String] */;
3407 val
* var_a
/* var a: Array[String] */;
3408 val
* var22
/* : Array[String] */;
3409 val
* var_a2
/* var a2: Array[String] */;
3410 val
* var_
/* var : Array[String] */;
3411 val
* var23
/* : IndexedIterator[nullable Object] */;
3412 val
* var_24
/* var : IndexedIterator[String] */;
3413 short int var25
/* : Bool */;
3414 val
* var26
/* : nullable Object */;
3415 val
* var_x
/* var x: String */;
3416 short int var27
/* : Bool */;
3417 static val
* varonce28
;
3418 val
* var29
/* : String */;
3419 char* var30
/* : CString */;
3420 val
* var31
/* : String */;
3421 val
* var32
/* : nullable Int */;
3422 val
* var33
/* : nullable Int */;
3423 val
* var34
/* : nullable Bool */;
3424 val
* var35
/* : nullable Bool */;
3425 short int var36
/* : Bool */;
3426 short int var_37
/* var : Bool */;
3427 short int var38
/* : Bool */;
3428 short int var39
/* : Bool */;
3429 short int var41
/* : Bool */;
3430 static val
* varonce42
;
3431 val
* var43
/* : String */;
3432 char* var44
/* : CString */;
3433 val
* var45
/* : String */;
3434 val
* var46
/* : nullable Int */;
3435 val
* var47
/* : nullable Int */;
3436 val
* var48
/* : nullable Bool */;
3437 val
* var49
/* : nullable Bool */;
3438 short int var50
/* : Bool */;
3439 short int var_51
/* var : Bool */;
3440 short int var52
/* : Bool */;
3441 short int var53
/* : Bool */;
3442 short int var54
/* : Bool */;
3443 short int var55
/* : Bool */;
3444 static val
* varonce56
;
3445 val
* var57
/* : String */;
3446 char* var58
/* : CString */;
3447 val
* var59
/* : String */;
3448 val
* var60
/* : nullable Int */;
3449 val
* var61
/* : nullable Int */;
3450 val
* var62
/* : nullable Bool */;
3451 val
* var63
/* : nullable Bool */;
3452 short int var64
/* : Bool */;
3453 short int var_65
/* var : Bool */;
3454 short int var66
/* : Bool */;
3455 short int var67
/* : Bool */;
3456 short int var_68
/* var : Bool */;
3457 val
* var69
/* : nullable Object */;
3458 static val
* varonce70
;
3459 val
* var71
/* : String */;
3460 char* var72
/* : CString */;
3461 val
* var73
/* : String */;
3462 val
* var74
/* : nullable Int */;
3463 val
* var75
/* : nullable Int */;
3464 val
* var76
/* : nullable Bool */;
3465 val
* var77
/* : nullable Bool */;
3466 short int var78
/* : Bool */;
3467 val
* var_other
/* var other: nullable Object */;
3468 short int var80
/* : Bool */;
3469 short int var81
/* : Bool */;
3470 val
* var82
/* : nullable Object */;
3471 static val
* varonce83
;
3472 val
* var84
/* : String */;
3473 char* var85
/* : CString */;
3474 val
* var86
/* : String */;
3475 val
* var87
/* : nullable Int */;
3476 val
* var88
/* : nullable Int */;
3477 val
* var89
/* : nullable Bool */;
3478 val
* var90
/* : nullable Bool */;
3479 short int var91
/* : Bool */;
3480 val
* var92
/* : nullable Object */;
3481 val
* var93
/* : nullable Object */;
3482 short int var94
/* : Bool */;
3483 short int var95
/* : Bool */;
3484 short int var96
/* : Bool */;
3485 short int var_97
/* var : Bool */;
3486 val
* var98
/* : nullable Object */;
3487 static val
* varonce99
;
3488 val
* var100
/* : String */;
3489 char* var101
/* : CString */;
3490 val
* var102
/* : String */;
3491 val
* var103
/* : nullable Int */;
3492 val
* var104
/* : nullable Int */;
3493 val
* var105
/* : nullable Bool */;
3494 val
* var106
/* : nullable Bool */;
3495 short int var107
/* : Bool */;
3496 val
* var108
/* : nullable Object */;
3497 short int var109
/* : Bool */;
3498 static val
* varonce110
;
3499 val
* var111
/* : String */;
3500 char* var112
/* : CString */;
3501 val
* var113
/* : String */;
3502 val
* var114
/* : nullable Int */;
3503 val
* var115
/* : nullable Int */;
3504 val
* var116
/* : nullable Bool */;
3505 val
* var117
/* : nullable Bool */;
3506 short int var118
/* : Bool */;
3507 long var119
/* : Int */;
3508 long var121
/* : Int */;
3509 short int var122
/* : Bool */;
3510 short int var124
/* : Bool */;
3511 short int var_125
/* var : Bool */;
3512 val
* var126
/* : nullable Object */;
3513 static val
* varonce127
;
3514 val
* var128
/* : String */;
3515 char* var129
/* : CString */;
3516 val
* var130
/* : String */;
3517 val
* var131
/* : nullable Int */;
3518 val
* var132
/* : nullable Int */;
3519 val
* var133
/* : nullable Bool */;
3520 val
* var134
/* : nullable Bool */;
3521 short int var135
/* : Bool */;
3522 static val
* varonce136
;
3523 val
* var137
/* : String */;
3524 char* var138
/* : CString */;
3525 val
* var139
/* : String */;
3526 val
* var140
/* : nullable Int */;
3527 val
* var141
/* : nullable Int */;
3528 val
* var142
/* : nullable Bool */;
3529 val
* var143
/* : nullable Bool */;
3530 static val
* varonce144
;
3531 val
* var145
/* : String */;
3532 char* var146
/* : CString */;
3533 val
* var147
/* : String */;
3534 val
* var148
/* : nullable Int */;
3535 val
* var149
/* : nullable Int */;
3536 val
* var150
/* : nullable Bool */;
3537 val
* var151
/* : nullable Bool */;
3538 val
* var152
/* : String */;
3541 { /* Inline kernel$Sys$is_windows (var2) on <var2:Sys> */
3542 struct nitni_instance
* var_for_c_0
;
3543 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
3544 var_for_c_0
->value
= var2
;
3545 var5
= core__kernel___Sys_is_windows___impl(var_for_c_0
);
3552 if (likely(varonce
!=NULL
)) {
3556 var9
= (val
*)(1l<<2|1);
3557 var10
= (val
*)(1l<<2|1);
3558 var11
= (val
*)((long)(0)<<2|3);
3559 var12
= (val
*)((long)(0)<<2|3);
3560 var8
= core__flat___CString___to_s_unsafe(var7
, var9
, var10
, var11
, var12
);
3566 if (likely(varonce13
!=NULL
)) {
3570 var17
= (val
*)(1l<<2|1);
3571 var18
= (val
*)(1l<<2|1);
3572 var19
= (val
*)((long)(0)<<2|3);
3573 var20
= (val
*)((long)(0)<<2|3);
3574 var16
= core__flat___CString___to_s_unsafe(var15
, var17
, var18
, var19
, var20
);
3580 var_path_sep
= var1
;
3582 var21
= core__string_search___Text___split_with(self
, var_path_sep
);
3585 var22
= NEW_core__Array(&type_core__Array__core__String
);
3587 core___core__Array___core__kernel__Object__init(var22
); /* Direct call array$Array$init on <var22:Array[String]>*/
3592 var23
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
3597 var25
= ((short int(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_24
); /* is_ok on <var_24:IndexedIterator[String]>*/
3604 var26
= ((val
*(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_24
); /* item on <var_24:IndexedIterator[String]>*/
3607 if (likely(varonce28
!=NULL
)) {
3611 var32
= (val
*)(1l<<2|1);
3612 var33
= (val
*)(1l<<2|1);
3613 var34
= (val
*)((long)(0)<<2|3);
3614 var35
= (val
*)((long)(0)<<2|3);
3615 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
3620 var36
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_x
, var29
); /* == on <var_x:String>*/
3625 var38
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
3636 if (likely(varonce42
!=NULL
)) {
3640 var46
= (val
*)(0l<<2|1);
3641 var47
= (val
*)(0l<<2|1);
3642 var48
= (val
*)((long)(0)<<2|3);
3643 var49
= (val
*)((long)(0)<<2|3);
3644 var45
= core__flat___CString___to_s_unsafe(var44
, var46
, var47
, var48
, var49
);
3649 var50
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_x
, var43
); /* == on <var_x:String>*/
3654 var52
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
3665 if (likely(varonce56
!=NULL
)) {
3669 var60
= (val
*)(2l<<2|1);
3670 var61
= (val
*)(2l<<2|1);
3671 var62
= (val
*)((long)(0)<<2|3);
3672 var63
= (val
*)((long)(0)<<2|3);
3673 var59
= core__flat___CString___to_s_unsafe(var58
, var60
, var61
, var62
, var63
);
3678 var64
= ((short int(*)(val
* self
, val
* p0
))(var_x
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_x
, var57
); /* == on <var_x:String>*/
3683 var66
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
3693 var69
= core___core__SequenceRead___last(var_a2
);
3695 if (likely(varonce70
!=NULL
)) {
3699 var74
= (val
*)(2l<<2|1);
3700 var75
= (val
*)(2l<<2|1);
3701 var76
= (val
*)((long)(0)<<2|3);
3702 var77
= (val
*)((long)(0)<<2|3);
3703 var73
= core__flat___CString___to_s_unsafe(var72
, var74
, var75
, var76
, var77
);
3708 { /* Inline kernel$Object$!= (var69,var71) on <var69:nullable Object(String)> */
3711 var80
= ((short int(*)(val
* self
, val
* p0
))(var69
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var69
, var_other
); /* == on <var69:nullable Object(String)>*/
3716 RET_LABEL79
:(void)0;
3725 var82
= core___core__SequenceRead___last(var_a2
);
3727 if (likely(varonce83
!=NULL
)) {
3731 var87
= (val
*)(1l<<2|1);
3732 var88
= (val
*)(1l<<2|1);
3733 var89
= (val
*)((long)(0)<<2|3);
3734 var90
= (val
*)((long)(0)<<2|3);
3735 var86
= core__flat___CString___to_s_unsafe(var85
, var87
, var88
, var89
, var90
);
3740 var91
= ((short int(*)(val
* self
, val
* p0
))(var82
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var82
, var84
); /* == on <var82:nullable Object(String)>*/
3744 var92
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_a2
);
3748 var93
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_a2
);
3754 var95
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
3760 var98
= core___core__SequenceRead___last(var_a2
);
3762 if (likely(varonce99
!=NULL
)) {
3766 var103
= (val
*)(1l<<2|1);
3767 var104
= (val
*)(1l<<2|1);
3768 var105
= (val
*)((long)(0)<<2|3);
3769 var106
= (val
*)((long)(0)<<2|3);
3770 var102
= core__flat___CString___to_s_unsafe(var101
, var103
, var104
, var105
, var106
);
3775 var107
= ((short int(*)(val
* self
, val
* p0
))(var98
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var98
, var100
); /* == on <var98:nullable Object(String)>*/
3783 var108
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_a2
);
3789 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_a2
, var_x
); /* Direct call array$AbstractArray$push on <var_a2:Array[String]>*/
3791 BREAK_label40
: (void)0;
3793 ((void(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_24
); /* next on <var_24:IndexedIterator[String]>*/
3796 BREAK_label
: (void)0;
3798 ((void(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_24
); /* finish on <var_24:IndexedIterator[String]>*/
3801 var109
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_a2
);
3804 if (likely(varonce110
!=NULL
)) {
3805 var111
= varonce110
;
3808 var114
= (val
*)(1l<<2|1);
3809 var115
= (val
*)(1l<<2|1);
3810 var116
= (val
*)((long)(0)<<2|3);
3811 var117
= (val
*)((long)(0)<<2|3);
3812 var113
= core__flat___CString___to_s_unsafe(var112
, var114
, var115
, var116
, var117
);
3814 varonce110
= var111
;
3821 { /* Inline array$AbstractArrayRead$length (var_a2) on <var_a2:Array[String]> */
3822 var121
= var_a2
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_a2:Array[String]> */
3824 RET_LABEL120
:(void)0;
3828 { /* Inline kernel$Int$== (var119,1l) on <var119:Int> */
3829 var124
= var119
== 1l;
3832 RET_LABEL123
:(void)0;
3838 var126
= core___core__SequenceRead___Collection__first(var_a2
);
3840 if (likely(varonce127
!=NULL
)) {
3841 var128
= varonce127
;
3844 var131
= (val
*)(0l<<2|1);
3845 var132
= (val
*)(0l<<2|1);
3846 var133
= (val
*)((long)(0)<<2|3);
3847 var134
= (val
*)((long)(0)<<2|3);
3848 var130
= core__flat___CString___to_s_unsafe(var129
, var131
, var132
, var133
, var134
);
3850 varonce127
= var128
;
3853 var135
= ((short int(*)(val
* self
, val
* p0
))(var126
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var126
, var128
); /* == on <var126:nullable Object(String)>*/
3860 if (likely(varonce136
!=NULL
)) {
3861 var137
= varonce136
;
3864 var140
= (val
*)(1l<<2|1);
3865 var141
= (val
*)(1l<<2|1);
3866 var142
= (val
*)((long)(0)<<2|3);
3867 var143
= (val
*)((long)(0)<<2|3);
3868 var139
= core__flat___CString___to_s_unsafe(var138
, var140
, var141
, var142
, var143
);
3870 varonce136
= var137
;
3876 if (likely(varonce144
!=NULL
)) {
3877 var145
= varonce144
;
3880 var148
= (val
*)(1l<<2|1);
3881 var149
= (val
*)(1l<<2|1);
3882 var150
= (val
*)((long)(0)<<2|3);
3883 var151
= (val
*)((long)(0)<<2|3);
3884 var147
= core__flat___CString___to_s_unsafe(var146
, var148
, var149
, var150
, var151
);
3886 varonce144
= var145
;
3889 var152
= core__abstract_text___Collection___join(var_a2
, var145
, ((val
*)NULL
));
3896 /* method file$String$join_path for (self: String, String): String */
3897 val
* core__file___String___join_path(val
* self
, val
* p0
) {
3898 val
* var
/* : String */;
3899 val
* var_path
/* var path: String */;
3900 short int var1
/* : Bool */;
3901 short int var2
/* : Bool */;
3902 val
* var3
/* : SequenceRead[Char] */;
3903 val
* var4
/* : nullable Object */;
3904 short int var5
/* : Bool */;
3905 short int var7
/* : Bool */;
3906 uint32_t var8
/* : Char */;
3907 uint32_t var9
/* : Char */;
3908 short int var10
/* : Bool */;
3909 short int var12
/* : Bool */;
3910 val
* var13
/* : NativeArray[String] */;
3911 static val
* varonce
;
3912 val
* var14
/* : String */;
3913 val
* var16
/* : NativeArray[String] */;
3914 static val
* varonce15
;
3915 static val
* varonce17
;
3916 val
* var18
/* : String */;
3917 char* var19
/* : CString */;
3918 val
* var20
/* : String */;
3919 val
* var21
/* : nullable Int */;
3920 val
* var22
/* : nullable Int */;
3921 val
* var23
/* : nullable Bool */;
3922 val
* var24
/* : nullable Bool */;
3923 val
* var25
/* : String */;
3926 var1
= ((short int(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var_path
); /* is_empty on <var_path:String>*/
3934 var2
= ((short int(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(self
); /* is_empty on <self:String>*/
3942 var3
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_path
); /* chars on <var_path:String>*/
3945 var4
= ((val
*(*)(val
* self
, long p0
))((((long)var3
&3)?class_info
[((long)var3
&3)]:var3
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var3
, 0l); /* [] on <var3:SequenceRead[Char]>*/
3948 { /* Inline kernel$Char$== (var4,'/') on <var4:nullable Object(Char)> */
3949 var8
= (uint32_t)((long)(var4
)>>2);
3962 var9
= core___core__Text___last(self
);
3965 { /* Inline kernel$Char$== (var9,'/') on <var9:Char> */
3966 var12
= var9
== '/';
3969 RET_LABEL11
:(void)0;
3973 if (unlikely(varonce
==NULL
)) {
3974 var13
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3979 ((struct instance_core__NativeArray
*)var13
)->values
[0]=self
;
3980 ((struct instance_core__NativeArray
*)var13
)->values
[1]=var_path
;
3982 var14
= ((val
*(*)(val
* self
))(var13
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var13
); /* native_to_s on <var13:NativeArray[String]>*/
3989 if (unlikely(varonce15
==NULL
)) {
3990 var16
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3991 if (likely(varonce17
!=NULL
)) {
3995 var21
= (val
*)(1l<<2|1);
3996 var22
= (val
*)(1l<<2|1);
3997 var23
= (val
*)((long)(0)<<2|3);
3998 var24
= (val
*)((long)(0)<<2|3);
3999 var20
= core__flat___CString___to_s_unsafe(var19
, var21
, var22
, var23
, var24
);
4003 ((struct instance_core__NativeArray
*)var16
)->values
[1]=var18
;
4008 ((struct instance_core__NativeArray
*)var16
)->values
[0]=self
;
4009 ((struct instance_core__NativeArray
*)var16
)->values
[2]=var_path
;
4011 var25
= ((val
*(*)(val
* self
))(var16
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var16
); /* native_to_s on <var16:NativeArray[String]>*/
4019 /* method file$String$/ for (self: String, String): String */
4020 val
* core__file___String____47d(val
* self
, val
* p0
) {
4021 val
* var
/* : String */;
4022 val
* var_path
/* var path: String */;
4023 val
* var1
/* : String */;
4026 var1
= core__file___String___join_path(self
, var_path
);
4033 /* method file$String$relpath for (self: String, String): String */
4034 val
* core__file___String___relpath(val
* self
, val
* p0
) {
4035 val
* var
/* : String */;
4036 val
* var_dest
/* var dest: String */;
4037 val
* var1
/* : Sys */;
4038 val
* var2
/* : String */;
4039 val
* var_cwd
/* var cwd: String */;
4040 val
* var3
/* : String */;
4041 val
* var4
/* : String */;
4042 static val
* varonce
;
4043 val
* var5
/* : String */;
4044 char* var6
/* : CString */;
4045 val
* var7
/* : String */;
4046 val
* var8
/* : nullable Int */;
4047 val
* var9
/* : nullable Int */;
4048 val
* var10
/* : nullable Bool */;
4049 val
* var11
/* : nullable Bool */;
4050 val
* var12
/* : Array[String] */;
4051 val
* var_from
/* var from: Array[String] */;
4052 val
* var13
/* : nullable Object */;
4053 short int var14
/* : Bool */;
4054 val
* var15
/* : nullable Object */;
4055 val
* var16
/* : String */;
4056 val
* var17
/* : String */;
4057 static val
* varonce18
;
4058 val
* var19
/* : String */;
4059 char* var20
/* : CString */;
4060 val
* var21
/* : String */;
4061 val
* var22
/* : nullable Int */;
4062 val
* var23
/* : nullable Int */;
4063 val
* var24
/* : nullable Bool */;
4064 val
* var25
/* : nullable Bool */;
4065 val
* var26
/* : Array[String] */;
4066 val
* var_to
/* var to: Array[String] */;
4067 val
* var27
/* : nullable Object */;
4068 short int var28
/* : Bool */;
4069 val
* var29
/* : nullable Object */;
4070 short int var30
/* : Bool */;
4071 short int var31
/* : Bool */;
4072 short int var32
/* : Bool */;
4073 short int var33
/* : Bool */;
4074 short int var_
/* var : Bool */;
4075 short int var34
/* : Bool */;
4076 short int var35
/* : Bool */;
4077 short int var_36
/* var : Bool */;
4078 val
* var37
/* : nullable Object */;
4079 val
* var38
/* : nullable Object */;
4080 short int var39
/* : Bool */;
4081 val
* var40
/* : nullable Object */;
4082 val
* var41
/* : nullable Object */;
4083 long var42
/* : Int */;
4084 long var44
/* : Int */;
4085 long var_from_len
/* var from_len: Int */;
4086 short int var45
/* : Bool */;
4087 short int var47
/* : Bool */;
4088 static val
* varonce48
;
4089 val
* var49
/* : String */;
4090 char* var50
/* : CString */;
4091 val
* var51
/* : String */;
4092 val
* var52
/* : nullable Int */;
4093 val
* var53
/* : nullable Int */;
4094 val
* var54
/* : nullable Bool */;
4095 val
* var55
/* : nullable Bool */;
4096 val
* var56
/* : String */;
4097 static val
* varonce57
;
4098 val
* var58
/* : String */;
4099 char* var59
/* : CString */;
4100 val
* var60
/* : String */;
4101 val
* var61
/* : nullable Int */;
4102 val
* var62
/* : nullable Int */;
4103 val
* var63
/* : nullable Bool */;
4104 val
* var64
/* : nullable Bool */;
4105 long var65
/* : Int */;
4106 short int var67
/* : Bool */;
4109 const char* var_class_name
;
4110 long var68
/* : Int */;
4111 val
* var69
/* : Text */;
4112 static val
* varonce70
;
4113 val
* var71
/* : String */;
4114 char* var72
/* : CString */;
4115 val
* var73
/* : String */;
4116 val
* var74
/* : nullable Int */;
4117 val
* var75
/* : nullable Int */;
4118 val
* var76
/* : nullable Bool */;
4119 val
* var77
/* : nullable Bool */;
4120 val
* var78
/* : Text */;
4121 val
* var_up
/* var up: String */;
4122 short int var79
/* : Bool */;
4123 static val
* varonce80
;
4124 val
* var81
/* : String */;
4125 char* var82
/* : CString */;
4126 val
* var83
/* : String */;
4127 val
* var84
/* : nullable Int */;
4128 val
* var85
/* : nullable Int */;
4129 val
* var86
/* : nullable Bool */;
4130 val
* var87
/* : nullable Bool */;
4131 val
* var88
/* : Text */;
4132 static val
* varonce89
;
4133 val
* var90
/* : String */;
4134 char* var91
/* : CString */;
4135 val
* var92
/* : String */;
4136 val
* var93
/* : nullable Int */;
4137 val
* var94
/* : nullable Int */;
4138 val
* var95
/* : nullable Bool */;
4139 val
* var96
/* : nullable Bool */;
4140 val
* var97
/* : String */;
4141 val
* var98
/* : Text */;
4142 val
* var_res
/* var res: String */;
4146 var2
= core__file___Sys___getcwd(var1
);
4150 var3
= core__file___String____47d(var_cwd
, self
);
4153 var4
= core__file___String___simplify_path(var3
);
4155 if (likely(varonce
!=NULL
)) {
4159 var8
= (val
*)(1l<<2|1);
4160 var9
= (val
*)(1l<<2|1);
4161 var10
= (val
*)((long)(0)<<2|3);
4162 var11
= (val
*)((long)(0)<<2|3);
4163 var7
= core__flat___CString___to_s_unsafe(var6
, var8
, var9
, var10
, var11
);
4168 var12
= core__string_search___Text___split(var4
, var5
);
4172 var13
= core___core__SequenceRead___last(var_from
);
4175 var14
= ((short int(*)(val
* self
))(var13
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var13
); /* is_empty on <var13:nullable Object(String)>*/
4179 var15
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_from
);
4184 var16
= core__file___String____47d(var_cwd
, var_dest
);
4187 var17
= core__file___String___simplify_path(var16
);
4189 if (likely(varonce18
!=NULL
)) {
4193 var22
= (val
*)(1l<<2|1);
4194 var23
= (val
*)(1l<<2|1);
4195 var24
= (val
*)((long)(0)<<2|3);
4196 var25
= (val
*)((long)(0)<<2|3);
4197 var21
= core__flat___CString___to_s_unsafe(var20
, var22
, var23
, var24
, var25
);
4202 var26
= core__string_search___Text___split(var17
, var19
);
4206 var27
= core___core__SequenceRead___last(var_to
);
4209 var28
= ((short int(*)(val
* self
))(var27
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var27
); /* is_empty on <var27:nullable Object(String)>*/
4213 var29
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_to
);
4219 var32
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_from
);
4225 var34
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_to
);
4235 var37
= core___core__SequenceRead___Collection__first(var_from
);
4238 var38
= core___core__SequenceRead___Collection__first(var_to
);
4241 var39
= ((short int(*)(val
* self
, val
* p0
))(var37
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var37
, var38
); /* == on <var37:nullable Object(String)>*/
4249 var40
= core___core__AbstractArray___core__abstract_collection__Sequence__shift(var_from
);
4252 var41
= core___core__AbstractArray___core__abstract_collection__Sequence__shift(var_to
);
4258 BREAK_label
: (void)0;
4260 { /* Inline array$AbstractArrayRead$length (var_from) on <var_from:Array[String]> */
4261 var44
= var_from
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_from:Array[String]> */
4263 RET_LABEL43
:(void)0;
4266 var_from_len
= var42
;
4268 { /* Inline kernel$Int$== (var_from_len,0l) on <var_from_len:Int> */
4269 var47
= var_from_len
== 0l;
4272 RET_LABEL46
:(void)0;
4276 if (likely(varonce48
!=NULL
)) {
4280 var52
= (val
*)(1l<<2|1);
4281 var53
= (val
*)(1l<<2|1);
4282 var54
= (val
*)((long)(0)<<2|3);
4283 var55
= (val
*)((long)(0)<<2|3);
4284 var51
= core__flat___CString___to_s_unsafe(var50
, var52
, var53
, var54
, var55
);
4289 var56
= core__abstract_text___Collection___join(var_to
, var49
, ((val
*)NULL
));
4295 if (likely(varonce57
!=NULL
)) {
4299 var61
= (val
*)(3l<<2|1);
4300 var62
= (val
*)(3l<<2|1);
4301 var63
= (val
*)((long)(0)<<2|3);
4302 var64
= (val
*)((long)(0)<<2|3);
4303 var60
= core__flat___CString___to_s_unsafe(var59
, var61
, var62
, var63
, var64
);
4308 { /* Inline kernel$Int$- (var_from_len,1l) on <var_from_len:Int> */
4309 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4310 /* <1l:Int> isa OTHER */
4311 var67
= 1; /* easy <1l:Int> isa OTHER*/
4312 if (unlikely(!var67
)) {
4313 var_class_name
= type_core__Int
.name
;
4314 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4315 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
4318 var68
= var_from_len
- 1l;
4321 RET_LABEL66
:(void)0;
4325 var69
= ((val
*(*)(val
* self
, long p0
))(var58
->class->vft
[COLOR_core__abstract_text__Text___42d
]))(var58
, var65
); /* * on <var58:String>*/
4327 if (likely(varonce70
!=NULL
)) {
4331 var74
= (val
*)(2l<<2|1);
4332 var75
= (val
*)(2l<<2|1);
4333 var76
= (val
*)((long)(0)<<2|3);
4334 var77
= (val
*)((long)(0)<<2|3);
4335 var73
= core__flat___CString___to_s_unsafe(var72
, var74
, var75
, var76
, var77
);
4340 var78
= ((val
*(*)(val
* self
, val
* p0
))(var69
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var69
, var71
); /* + on <var69:Text(String)>*/
4344 var79
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_to
);
4351 if (likely(varonce80
!=NULL
)) {
4355 var84
= (val
*)(1l<<2|1);
4356 var85
= (val
*)(1l<<2|1);
4357 var86
= (val
*)((long)(0)<<2|3);
4358 var87
= (val
*)((long)(0)<<2|3);
4359 var83
= core__flat___CString___to_s_unsafe(var82
, var84
, var85
, var86
, var87
);
4364 var88
= ((val
*(*)(val
* self
, val
* p0
))(var_up
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var_up
, var81
); /* + on <var_up:String>*/
4366 if (likely(varonce89
!=NULL
)) {
4370 var93
= (val
*)(1l<<2|1);
4371 var94
= (val
*)(1l<<2|1);
4372 var95
= (val
*)((long)(0)<<2|3);
4373 var96
= (val
*)((long)(0)<<2|3);
4374 var92
= core__flat___CString___to_s_unsafe(var91
, var93
, var94
, var95
, var96
);
4379 var97
= core__abstract_text___Collection___join(var_to
, var90
, ((val
*)NULL
));
4382 var98
= ((val
*(*)(val
* self
, val
* p0
))(var88
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var88
, var97
); /* + on <var88:Text(String)>*/
4390 /* method file$String$mkdir for (self: String, nullable Int): nullable Error */
4391 val
* core__file___String___mkdir(val
* self
, val
* p0
) {
4392 val
* var
/* : nullable Error */;
4393 val
* var_mode
/* var mode: nullable Int */;
4394 long var1
/* : Int */;
4395 long var2
/* : Int */;
4396 val
* var3
/* : nullable Int */;
4397 static val
* varonce
;
4398 val
* var4
/* : String */;
4399 char* var5
/* : CString */;
4400 val
* var6
/* : String */;
4401 val
* var7
/* : nullable Int */;
4402 val
* var8
/* : nullable Int */;
4403 val
* var9
/* : nullable Bool */;
4404 val
* var10
/* : nullable Bool */;
4405 val
* var11
/* : Array[String] */;
4406 val
* var_dirs
/* var dirs: Array[String] */;
4407 val
* var12
/* : FlatBuffer */;
4408 val
* var_path
/* var path: FlatBuffer */;
4409 short int var14
/* : Bool */;
4410 val
* var15
/* : nullable Object */;
4411 short int var16
/* : Bool */;
4412 val
* var_error
/* var error: nullable Error */;
4413 long var_i
/* var i: Int */;
4414 long var17
/* : Int */;
4415 long var19
/* : Int */;
4416 long var20
/* : Int */;
4417 short int var22
/* : Bool */;
4420 const char* var_class_name
;
4421 long var23
/* : Int */;
4422 long var_
/* var : Int */;
4423 short int var24
/* : Bool */;
4424 short int var26
/* : Bool */;
4427 const char* var_class_name29
;
4428 short int var30
/* : Bool */;
4429 val
* var31
/* : nullable Object */;
4430 val
* var_d
/* var d: String */;
4431 short int var32
/* : Bool */;
4432 short int var34
/* : Bool */;
4433 char* var35
/* : CString */;
4434 short int var36
/* : Bool */;
4435 short int var38
/* : Bool */;
4436 long var39
/* : Int */;
4437 short int var_res
/* var res: Bool */;
4438 short int var40
/* : Bool */;
4439 short int var41
/* : Bool */;
4440 short int var_42
/* var : Bool */;
4441 short int var43
/* : Bool */;
4442 short int var44
/* : Bool */;
4443 val
* var_other
/* var other: nullable Object */;
4444 short int var46
/* : Bool */;
4445 short int var48
/* : Bool */;
4446 val
* var49
/* : IOError */;
4447 val
* var51
/* : NativeArray[String] */;
4448 static val
* varonce50
;
4449 static val
* varonce52
;
4450 val
* var53
/* : String */;
4451 char* var54
/* : CString */;
4452 val
* var55
/* : String */;
4453 val
* var56
/* : nullable Int */;
4454 val
* var57
/* : nullable Int */;
4455 val
* var58
/* : nullable Bool */;
4456 val
* var59
/* : nullable Bool */;
4457 static val
* varonce60
;
4458 val
* var61
/* : String */;
4459 char* var62
/* : CString */;
4460 val
* var63
/* : String */;
4461 val
* var64
/* : nullable Int */;
4462 val
* var65
/* : nullable Int */;
4463 val
* var66
/* : nullable Bool */;
4464 val
* var67
/* : nullable Bool */;
4465 val
* var68
/* : String */;
4466 val
* var69
/* : Sys */;
4467 val
* var71
/* : Sys */;
4468 long var72
/* : Int */;
4469 long var74
/* : Int */;
4470 val
* var75
/* : String */;
4471 val
* var76
/* : String */;
4472 long var77
/* : Int */;
4473 char* var78
/* : CString */;
4474 short int var79
/* : Bool */;
4475 short int var81
/* : Bool */;
4476 long var82
/* : Int */;
4477 short int var_res83
/* var res: Bool */;
4478 short int var84
/* : Bool */;
4479 short int var85
/* : Bool */;
4480 short int var_86
/* var : Bool */;
4481 short int var87
/* : Bool */;
4482 short int var88
/* : Bool */;
4483 short int var90
/* : Bool */;
4484 short int var92
/* : Bool */;
4485 val
* var93
/* : IOError */;
4486 val
* var95
/* : NativeArray[String] */;
4487 static val
* varonce94
;
4488 static val
* varonce96
;
4489 val
* var97
/* : String */;
4490 char* var98
/* : CString */;
4491 val
* var99
/* : String */;
4492 val
* var100
/* : nullable Int */;
4493 val
* var101
/* : nullable Int */;
4494 val
* var102
/* : nullable Bool */;
4495 val
* var103
/* : nullable Bool */;
4496 static val
* varonce104
;
4497 val
* var105
/* : String */;
4498 char* var106
/* : CString */;
4499 val
* var107
/* : String */;
4500 val
* var108
/* : nullable Int */;
4501 val
* var109
/* : nullable Int */;
4502 val
* var110
/* : nullable Bool */;
4503 val
* var111
/* : nullable Bool */;
4504 val
* var112
/* : String */;
4505 val
* var113
/* : Sys */;
4506 val
* var115
/* : Sys */;
4507 long var116
/* : Int */;
4508 long var118
/* : Int */;
4509 val
* var119
/* : String */;
4510 val
* var120
/* : String */;
4512 if (var_mode
!=NULL
) {
4513 var2
= (long)(var_mode
)>>2;
4518 var3
= (val
*)(var1
<<2|1);
4520 if (likely(varonce
!=NULL
)) {
4524 var7
= (val
*)(1l<<2|1);
4525 var8
= (val
*)(1l<<2|1);
4526 var9
= (val
*)((long)(0)<<2|3);
4527 var10
= (val
*)((long)(0)<<2|3);
4528 var6
= core__flat___CString___to_s_unsafe(var5
, var7
, var8
, var9
, var10
);
4533 var11
= core__string_search___Text___split_with(self
, var4
);
4536 var12
= NEW_core__FlatBuffer(&type_core__FlatBuffer
);
4538 { /* Inline flat$FlatBuffer$init (var12) on <var12:FlatBuffer> */
4540 ((void(*)(val
* self
))(var12
->class->vft
[COLOR_core___core__FlatBuffer___core__kernel__Object__init
]))(var12
); /* init on <var12:FlatBuffer>*/
4542 RET_LABEL13
:(void)0;
4547 var14
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_dirs
);
4555 var15
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_dirs
, 0l);
4558 var16
= ((short int(*)(val
* self
))(var15
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var15
); /* is_empty on <var15:nullable Object(String)>*/
4562 core___core__FlatBuffer___core__abstract_text__Buffer__add(var_path
, '/'); /* Direct call flat$FlatBuffer$add on <var_path:FlatBuffer>*/
4566 var_error
= ((val
*)NULL
);
4569 { /* Inline array$AbstractArrayRead$length (var_dirs) on <var_dirs:Array[String]> */
4570 var19
= var_dirs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_dirs:Array[String]> */
4572 RET_LABEL18
:(void)0;
4576 { /* Inline kernel$Int$- (var17,1l) on <var17:Int> */
4577 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4578 /* <1l:Int> isa OTHER */
4579 var22
= 1; /* easy <1l:Int> isa OTHER*/
4580 if (unlikely(!var22
)) {
4581 var_class_name
= type_core__Int
.name
;
4582 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4583 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
4589 RET_LABEL21
:(void)0;
4595 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
4596 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
4597 /* <var_:Int> isa OTHER */
4598 var26
= 1; /* easy <var_:Int> isa OTHER*/
4599 if (unlikely(!var26
)) {
4600 var_class_name29
= type_core__Int
.name
;
4601 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29
);
4602 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
4605 var30
= var_i
< var_
;
4608 RET_LABEL25
:(void)0;
4616 var31
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_dirs
, var_i
);
4620 var32
= ((short int(*)(val
* self
))(var_d
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var_d
); /* is_empty on <var_d:String>*/
4627 core___core__FlatBuffer___core__abstract_text__Buffer__append(var_path
, var_d
); /* Direct call flat$FlatBuffer$append on <var_path:FlatBuffer>*/
4630 core___core__FlatBuffer___core__abstract_text__Buffer__add(var_path
, '/'); /* Direct call flat$FlatBuffer$add on <var_path:FlatBuffer>*/
4633 var34
= core__file___Text___file_exists(var_path
);
4640 var35
= core___core__FlatBuffer___core__abstract_text__Text__to_cstring(var_path
);
4643 { /* Inline file$CString$file_mkdir (var35,var_mode) on <var35:CString> */
4644 var39
= (long)(var_mode
)>>2;
4645 var38
= core__file___CString_file_mkdir___impl(var35
, var39
);
4648 RET_LABEL37
:(void)0;
4655 if (var_error
== NULL
) {
4656 var43
= 1; /* is null */
4658 var43
= 0; /* arg is null but recv is not */
4661 { /* Inline kernel$Object$== (var_error,((val*)NULL)) on <var_error:nullable Error> */
4662 var_other
= ((val
*)NULL
);
4664 { /* Inline kernel$Object$is_same_instance (var_error,var_other) on <var_error:nullable Error(Error)> */
4665 var48
= var_error
== var_other
;
4668 RET_LABEL47
:(void)0;
4673 RET_LABEL45
:(void)0;
4682 var49
= NEW_core__IOError(&type_core__IOError
);
4683 if (unlikely(varonce50
==NULL
)) {
4684 var51
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
4685 if (likely(varonce52
!=NULL
)) {
4688 var54
= "Cannot create directory `";
4689 var56
= (val
*)(25l<<2|1);
4690 var57
= (val
*)(25l<<2|1);
4691 var58
= (val
*)((long)(0)<<2|3);
4692 var59
= (val
*)((long)(0)<<2|3);
4693 var55
= core__flat___CString___to_s_unsafe(var54
, var56
, var57
, var58
, var59
);
4697 ((struct instance_core__NativeArray
*)var51
)->values
[0]=var53
;
4698 if (likely(varonce60
!=NULL
)) {
4702 var64
= (val
*)(3l<<2|1);
4703 var65
= (val
*)(3l<<2|1);
4704 var66
= (val
*)((long)(0)<<2|3);
4705 var67
= (val
*)((long)(0)<<2|3);
4706 var63
= core__flat___CString___to_s_unsafe(var62
, var64
, var65
, var66
, var67
);
4710 ((struct instance_core__NativeArray
*)var51
)->values
[2]=var61
;
4716 var68
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_path
); /* to_s on <var_path:FlatBuffer>*/
4718 ((struct instance_core__NativeArray
*)var51
)->values
[1]=var68
;
4720 { /* Inline kernel$Object$sys (self) on <self:String> */
4724 RET_LABEL70
:(void)0;
4728 { /* Inline kernel$Sys$errno (var69) on <var69:Sys> */
4729 struct nitni_instance
* var_for_c_0
;
4730 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
4731 var_for_c_0
->value
= var69
;
4732 var74
= core__kernel___Sys_errno___impl(var_for_c_0
);
4735 RET_LABEL73
:(void)0;
4739 var75
= core__abstract_text___Int___strerror(var72
);
4741 ((struct instance_core__NativeArray
*)var51
)->values
[3]=var75
;
4743 var76
= ((val
*(*)(val
* self
))(var51
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var51
); /* native_to_s on <var51:NativeArray[String]>*/
4747 ((void(*)(val
* self
, val
* p0
))(var49
->class->vft
[COLOR_core__error__Error__message_61d
]))(var49
, var76
); /* message= on <var49:IOError>*/
4750 ((void(*)(val
* self
))(var49
->class->vft
[COLOR_core__kernel__Object__init
]))(var49
); /* init on <var49:IOError>*/
4755 BREAK_label33
: (void)0;
4757 var77
= core___core__Int___Discrete__successor(var_i
, 1l);
4761 BREAK_label
: (void)0;
4763 var78
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
4766 { /* Inline file$CString$file_mkdir (var78,var_mode) on <var78:CString> */
4767 var82
= (long)(var_mode
)>>2;
4768 var81
= core__file___CString_file_mkdir___impl(var78
, var82
);
4771 RET_LABEL80
:(void)0;
4778 if (var_error
== NULL
) {
4779 var87
= 1; /* is null */
4781 var87
= 0; /* arg is null but recv is not */
4784 { /* Inline kernel$Object$== (var_error,((val*)NULL)) on <var_error:nullable Error> */
4785 var_other
= ((val
*)NULL
);
4787 { /* Inline kernel$Object$is_same_instance (var_error,var_other) on <var_error:nullable Error(Error)> */
4788 var92
= var_error
== var_other
;
4791 RET_LABEL91
:(void)0;
4796 RET_LABEL89
:(void)0;
4805 var93
= NEW_core__IOError(&type_core__IOError
);
4806 if (unlikely(varonce94
==NULL
)) {
4807 var95
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
4808 if (likely(varonce96
!=NULL
)) {
4811 var98
= "Cannot create directory `";
4812 var100
= (val
*)(25l<<2|1);
4813 var101
= (val
*)(25l<<2|1);
4814 var102
= (val
*)((long)(0)<<2|3);
4815 var103
= (val
*)((long)(0)<<2|3);
4816 var99
= core__flat___CString___to_s_unsafe(var98
, var100
, var101
, var102
, var103
);
4820 ((struct instance_core__NativeArray
*)var95
)->values
[0]=var97
;
4821 if (likely(varonce104
!=NULL
)) {
4822 var105
= varonce104
;
4825 var108
= (val
*)(3l<<2|1);
4826 var109
= (val
*)(3l<<2|1);
4827 var110
= (val
*)((long)(0)<<2|3);
4828 var111
= (val
*)((long)(0)<<2|3);
4829 var107
= core__flat___CString___to_s_unsafe(var106
, var108
, var109
, var110
, var111
);
4831 varonce104
= var105
;
4833 ((struct instance_core__NativeArray
*)var95
)->values
[2]=var105
;
4839 var112
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_path
); /* to_s on <var_path:FlatBuffer>*/
4841 ((struct instance_core__NativeArray
*)var95
)->values
[1]=var112
;
4843 { /* Inline kernel$Object$sys (self) on <self:String> */
4847 RET_LABEL114
:(void)0;
4851 { /* Inline kernel$Sys$errno (var113) on <var113:Sys> */
4852 struct nitni_instance
* var_for_c_0
;
4853 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
4854 var_for_c_0
->value
= var113
;
4855 var118
= core__kernel___Sys_errno___impl(var_for_c_0
);
4858 RET_LABEL117
:(void)0;
4862 var119
= core__abstract_text___Int___strerror(var116
);
4864 ((struct instance_core__NativeArray
*)var95
)->values
[3]=var119
;
4866 var120
= ((val
*(*)(val
* self
))(var95
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var95
); /* native_to_s on <var95:NativeArray[String]>*/
4870 ((void(*)(val
* self
, val
* p0
))(var93
->class->vft
[COLOR_core__error__Error__message_61d
]))(var93
, var120
); /* message= on <var93:IOError>*/
4873 ((void(*)(val
* self
))(var93
->class->vft
[COLOR_core__kernel__Object__init
]))(var93
); /* init on <var93:IOError>*/
4883 /* method file$String$file_extension for (self: String): nullable String */
4884 val
* core__file___String___file_extension(val
* self
) {
4885 val
* var
/* : nullable String */;
4886 val
* var1
/* : SequenceRead[Char] */;
4887 val
* var2
/* : nullable Object */;
4888 long var3
/* : Int */;
4889 long var_last_slash
/* var last_slash: Int */;
4890 short int var4
/* : Bool */;
4891 short int var6
/* : Bool */;
4894 const char* var_class_name
;
4895 short int var7
/* : Bool */;
4896 long var8
/* : Int */;
4897 short int var10
/* : Bool */;
4900 const char* var_class_name13
;
4901 long var14
/* : Int */;
4902 long var15
/* : Int */;
4903 val
* var16
/* : Text */;
4905 var1
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:String>*/
4908 var2
= (val
*)((long)('.')<<2|2);
4909 var3
= ((long(*)(val
* self
, val
* p0
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last_index_of
]))(var1
, var2
); /* last_index_of on <var1:SequenceRead[Char]>*/
4911 var_last_slash
= var3
;
4913 { /* Inline kernel$Int$> (var_last_slash,0l) on <var_last_slash:Int> */
4914 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
4915 /* <0l:Int> isa OTHER */
4916 var6
= 1; /* easy <0l:Int> isa OTHER*/
4917 if (unlikely(!var6
)) {
4918 var_class_name
= type_core__Int
.name
;
4919 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4920 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
4923 var7
= var_last_slash
> 0l;
4931 { /* Inline kernel$Int$+ (var_last_slash,1l) on <var_last_slash:Int> */
4932 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4933 /* <1l:Int> isa OTHER */
4934 var10
= 1; /* easy <1l:Int> isa OTHER*/
4935 if (unlikely(!var10
)) {
4936 var_class_name13
= type_core__Int
.name
;
4937 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
4938 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
4941 var14
= var_last_slash
+ 1l;
4948 var15
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:String>*/
4951 var16
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, var8
, var15
); /* substring on <self:String>*/
4962 /* method file$String$files for (self: String): Array[String] */
4963 val
* core__file___String___files(val
* self
) {
4964 val
* var
/* : Array[String] */;
4965 val
* var1
/* : Array[String] */;
4966 val
* var_res
/* var res: Array[String] */;
4967 static val
* varoncenew
;
4968 static int varoncenew_guard
;
4969 val
* var2
/* : NativeDir */;
4970 val
* var3
/* : NativeDir */;
4971 char* var4
/* : CString */;
4972 val
* var5
/* : NativeDir */;
4973 val
* var_d
/* var d: NativeDir */;
4974 short int var6
/* : Bool */;
4975 short int var8
/* : Bool */;
4976 void* var9
/* : Pointer for extern */;
4977 char* var10
/* : CString */;
4978 char* var12
/* : CString */;
4979 void* var13
/* : NativeDir for extern */;
4980 char* var_de
/* var de: CString */;
4981 short int var14
/* : Bool */;
4982 short int var16
/* : Bool */;
4983 val
* var17
/* : Pointer */;
4984 void* var18
/* : Pointer for extern */;
4985 val
* var19
/* : String */;
4986 val
* var_name
/* var name: String */;
4987 short int var20
/* : Bool */;
4988 static val
* varonce
;
4989 val
* var21
/* : String */;
4990 char* var22
/* : CString */;
4991 val
* var23
/* : String */;
4992 val
* var24
/* : nullable Int */;
4993 val
* var25
/* : nullable Int */;
4994 val
* var26
/* : nullable Bool */;
4995 val
* var27
/* : nullable Bool */;
4996 short int var28
/* : Bool */;
4997 short int var_
/* var : Bool */;
4998 static val
* varonce29
;
4999 val
* var30
/* : String */;
5000 char* var31
/* : CString */;
5001 val
* var32
/* : String */;
5002 val
* var33
/* : nullable Int */;
5003 val
* var34
/* : nullable Int */;
5004 val
* var35
/* : nullable Bool */;
5005 val
* var36
/* : nullable Bool */;
5006 short int var37
/* : Bool */;
5007 void* var40
/* : NativeDir for extern */;
5008 var1
= NEW_core__Array(&type_core__Array__core__String
);
5010 core___core__Array___core__kernel__Object__init(var1
); /* Direct call array$Array$init on <var1:Array[String]>*/
5013 if (likely(varoncenew_guard
)) {
5016 var3
= NEW_core__file__NativeDir(&type_core__file__NativeDir
);
5019 varoncenew_guard
= 1;
5022 var4
= ((char*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__to_cstring
]))(self
); /* to_cstring on <self:String>*/
5025 var5
= core__file___core__file__NativeDir___opendir(var2
, var4
);
5029 { /* Inline kernel$Pointer$address_is_null (var_d) on <var_d:NativeDir> */
5030 var9
= ((struct instance_core__Pointer
*)var_d
)->value
; /* unboxing NativeDir */
5031 var8
= core__kernel___Pointer_address_is_null___impl(var9
);
5044 { /* Inline file$NativeDir$readdir (var_d) on <var_d:NativeDir> */
5045 var13
= ((struct instance_core__Pointer
*)var_d
)->value
; /* unboxing NativeDir */
5046 var12
= core__file___NativeDir_readdir___impl(var13
);
5049 RET_LABEL11
:(void)0;
5054 { /* Inline kernel$Pointer$address_is_null (var_de) on <var_de:CString> */
5055 var17
= BOX_core__Pointer(var_de
); /* autobox from CString to Pointer */
5056 var18
= ((struct instance_core__Pointer
*)var17
)->value
; /* unboxing Pointer */
5057 var16
= core__kernel___Pointer_address_is_null___impl(var18
);
5060 RET_LABEL15
:(void)0;
5068 var19
= core__flat___CString___core__abstract_text__Object__to_s(var_de
);
5071 if (likely(varonce
!=NULL
)) {
5075 var24
= (val
*)(1l<<2|1);
5076 var25
= (val
*)(1l<<2|1);
5077 var26
= (val
*)((long)(0)<<2|3);
5078 var27
= (val
*)((long)(0)<<2|3);
5079 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
5084 var28
= ((short int(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_name
, var21
); /* == on <var_name:String>*/
5090 if (likely(varonce29
!=NULL
)) {
5094 var33
= (val
*)(2l<<2|1);
5095 var34
= (val
*)(2l<<2|1);
5096 var35
= (val
*)((long)(0)<<2|3);
5097 var36
= (val
*)((long)(0)<<2|3);
5098 var32
= core__flat___CString___to_s_unsafe(var31
, var33
, var34
, var35
, var36
);
5103 var37
= ((short int(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_name
, var30
); /* == on <var_name:String>*/
5112 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var_name
); /* Direct call array$Array$add on <var_res:Array[String]>*/
5114 BREAK_label38
: (void)0;
5116 BREAK_label
: (void)0;
5118 { /* Inline file$NativeDir$closedir (var_d) on <var_d:NativeDir> */
5119 var40
= ((struct instance_core__Pointer
*)var_d
)->value
; /* unboxing NativeDir */
5120 core__file___NativeDir_closedir___impl(var40
);
5121 RET_LABEL39
:(void)0;
5129 /* method file$FlatString$write_native_to for (self: FlatString, FileWriter) */
5130 void core__file___FlatString___Text__write_native_to(val
* self
, val
* p0
) {
5131 val
* var_s
/* var s: FileWriter */;
5132 char* var
/* : CString */;
5133 char* var2
/* : CString */;
5134 long var3
/* : Int */;
5135 long var5
/* : Int */;
5136 long var6
/* : Int */;
5137 long var8
/* : Int */;
5140 { /* Inline abstract_text$FlatText$items (self) on <self:FlatString> */
5141 var2
= self
->attrs
[COLOR_core__abstract_text__FlatText___items
].str
; /* _items on <self:FlatString> */
5147 { /* Inline flat$FlatString$first_byte (self) on <self:FlatString> */
5148 var5
= self
->attrs
[COLOR_core__flat__FlatString___first_byte
].l
; /* _first_byte on <self:FlatString> */
5154 { /* Inline abstract_text$FlatText$byte_length (self) on <self:FlatString> */
5155 var8
= self
->attrs
[COLOR_core__abstract_text__FlatText___byte_length
].l
; /* _byte_length on <self:FlatString> */
5161 core___core__FileWriter___write_native(var_s
, var
, var3
, var6
); /* Direct call file$FileWriter$write_native on <var_s:FileWriter>*/
5165 /* method file$FlatString$file_extension for (self: FlatString): nullable String */
5166 val
* core__file___FlatString___String__file_extension(val
* self
) {
5167 val
* var
/* : nullable String */;
5168 char* var1
/* : CString */;
5169 char* var_its
/* var its: CString */;
5170 long var2
/* : Int */;
5171 long var_p
/* var p: Int */;
5172 unsigned char var3
/* : Byte */;
5173 unsigned char var5
/* : Byte */;
5174 unsigned char var_c
/* var c: Byte */;
5175 long var6
/* : Int */;
5176 long var_st
/* var st: Int */;
5177 short int var7
/* : Bool */;
5178 short int var8
/* : Bool */;
5179 short int var10
/* : Bool */;
5182 const char* var_class_name
;
5183 short int var11
/* : Bool */;
5184 short int var_
/* var : Bool */;
5185 unsigned char var12
/* : Byte */;
5186 short int var13
/* : Bool */;
5187 short int var15
/* : Bool */;
5188 short int var16
/* : Bool */;
5189 long var17
/* : Int */;
5190 short int var19
/* : Bool */;
5193 const char* var_class_name22
;
5194 long var23
/* : Int */;
5195 unsigned char var24
/* : Byte */;
5196 unsigned char var26
/* : Byte */;
5197 short int var27
/* : Bool */;
5198 short int var29
/* : Bool */;
5201 const char* var_class_name32
;
5202 short int var33
/* : Bool */;
5203 long var34
/* : Int */;
5204 long var_ls
/* var ls: Int */;
5205 static val
* varoncenew
;
5206 static int varoncenew_guard
;
5207 val
* var35
/* : FlatString */;
5208 val
* var36
/* : FlatString */;
5209 long var37
/* : Int */;
5210 short int var39
/* : Bool */;
5213 const char* var_class_name42
;
5214 long var43
/* : Int */;
5215 long var44
/* : Int */;
5216 short int var46
/* : Bool */;
5219 const char* var_class_name49
;
5220 long var50
/* : Int */;
5221 val
* var51
/* : FlatString */;
5222 var1
= self
->attrs
[COLOR_core__abstract_text__FlatText___items
].str
; /* _items on <self:FlatString> */
5225 var2
= core__flat___FlatText___last_byte(self
);
5229 { /* Inline native$CString$[] (var_its,var_p) on <var_its:CString> */
5230 var5
= (unsigned char)((int)var_its
[var_p
]);
5237 var6
= self
->attrs
[COLOR_core__flat__FlatString___first_byte
].l
; /* _first_byte on <self:FlatString> */
5241 { /* Inline kernel$Int$>= (var_p,var_st) on <var_p:Int> */
5242 /* Covariant cast for argument 0 (i) <var_st:Int> isa OTHER */
5243 /* <var_st:Int> isa OTHER */
5244 var10
= 1; /* easy <var_st:Int> isa OTHER*/
5245 if (unlikely(!var10
)) {
5246 var_class_name
= type_core__Int
.name
;
5247 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5248 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
5251 var11
= var_p
>= var_st
;
5260 var12
= core___core__Char___ascii('.');
5263 { /* Inline kernel$Byte$!= (var_c,var12) on <var_c:Byte> */
5264 var15
= var_c
== var12
;
5268 RET_LABEL14
:(void)0;
5277 { /* Inline kernel$Int$- (var_p,1l) on <var_p:Int> */
5278 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5279 /* <1l:Int> isa OTHER */
5280 var19
= 1; /* easy <1l:Int> isa OTHER*/
5281 if (unlikely(!var19
)) {
5282 var_class_name22
= type_core__Int
.name
;
5283 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
5284 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5290 RET_LABEL18
:(void)0;
5295 { /* Inline native$CString$[] (var_its,var_p) on <var_its:CString> */
5296 var26
= (unsigned char)((int)var_its
[var_p
]);
5299 RET_LABEL25
:(void)0;
5307 BREAK_label
: (void)0;
5309 { /* Inline kernel$Int$<= (var_p,var_st) on <var_p:Int> */
5310 /* Covariant cast for argument 0 (i) <var_st:Int> isa OTHER */
5311 /* <var_st:Int> isa OTHER */
5312 var29
= 1; /* easy <var_st:Int> isa OTHER*/
5313 if (unlikely(!var29
)) {
5314 var_class_name32
= type_core__Int
.name
;
5315 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
5316 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
5319 var33
= var_p
<= var_st
;
5322 RET_LABEL28
:(void)0;
5331 var34
= core__flat___FlatText___last_byte(self
);
5334 if (likely(varoncenew_guard
)) {
5337 var36
= NEW_core__FlatString(&type_core__FlatString
);
5340 varoncenew_guard
= 1;
5343 { /* Inline kernel$Int$- (var_ls,var_p) on <var_ls:Int> */
5344 /* Covariant cast for argument 0 (i) <var_p:Int> isa OTHER */
5345 /* <var_p:Int> isa OTHER */
5346 var39
= 1; /* easy <var_p:Int> isa OTHER*/
5347 if (unlikely(!var39
)) {
5348 var_class_name42
= type_core__Int
.name
;
5349 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42
);
5350 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5353 var43
= var_ls
- var_p
;
5356 RET_LABEL38
:(void)0;
5360 { /* Inline kernel$Int$+ (var_p,1l) on <var_p:Int> */
5361 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5362 /* <1l:Int> isa OTHER */
5363 var46
= 1; /* easy <1l:Int> isa OTHER*/
5364 if (unlikely(!var46
)) {
5365 var_class_name49
= type_core__Int
.name
;
5366 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49
);
5367 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
5373 RET_LABEL45
:(void)0;
5377 var51
= core___core__FlatString___with_infos(var35
, var_its
, var37
, var44
);
5384 /* method file$FlatString$basename for (self: FlatString, nullable String): String */
5385 val
* core__file___FlatString___String__basename(val
* self
, val
* p0
) {
5386 val
* var
/* : String */;
5387 val
* var_extension
/* var extension: nullable String */;
5388 val
* var1
/* : Sys */;
5389 short int var2
/* : Bool */;
5390 short int var4
/* : Bool */;
5391 long var5
/* : Int */;
5392 long var_l
/* var l: Int */;
5393 char* var6
/* : CString */;
5394 char* var_its
/* var its: CString */;
5395 long var7
/* : Int */;
5396 long var_min
/* var min: Int */;
5397 unsigned char var8
/* : Byte */;
5398 unsigned char var_sl
/* var sl: Byte */;
5399 unsigned char var9
/* : Byte */;
5400 unsigned char var_ls
/* var ls: Byte */;
5401 short int var10
/* : Bool */;
5402 short int var11
/* : Bool */;
5403 short int var13
/* : Bool */;
5406 const char* var_class_name
;
5407 short int var14
/* : Bool */;
5408 short int var_
/* var : Bool */;
5409 short int var15
/* : Bool */;
5410 unsigned char var16
/* : Byte */;
5411 unsigned char var18
/* : Byte */;
5412 short int var19
/* : Bool */;
5413 short int var21
/* : Bool */;
5414 short int var_22
/* var : Bool */;
5415 unsigned char var23
/* : Byte */;
5416 unsigned char var25
/* : Byte */;
5417 short int var26
/* : Bool */;
5418 short int var28
/* : Bool */;
5419 long var29
/* : Int */;
5420 short int var31
/* : Bool */;
5423 const char* var_class_name34
;
5424 long var35
/* : Int */;
5425 short int var36
/* : Bool */;
5426 short int var38
/* : Bool */;
5427 static val
* varonce
;
5428 val
* var39
/* : String */;
5429 char* var40
/* : CString */;
5430 val
* var41
/* : String */;
5431 val
* var42
/* : nullable Int */;
5432 val
* var43
/* : nullable Int */;
5433 val
* var44
/* : nullable Bool */;
5434 val
* var45
/* : nullable Bool */;
5435 long var_ns
/* var ns: Int */;
5436 short int var46
/* : Bool */;
5437 short int var47
/* : Bool */;
5438 short int var48
/* : Bool */;
5439 short int var50
/* : Bool */;
5442 const char* var_class_name53
;
5443 short int var54
/* : Bool */;
5444 short int var_55
/* var : Bool */;
5445 unsigned char var56
/* : Byte */;
5446 unsigned char var58
/* : Byte */;
5447 short int var59
/* : Bool */;
5448 short int var61
/* : Bool */;
5449 short int var62
/* : Bool */;
5450 short int var_63
/* var : Bool */;
5451 unsigned char var64
/* : Byte */;
5452 unsigned char var66
/* : Byte */;
5453 short int var67
/* : Bool */;
5454 short int var69
/* : Bool */;
5455 short int var70
/* : Bool */;
5456 long var71
/* : Int */;
5457 short int var73
/* : Bool */;
5460 const char* var_class_name76
;
5461 long var77
/* : Int */;
5462 static val
* varoncenew
;
5463 static int varoncenew_guard
;
5464 val
* var79
/* : FlatString */;
5465 val
* var80
/* : FlatString */;
5466 long var81
/* : Int */;
5467 short int var83
/* : Bool */;
5470 const char* var_class_name86
;
5471 long var87
/* : Int */;
5472 long var88
/* : Int */;
5473 short int var90
/* : Bool */;
5476 const char* var_class_name93
;
5477 long var94
/* : Int */;
5478 val
* var95
/* : FlatString */;
5479 val
* var_bname
/* var bname: nullable Object */;
5480 long var96
/* : Int */;
5481 long var_l97
/* var l: Int */;
5482 char* var98
/* : CString */;
5483 char* var_its99
/* var its: CString */;
5484 long var100
/* : Int */;
5485 long var_min101
/* var min: Int */;
5486 unsigned char var102
/* : Byte */;
5487 unsigned char var_sl103
/* var sl: Byte */;
5488 short int var104
/* : Bool */;
5489 short int var105
/* : Bool */;
5490 short int var107
/* : Bool */;
5493 const char* var_class_name110
;
5494 short int var111
/* : Bool */;
5495 short int var_112
/* var : Bool */;
5496 unsigned char var113
/* : Byte */;
5497 unsigned char var115
/* : Byte */;
5498 short int var116
/* : Bool */;
5499 short int var118
/* : Bool */;
5500 long var119
/* : Int */;
5501 short int var121
/* : Bool */;
5504 const char* var_class_name124
;
5505 long var125
/* : Int */;
5506 short int var127
/* : Bool */;
5507 short int var129
/* : Bool */;
5508 static val
* varonce130
;
5509 val
* var131
/* : String */;
5510 char* var132
/* : CString */;
5511 val
* var133
/* : String */;
5512 val
* var134
/* : nullable Int */;
5513 val
* var135
/* : nullable Int */;
5514 val
* var136
/* : nullable Bool */;
5515 val
* var137
/* : nullable Bool */;
5516 long var_ns138
/* var ns: Int */;
5517 short int var139
/* : Bool */;
5518 short int var140
/* : Bool */;
5519 short int var142
/* : Bool */;
5522 const char* var_class_name145
;
5523 short int var146
/* : Bool */;
5524 short int var_147
/* var : Bool */;
5525 unsigned char var148
/* : Byte */;
5526 unsigned char var150
/* : Byte */;
5527 short int var151
/* : Bool */;
5528 short int var153
/* : Bool */;
5529 short int var154
/* : Bool */;
5530 long var155
/* : Int */;
5531 short int var157
/* : Bool */;
5534 const char* var_class_name160
;
5535 long var161
/* : Int */;
5536 static val
* varoncenew163
;
5537 static int varoncenew163_guard
;
5538 val
* var164
/* : FlatString */;
5539 val
* var165
/* : FlatString */;
5540 long var166
/* : Int */;
5541 short int var168
/* : Bool */;
5544 const char* var_class_name171
;
5545 long var172
/* : Int */;
5546 long var173
/* : Int */;
5547 short int var175
/* : Bool */;
5550 const char* var_class_name178
;
5551 long var179
/* : Int */;
5552 val
* var180
/* : FlatString */;
5553 val
* var181
/* : String */;
5554 short int var182
/* : Bool */;
5555 short int var183
/* : Bool */;
5556 val
* var_other
/* var other: nullable Object */;
5557 short int var185
/* : Bool */;
5558 short int var186
/* : Bool */;
5559 val
* var187
/* : String */;
5563 { /* Inline kernel$Sys$is_windows (var1) on <var1:Sys> */
5564 struct nitni_instance
* var_for_c_0
;
5565 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
5566 var_for_c_0
->value
= var1
;
5567 var4
= core__kernel___Sys_is_windows___impl(var_for_c_0
);
5575 var5
= core__flat___FlatText___last_byte(self
);
5578 var6
= self
->attrs
[COLOR_core__abstract_text__FlatText___items
].str
; /* _items on <self:FlatString> */
5580 var7
= self
->attrs
[COLOR_core__flat__FlatString___first_byte
].l
; /* _first_byte on <self:FlatString> */
5583 var8
= core___core__Char___ascii('/');
5587 var9
= core___core__Char___ascii('\\');
5592 { /* Inline kernel$Int$> (var_l,var_min) on <var_l:Int> */
5593 /* Covariant cast for argument 0 (i) <var_min:Int> isa OTHER */
5594 /* <var_min:Int> isa OTHER */
5595 var13
= 1; /* easy <var_min:Int> isa OTHER*/
5596 if (unlikely(!var13
)) {
5597 var_class_name
= type_core__Int
.name
;
5598 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5599 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
5602 var14
= var_l
> var_min
;
5605 RET_LABEL12
:(void)0;
5611 { /* Inline native$CString$[] (var_its,var_l) on <var_its:CString> */
5612 var18
= (unsigned char)((int)var_its
[var_l
]);
5615 RET_LABEL17
:(void)0;
5619 { /* Inline kernel$Byte$== (var16,var_sl) on <var16:Byte> */
5620 var21
= var16
== var_sl
;
5623 RET_LABEL20
:(void)0;
5631 { /* Inline native$CString$[] (var_its,var_l) on <var_its:CString> */
5632 var25
= (unsigned char)((int)var_its
[var_l
]);
5635 RET_LABEL24
:(void)0;
5639 { /* Inline kernel$Byte$== (var23,var_ls) on <var23:Byte> */
5640 var28
= var23
== var_ls
;
5643 RET_LABEL27
:(void)0;
5654 { /* Inline kernel$Int$- (var_l,1l) on <var_l:Int> */
5655 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5656 /* <1l:Int> isa OTHER */
5657 var31
= 1; /* easy <1l:Int> isa OTHER*/
5658 if (unlikely(!var31
)) {
5659 var_class_name34
= type_core__Int
.name
;
5660 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
5661 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5667 RET_LABEL30
:(void)0;
5675 BREAK_label
: (void)0;
5677 { /* Inline kernel$Int$== (var_l,var_min) on <var_l:Int> */
5678 var38
= var_l
== var_min
;
5681 RET_LABEL37
:(void)0;
5685 if (likely(varonce
!=NULL
)) {
5689 var42
= (val
*)(1l<<2|1);
5690 var43
= (val
*)(1l<<2|1);
5691 var44
= (val
*)((long)(0)<<2|3);
5692 var45
= (val
*)((long)(0)<<2|3);
5693 var41
= core__flat___CString___to_s_unsafe(var40
, var42
, var43
, var44
, var45
);
5704 { /* Inline kernel$Int$>= (var_ns,var_min) on <var_ns:Int> */
5705 /* Covariant cast for argument 0 (i) <var_min:Int> isa OTHER */
5706 /* <var_min:Int> isa OTHER */
5707 var50
= 1; /* easy <var_min:Int> isa OTHER*/
5708 if (unlikely(!var50
)) {
5709 var_class_name53
= type_core__Int
.name
;
5710 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53
);
5711 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
5714 var54
= var_ns
>= var_min
;
5717 RET_LABEL49
:(void)0;
5723 { /* Inline native$CString$[] (var_its,var_ns) on <var_its:CString> */
5724 var58
= (unsigned char)((int)var_its
[var_ns
]);
5727 RET_LABEL57
:(void)0;
5731 { /* Inline kernel$Byte$!= (var56,var_sl) on <var56:Byte> */
5732 var61
= var56
== var_sl
;
5736 RET_LABEL60
:(void)0;
5746 { /* Inline native$CString$[] (var_its,var_ns) on <var_its:CString> */
5747 var66
= (unsigned char)((int)var_its
[var_ns
]);
5750 RET_LABEL65
:(void)0;
5754 { /* Inline kernel$Byte$!= (var64,var_ls) on <var64:Byte> */
5755 var69
= var64
== var_ls
;
5759 RET_LABEL68
:(void)0;
5768 { /* Inline kernel$Int$- (var_ns,1l) on <var_ns:Int> */
5769 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5770 /* <1l:Int> isa OTHER */
5771 var73
= 1; /* easy <1l:Int> isa OTHER*/
5772 if (unlikely(!var73
)) {
5773 var_class_name76
= type_core__Int
.name
;
5774 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76
);
5775 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5778 var77
= var_ns
- 1l;
5781 RET_LABEL72
:(void)0;
5789 BREAK_label78
: (void)0;
5790 if (likely(varoncenew_guard
)) {
5793 var80
= NEW_core__FlatString(&type_core__FlatString
);
5796 varoncenew_guard
= 1;
5799 { /* Inline kernel$Int$- (var_l,var_ns) on <var_l:Int> */
5800 /* Covariant cast for argument 0 (i) <var_ns:Int> isa OTHER */
5801 /* <var_ns:Int> isa OTHER */
5802 var83
= 1; /* easy <var_ns:Int> isa OTHER*/
5803 if (unlikely(!var83
)) {
5804 var_class_name86
= type_core__Int
.name
;
5805 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86
);
5806 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5809 var87
= var_l
- var_ns
;
5812 RET_LABEL82
:(void)0;
5816 { /* Inline kernel$Int$+ (var_ns,1l) on <var_ns:Int> */
5817 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5818 /* <1l:Int> isa OTHER */
5819 var90
= 1; /* easy <1l:Int> isa OTHER*/
5820 if (unlikely(!var90
)) {
5821 var_class_name93
= type_core__Int
.name
;
5822 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93
);
5823 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
5826 var94
= var_ns
+ 1l;
5829 RET_LABEL89
:(void)0;
5833 var95
= core___core__FlatString___with_infos(var79
, var_its
, var81
, var88
);
5838 var96
= core__flat___FlatText___last_byte(self
);
5841 var98
= self
->attrs
[COLOR_core__abstract_text__FlatText___items
].str
; /* _items on <self:FlatString> */
5843 var100
= self
->attrs
[COLOR_core__flat__FlatString___first_byte
].l
; /* _first_byte on <self:FlatString> */
5844 var_min101
= var100
;
5846 var102
= core___core__Char___ascii('/');
5851 { /* Inline kernel$Int$> (var_l97,var_min101) on <var_l97:Int> */
5852 /* Covariant cast for argument 0 (i) <var_min101:Int> isa OTHER */
5853 /* <var_min101:Int> isa OTHER */
5854 var107
= 1; /* easy <var_min101:Int> isa OTHER*/
5855 if (unlikely(!var107
)) {
5856 var_class_name110
= type_core__Int
.name
;
5857 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name110
);
5858 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
5861 var111
= var_l97
> var_min101
;
5864 RET_LABEL106
:(void)0;
5870 { /* Inline native$CString$[] (var_its99,var_l97) on <var_its99:CString> */
5871 var115
= (unsigned char)((int)var_its99
[var_l97
]);
5874 RET_LABEL114
:(void)0;
5878 { /* Inline kernel$Byte$== (var113,var_sl103) on <var113:Byte> */
5879 var118
= var113
== var_sl103
;
5882 RET_LABEL117
:(void)0;
5891 { /* Inline kernel$Int$- (var_l97,1l) on <var_l97:Int> */
5892 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5893 /* <1l:Int> isa OTHER */
5894 var121
= 1; /* easy <1l:Int> isa OTHER*/
5895 if (unlikely(!var121
)) {
5896 var_class_name124
= type_core__Int
.name
;
5897 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name124
);
5898 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5901 var125
= var_l97
- 1l;
5904 RET_LABEL120
:(void)0;
5909 goto BREAK_label126
;
5912 BREAK_label126
: (void)0;
5914 { /* Inline kernel$Int$== (var_l97,var_min101) on <var_l97:Int> */
5915 var129
= var_l97
== var_min101
;
5918 RET_LABEL128
:(void)0;
5922 if (likely(varonce130
!=NULL
)) {
5923 var131
= varonce130
;
5926 var134
= (val
*)(1l<<2|1);
5927 var135
= (val
*)(1l<<2|1);
5928 var136
= (val
*)((long)(0)<<2|3);
5929 var137
= (val
*)((long)(0)<<2|3);
5930 var133
= core__flat___CString___to_s_unsafe(var132
, var134
, var135
, var136
, var137
);
5932 varonce130
= var131
;
5938 var_ns138
= var_l97
;
5941 { /* Inline kernel$Int$>= (var_ns138,var_min101) on <var_ns138:Int> */
5942 /* Covariant cast for argument 0 (i) <var_min101:Int> isa OTHER */
5943 /* <var_min101:Int> isa OTHER */
5944 var142
= 1; /* easy <var_min101:Int> isa OTHER*/
5945 if (unlikely(!var142
)) {
5946 var_class_name145
= type_core__Int
.name
;
5947 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name145
);
5948 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
5951 var146
= var_ns138
>= var_min101
;
5954 RET_LABEL141
:(void)0;
5960 { /* Inline native$CString$[] (var_its99,var_ns138) on <var_its99:CString> */
5961 var150
= (unsigned char)((int)var_its99
[var_ns138
]);
5964 RET_LABEL149
:(void)0;
5968 { /* Inline kernel$Byte$!= (var148,var_sl103) on <var148:Byte> */
5969 var153
= var148
== var_sl103
;
5973 RET_LABEL152
:(void)0;
5982 { /* Inline kernel$Int$- (var_ns138,1l) on <var_ns138:Int> */
5983 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5984 /* <1l:Int> isa OTHER */
5985 var157
= 1; /* easy <1l:Int> isa OTHER*/
5986 if (unlikely(!var157
)) {
5987 var_class_name160
= type_core__Int
.name
;
5988 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name160
);
5989 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5992 var161
= var_ns138
- 1l;
5995 RET_LABEL156
:(void)0;
6000 goto BREAK_label162
;
6003 BREAK_label162
: (void)0;
6004 if (likely(varoncenew163_guard
)) {
6005 var164
= varoncenew163
;
6007 var165
= NEW_core__FlatString(&type_core__FlatString
);
6009 varoncenew163
= var164
;
6010 varoncenew163_guard
= 1;
6013 { /* Inline kernel$Int$- (var_l97,var_ns138) on <var_l97:Int> */
6014 /* Covariant cast for argument 0 (i) <var_ns138:Int> isa OTHER */
6015 /* <var_ns138:Int> isa OTHER */
6016 var168
= 1; /* easy <var_ns138:Int> isa OTHER*/
6017 if (unlikely(!var168
)) {
6018 var_class_name171
= type_core__Int
.name
;
6019 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name171
);
6020 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
6023 var172
= var_l97
- var_ns138
;
6026 RET_LABEL167
:(void)0;
6030 { /* Inline kernel$Int$+ (var_ns138,1l) on <var_ns138:Int> */
6031 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6032 /* <1l:Int> isa OTHER */
6033 var175
= 1; /* easy <1l:Int> isa OTHER*/
6034 if (unlikely(!var175
)) {
6035 var_class_name178
= type_core__Int
.name
;
6036 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name178
);
6037 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
6040 var179
= var_ns138
+ 1l;
6043 RET_LABEL174
:(void)0;
6047 var180
= core___core__FlatString___with_infos(var164
, var_its99
, var166
, var173
);
6051 if (var_extension
== NULL
) {
6052 var182
= 0; /* is null */
6054 var182
= 1; /* arg is null and recv is not */
6057 { /* Inline kernel$Object$!= (var_extension,((val*)NULL)) on <var_extension:nullable String> */
6058 var_other
= ((val
*)NULL
);
6060 var185
= ((short int(*)(val
* self
, val
* p0
))(var_extension
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_extension
, var_other
); /* == on <var_extension:nullable String(String)>*/
6065 RET_LABEL184
:(void)0;
6071 var187
= core__file___String___strip_extension(var_bname
, var_extension
);
6082 /* method file$CString$file_exists for (self: CString): Bool */
6083 short int core__file___CString___file_exists(char* self
) {
6084 short int var
/* : Bool */;
6085 short int var1
/* : Bool */;
6086 var1
= core__file___CString_file_exists___impl(self
);
6092 /* method file$CString$file_stat for (self: CString): NativeFileStat */
6093 val
* core__file___CString___file_stat(char* self
) {
6094 val
* var
/* : NativeFileStat */;
6095 val
* var1
/* : NativeFileStat */;
6096 val
* var2
/* : NativeFileStat */;
6097 var1
= core__file___CString_file_stat___impl(self
);
6098 var2
= BOX_core__Pointer(var1
); /* boxing NativeFileStat */
6099 var2
->type
= &type_core__file__NativeFileStat
;
6100 var2
->class = &class_core__file__NativeFileStat
;
6106 /* method file$CString$file_mkdir for (self: CString, Int): Bool */
6107 short int core__file___CString___file_mkdir(char* self
, long p0
) {
6108 short int var
/* : Bool */;
6109 short int var1
/* : Bool */;
6110 var1
= core__file___CString_file_mkdir___impl(self
, p0
);
6116 /* method file$CString$file_realpath for (self: CString): CString */
6117 char* core__file___CString___file_realpath(char* self
) {
6118 char* var
/* : CString */;
6119 char* var1
/* : CString */;
6120 var1
= core__file___CString_file_realpath___impl(self
);
6126 /* method file$NativeFileStat$is_dir for (self: NativeFileStat): Bool */
6127 short int core__file___core__file__NativeFileStat___is_dir(val
* self
) {
6128 short int var
/* : Bool */;
6129 short int var1
/* : Bool */;
6130 void* var2
/* : NativeFileStat for extern */;
6131 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFileStat */
6132 var1
= core__file___NativeFileStat_is_dir___impl(var2
);
6138 /* method file$NativeFile$io_read for (self: NativeFile, CString, Int): Int */
6139 long core__file___core__file__NativeFile___io_read(val
* self
, char* p0
, long p1
) {
6140 long var
/* : Int */;
6141 long var1
/* : Int */;
6142 void* var2
/* : NativeFile for extern */;
6143 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
6144 var1
= core__file___NativeFile_io_read___impl(var2
, p0
, p1
);
6150 /* method file$NativeFile$io_write for (self: NativeFile, CString, Int, Int): Int */
6151 long core__file___core__file__NativeFile___io_write(val
* self
, char* p0
, long p1
, long p2
) {
6152 long var
/* : Int */;
6153 long var1
/* : Int */;
6154 void* var2
/* : NativeFile for extern */;
6155 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
6156 var1
= core__file___NativeFile_io_write___impl(var2
, p0
, p1
, p2
);
6162 /* method file$NativeFile$io_close for (self: NativeFile): Int */
6163 long core__file___core__file__NativeFile___io_close(val
* self
) {
6164 long var
/* : Int */;
6165 long var1
/* : Int */;
6166 void* var2
/* : NativeFile for extern */;
6167 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
6168 var1
= core__file___NativeFile_io_close___impl(var2
);
6174 /* method file$NativeFile$ferror for (self: NativeFile): Bool */
6175 short int core__file___core__file__NativeFile___ferror(val
* self
) {
6176 short int var
/* : Bool */;
6177 short int var1
/* : Bool */;
6178 void* var2
/* : NativeFile for extern */;
6179 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
6180 var1
= core__file___NativeFile_ferror___impl(var2
);
6186 /* method file$NativeFile$set_buffering_type for (self: NativeFile, Int, Int): Int */
6187 long core__file___core__file__NativeFile___set_buffering_type(val
* self
, long p0
, long p1
) {
6188 long var
/* : Int */;
6189 long var1
/* : Int */;
6190 void* var2
/* : NativeFile for extern */;
6191 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeFile */
6192 var1
= core__file___NativeFile_set_buffering_type___impl(var2
, p0
, p1
);
6198 /* method file$NativeFile$io_open_read for (self: NativeFile, CString): NativeFile */
6199 val
* core__file___core__file__NativeFile___io_open_read(val
* self
, char* p0
) {
6200 val
* var
/* : NativeFile */;
6201 val
* var1
/* : NativeFile */;
6202 val
* var2
/* : NativeFile */;
6203 var1
= core__file___new_NativeFile_io_open_read___impl(p0
);
6204 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
6205 var2
->type
= &type_core__file__NativeFile
;
6206 var2
->class = &class_core__file__NativeFile
;
6212 /* method file$NativeFile$io_open_write for (self: NativeFile, CString): NativeFile */
6213 val
* core__file___core__file__NativeFile___io_open_write(val
* self
, char* p0
) {
6214 val
* var
/* : NativeFile */;
6215 val
* var1
/* : NativeFile */;
6216 val
* var2
/* : NativeFile */;
6217 var1
= core__file___new_NativeFile_io_open_write___impl(p0
);
6218 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
6219 var2
->type
= &type_core__file__NativeFile
;
6220 var2
->class = &class_core__file__NativeFile
;
6226 /* method file$NativeFile$native_stdin for (self: NativeFile): NativeFile */
6227 val
* core__file___core__file__NativeFile___native_stdin(val
* self
) {
6228 val
* var
/* : NativeFile */;
6229 val
* var1
/* : NativeFile */;
6230 val
* var2
/* : NativeFile */;
6231 var1
= core__file___new_NativeFile_native_stdin___impl();
6232 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
6233 var2
->type
= &type_core__file__NativeFile
;
6234 var2
->class = &class_core__file__NativeFile
;
6240 /* method file$NativeFile$native_stdout for (self: NativeFile): NativeFile */
6241 val
* core__file___core__file__NativeFile___native_stdout(val
* self
) {
6242 val
* var
/* : NativeFile */;
6243 val
* var1
/* : NativeFile */;
6244 val
* var2
/* : NativeFile */;
6245 var1
= core__file___new_NativeFile_native_stdout___impl();
6246 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
6247 var2
->type
= &type_core__file__NativeFile
;
6248 var2
->class = &class_core__file__NativeFile
;
6254 /* method file$NativeFile$native_stderr for (self: NativeFile): NativeFile */
6255 val
* core__file___core__file__NativeFile___native_stderr(val
* self
) {
6256 val
* var
/* : NativeFile */;
6257 val
* var1
/* : NativeFile */;
6258 val
* var2
/* : NativeFile */;
6259 var1
= core__file___new_NativeFile_native_stderr___impl();
6260 var2
= BOX_core__Pointer(var1
); /* boxing NativeFile */
6261 var2
->type
= &type_core__file__NativeFile
;
6262 var2
->class = &class_core__file__NativeFile
;
6268 /* method file$NativeDir$opendir for (self: NativeDir, CString): NativeDir */
6269 val
* core__file___core__file__NativeDir___opendir(val
* self
, char* p0
) {
6270 val
* var
/* : NativeDir */;
6271 val
* var1
/* : NativeDir */;
6272 val
* var2
/* : NativeDir */;
6273 var1
= core__file___new_NativeDir_opendir___impl(p0
);
6274 var2
= BOX_core__Pointer(var1
); /* boxing NativeDir */
6275 var2
->type
= &type_core__file__NativeDir
;
6276 var2
->class = &class_core__file__NativeDir
;
6282 /* method file$NativeDir$closedir for (self: NativeDir) */
6283 void core__file___core__file__NativeDir___closedir(val
* self
) {
6284 void* var
/* : NativeDir for extern */;
6285 var
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeDir */
6286 core__file___NativeDir_closedir___impl(var
);
6289 /* method file$NativeDir$readdir for (self: NativeDir): CString */
6290 char* core__file___core__file__NativeDir___readdir(val
* self
) {
6291 char* var
/* : CString */;
6292 char* var1
/* : CString */;
6293 void* var2
/* : NativeDir for extern */;
6294 var2
= ((struct instance_core__Pointer
*)self
)->value
; /* unboxing NativeDir */
6295 var1
= core__file___NativeDir_readdir___impl(var2
);
6301 /* method file$Sys$stdout for (self: Sys): Writer */
6302 val
* core__file___Sys___stdout(val
* self
) {
6303 val
* var
/* : Writer */;
6304 short int var1
/* : Bool */;
6305 val
* var2
/* : Writer */;
6306 val
* var3
/* : Stdout */;
6307 var1
= self
->attrs
[COLOR_core__file__Sys___stdout
].val
!= NULL
; /* _stdout on <self:Sys> */
6309 var2
= self
->attrs
[COLOR_core__file__Sys___stdout
].val
; /* _stdout on <self:Sys> */
6310 if (unlikely(var2
== NULL
)) {
6311 if(catchStack
.cursor
>= 0){
6312 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout");
6315 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 1583);
6319 var3
= NEW_core__Stdout(&type_core__Stdout
);
6321 core___core__Stdout___core__kernel__Object__init(var3
); /* Direct call file$Stdout$init on <var3:Stdout>*/
6323 self
->attrs
[COLOR_core__file__Sys___stdout
].val
= var3
; /* _stdout on <self:Sys> */
6330 /* method file$Sys$stderr for (self: Sys): Writer */
6331 val
* core__file___Sys___stderr(val
* self
) {
6332 val
* var
/* : Writer */;
6333 short int var1
/* : Bool */;
6334 val
* var2
/* : Writer */;
6335 val
* var3
/* : Stderr */;
6336 var1
= self
->attrs
[COLOR_core__file__Sys___stderr
].val
!= NULL
; /* _stderr on <self:Sys> */
6338 var2
= self
->attrs
[COLOR_core__file__Sys___stderr
].val
; /* _stderr on <self:Sys> */
6339 if (unlikely(var2
== NULL
)) {
6340 if(catchStack
.cursor
>= 0){
6341 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr");
6344 PRINT_ERROR(" (%s:%d)\n", FILE_core__file
, 1586);
6348 var3
= NEW_core__Stderr(&type_core__Stderr
);
6350 core___core__Stderr___core__kernel__Object__init(var3
); /* Direct call file$Stderr$init on <var3:Stderr>*/
6352 self
->attrs
[COLOR_core__file__Sys___stderr
].val
= var3
; /* _stderr on <self:Sys> */
6359 /* method file$Sys$buffer_mode_line for (self: Sys): Int */
6360 long core__file___Sys___buffer_mode_line(val
* self
) {
6361 long var
/* : Int */;
6362 long var1
/* : Int */;
6363 struct nitni_instance
* var_for_c_0
;
6364 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
6365 var_for_c_0
->value
= self
;
6366 var1
= core__file___Sys_buffer_mode_line___impl(var_for_c_0
);
6372 /* method file$Sys$printn for (self: Sys, Array[Object]) */
6373 void core__file___Sys___printn(val
* self
, val
* p0
) {
6374 val
* var_objects
/* var objects: Array[Object] */;
6375 val
* var
/* : Sys */;
6376 val
* var2
/* : Sys */;
6377 val
* var3
/* : Writer */;
6378 val
* var4
/* : String */;
6381 { /* Inline kernel$Object$sys (self) on <self:Sys> */
6389 var3
= core__file___Sys___stdout(var
);
6392 var4
= core__flat___Array___core__abstract_text__Collection__plain_to_s(var_objects
);
6395 core___core__FileWriter___core__stream__Writer__write(var3
, var4
); /* Direct call file$FileWriter$write on <var3:Writer>*/
6399 /* method file$Sys$print for (self: Sys, Object) */
6400 void core__file___Sys___print(val
* self
, val
* p0
) {
6401 val
* var_object
/* var object: Object */;
6402 val
* var
/* : Sys */;
6403 val
* var2
/* : Sys */;
6404 val
* var3
/* : Writer */;
6405 val
* var4
/* : String */;
6406 val
* var5
/* : Sys */;
6407 val
* var7
/* : Sys */;
6408 val
* var8
/* : Writer */;
6409 static val
* varonce
;
6410 val
* var9
/* : String */;
6411 char* var10
/* : CString */;
6412 val
* var11
/* : String */;
6413 val
* var12
/* : nullable Int */;
6414 val
* var13
/* : nullable Int */;
6415 val
* var14
/* : nullable Bool */;
6416 val
* var15
/* : nullable Bool */;
6419 { /* Inline kernel$Object$sys (self) on <self:Sys> */
6427 var3
= core__file___Sys___stdout(var
);
6430 var4
= ((val
*(*)(val
* self
))((((long)var_object
&3)?class_info
[((long)var_object
&3)]:var_object
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_object
); /* to_s on <var_object:Object>*/
6433 core___core__FileWriter___core__stream__Writer__write(var3
, var4
); /* Direct call file$FileWriter$write on <var3:Writer>*/
6436 { /* Inline kernel$Object$sys (self) on <self:Sys> */
6444 var8
= core__file___Sys___stdout(var5
);
6446 if (likely(varonce
!=NULL
)) {
6450 var12
= (val
*)(1l<<2|1);
6451 var13
= (val
*)(1l<<2|1);
6452 var14
= (val
*)((long)(0)<<2|3);
6453 var15
= (val
*)((long)(0)<<2|3);
6454 var11
= core__flat___CString___to_s_unsafe(var10
, var12
, var13
, var14
, var15
);
6459 core___core__FileWriter___core__stream__Writer__write(var8
, var9
); /* Direct call file$FileWriter$write on <var8:Writer>*/
6463 /* method file$Sys$print_error for (self: Sys, Object) */
6464 void core__file___Sys___print_error(val
* self
, val
* p0
) {
6465 val
* var_object
/* var object: Object */;
6466 val
* var
/* : Sys */;
6467 val
* var2
/* : Sys */;
6468 val
* var3
/* : Writer */;
6469 val
* var4
/* : String */;
6470 val
* var5
/* : Sys */;
6471 val
* var7
/* : Sys */;
6472 val
* var8
/* : Writer */;
6473 static val
* varonce
;
6474 val
* var9
/* : String */;
6475 char* var10
/* : CString */;
6476 val
* var11
/* : String */;
6477 val
* var12
/* : nullable Int */;
6478 val
* var13
/* : nullable Int */;
6479 val
* var14
/* : nullable Bool */;
6480 val
* var15
/* : nullable Bool */;
6483 { /* Inline kernel$Object$sys (self) on <self:Sys> */
6491 var3
= core__file___Sys___stderr(var
);
6494 var4
= ((val
*(*)(val
* self
))((((long)var_object
&3)?class_info
[((long)var_object
&3)]:var_object
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_object
); /* to_s on <var_object:Object>*/
6497 core___core__FileWriter___core__stream__Writer__write(var3
, var4
); /* Direct call file$FileWriter$write on <var3:Writer>*/
6500 { /* Inline kernel$Object$sys (self) on <self:Sys> */
6508 var8
= core__file___Sys___stderr(var5
);
6510 if (likely(varonce
!=NULL
)) {
6514 var12
= (val
*)(1l<<2|1);
6515 var13
= (val
*)(1l<<2|1);
6516 var14
= (val
*)((long)(0)<<2|3);
6517 var15
= (val
*)((long)(0)<<2|3);
6518 var11
= core__flat___CString___to_s_unsafe(var10
, var12
, var13
, var14
, var15
);
6523 core___core__FileWriter___core__stream__Writer__write(var8
, var9
); /* Direct call file$FileWriter$write on <var8:Writer>*/
6527 /* method file$Sys$getcwd for (self: Sys): String */
6528 val
* core__file___Sys___getcwd(val
* self
) {
6529 val
* var
/* : String */;
6530 char* var1
/* : CString */;
6531 char* var3
/* : CString */;
6532 val
* var4
/* : String */;
6534 { /* Inline file$Sys$native_getcwd (self) on <self:Sys> */
6535 struct nitni_instance
* var_for_c_0
;
6536 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
6537 var_for_c_0
->value
= self
;
6538 var3
= core__file___Sys_native_getcwd___impl(var_for_c_0
);
6545 var4
= core__flat___CString___core__abstract_text__Object__to_s(var1
);
6552 /* method file$Sys$native_getcwd for (self: Sys): CString */
6553 char* core__file___Sys___native_getcwd(val
* self
) {
6554 char* var
/* : CString */;
6555 char* var1
/* : CString */;
6556 struct nitni_instance
* var_for_c_0
;
6557 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
6558 var_for_c_0
->value
= self
;
6559 var1
= core__file___Sys_native_getcwd___impl(var_for_c_0
);