X-Git-Url: http://nitlanguage.org diff --git a/c_src/file.sep.1.c b/c_src/file.sep.1.c index 5f9c5b6..300b48b 100644 --- a/c_src/file.sep.1.c +++ b/c_src/file.sep.1.c @@ -163,9 +163,9 @@ val* var1 /* : nullable NativeFile */; void* var2 /* : FileStat */; var1 = self->attrs[COLOR_file__FStream___file].val; /* _file on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 66); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 74); +show_backtrace(1); } else { var2 = ((void* (*)(val*))(var1->class->vft[COLOR_file__NativeFile__file_stat]))(var1) /* file_stat on */; } @@ -213,9 +213,9 @@ if (var1){ var2 = NULL/*special!*/; var3 = self->attrs[COLOR_file__FStream___path].val; /* _path on */ if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 80); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 88); +show_backtrace(1); } else { var4 = ((char* (*)(val*))(var3->class->vft[COLOR_string__String__to_cstring]))(var3) /* to_cstring on */; } @@ -228,9 +228,9 @@ var8 = 0; self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var8; /* _buffer_pos on */ var9 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 83); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 91); +show_backtrace(1); } else { ((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__RemovableCollection__clear]))(var9) /* clear on */; } @@ -249,9 +249,9 @@ long var_i /* var i: Int */; short int var2 /* : Bool */; var = self->attrs[COLOR_file__FStream___file].val; /* _file on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 88); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 96); +show_backtrace(1); } else { var1 = ((long (*)(val*))(var->class->vft[COLOR_file__NativeFile__io_close]))(var) /* io_close on */; } @@ -288,22 +288,22 @@ long var14 /* : Int */; var = self->attrs[COLOR_file__FStream___file].val; /* _file on */ var1 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 94); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 102); +show_backtrace(1); } var2 = var1->attrs[COLOR_string__AbstractString___items].str; /* _items on */ var3 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 94); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 102); +show_backtrace(1); } var4 = var3->attrs[COLOR_string__Buffer___capacity].l; /* _capacity on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 94); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 102); +show_backtrace(1); } else { var5 = ((long (*)(val*, char*, long))(var->class->vft[COLOR_file__NativeFile__io_read]))(var, var2, var4) /* io_read on */; } @@ -316,8 +316,8 @@ var9 = 1; /* easy isa OTHER*/ if (!var9) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 260); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 264); +show_backtrace(1); } var10 = var_nb <= var6; var7 = var10; @@ -333,9 +333,9 @@ var_nb = var12; } var13 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ if (var13 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 99); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 107); +show_backtrace(1); } var13->attrs[COLOR_array__AbstractArrayRead___length].l = var_nb; /* _length on */ var14 = 0; @@ -386,9 +386,9 @@ var = 10; var1 = NULL/*special!*/; var2 = self->attrs[COLOR_file__FStream___path].val; /* _path on */ if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 111); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 119); +show_backtrace(1); } else { var3 = ((char* (*)(val*))(var2->class->vft[COLOR_string__String__to_cstring]))(var2) /* to_cstring on */; } @@ -404,8 +404,8 @@ var8 = 1; /* arg is null and recv is not */ } if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert \'cant_open_file\' failed"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 112); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 120); +show_backtrace(1); } RET_LABEL:; } @@ -446,8 +446,8 @@ var_s = p0; var = self->attrs[COLOR_file__OFStream___writable].s; /* _writable on */ if (!var) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 126); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 134); +show_backtrace(1); } var1 = ((char* (*)(val*))(var_s->class->vft[COLOR_string__String__to_cstring]))(var_s) /* to_cstring on */; var2 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on */; @@ -486,9 +486,9 @@ long var_i /* var i: Int */; short int var2 /* : Bool */; var = self->attrs[COLOR_file__FStream___file].val; /* _file on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 134); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 142); +show_backtrace(1); } else { var1 = ((long (*)(val*))(var->class->vft[COLOR_file__NativeFile__io_close]))(var) /* io_close on */; } @@ -538,14 +538,14 @@ var_len = p1; var = self->attrs[COLOR_file__OFStream___writable].s; /* _writable on */ if (!var) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 144); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 152); +show_backtrace(1); } var1 = self->attrs[COLOR_file__FStream___file].val; /* _file on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 145); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 153); +show_backtrace(1); } else { var2 = ((long (*)(val*, char*, long))(var1->class->vft[COLOR_file__NativeFile__io_write]))(var1, var_native, var_len) /* io_write on */; } @@ -597,7 +597,6 @@ var25 = BOX_kernel__Int(var_len); /* autobox from Int to Object */ ((struct instance_array__NativeArray*)var23)->values[3] = (val*) var25; ((struct instance_array__NativeArray*)var23)->values[4] = (val*) var17; ((void (*)(val*, val*, long))(var21->class->vft[COLOR_array__Array__with_native]))(var21, var23, var22) /* with_native on */; -CHECK_NEW_array__Array(var21); } ((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__printn]))(self, var21) /* printn on */; } else { @@ -636,8 +635,8 @@ var6 = 1; /* arg is null and recv is not */ } if (!var6) { fprintf(stderr, "Runtime error: %s", "Assert \'cant_open_file\' failed"); -fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 156); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 164); +show_backtrace(1); } self->attrs[COLOR_file__FStream___path].val = var_path; /* _path on */ var7 = 1; @@ -877,6 +876,45 @@ var = var1; RET_LABEL:; return var; } +/* method file#String#file_copy_to for (self: String, String) */ +void file__String__file_copy_to(val* self, val* p0) { +val* var_dest /* var dest: String */; +val* var /* : IFStream */; +val* var_input /* var input: IFStream */; +val* var1 /* : OFStream */; +val* var_output /* var output: OFStream */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +long var4 /* : Int */; +val* var5 /* : String */; +val* var_buffer /* var buffer: String */; +var_dest = p0; +var = NEW_file__IFStream(&type_file__IFStream); +((void (*)(val*, val*))(var->class->vft[COLOR_file__IFStream__open]))(var, self) /* open on */; +var_input = var; +var1 = NEW_file__OFStream(&type_file__OFStream); +((void (*)(val*, val*))(var1->class->vft[COLOR_file__OFStream__open]))(var1, var_dest) /* open on */; +var_output = var1; +for(;;) { +var2 = ((short int (*)(val*))(var_input->class->vft[COLOR_stream__IStream__eof]))(var_input) /* eof on */; +var3 = !var2; +if (!var3) break; +var4 = 1024; +var5 = ((val* (*)(val*, long))(var_input->class->vft[COLOR_stream__IStream__read]))(var_input, var4) /* read on */; +var_buffer = var5; +((void (*)(val*, val*))(var_output->class->vft[COLOR_stream__OStream__write]))(var_output, var_buffer) /* write on */; +CONTINUE_label: (void)0; +} +BREAK_label: (void)0; +((void (*)(val*))(var_input->class->vft[COLOR_stream__IOS__close]))(var_input) /* close on */; +((void (*)(val*))(var_output->class->vft[COLOR_stream__IOS__close]))(var_output) /* close on */; +RET_LABEL:; +} +/* method file#String#file_copy_to for (self: Object, String) */ +void VIRTUAL_file__String__file_copy_to(val* self, val* p0) { +file__String__file_copy_to(self, p0); +RET_LABEL:; +} /* method file#String#strip_extension for (self: String, String): String */ val* file__String__strip_extension(val* self, val* p0) { val* var /* : String */; @@ -966,8 +1004,8 @@ var12 = 1; /* easy isa OTHER*/ if (!var12) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266); +show_backtrace(1); } var13 = var_pos >= var9; var10 = var13; @@ -1018,40 +1056,41 @@ int idtype; const char* var_class_name; short int var11 /* : Bool */; short int var_ /* var : Bool */; -val* var12 /* : nullable Object */; -char var13 /* : Char */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -char var17 /* : Char */; -long var18 /* : Int */; +val* var12 /* : StringCharView */; +val* var13 /* : nullable Object */; +char var14 /* : Char */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +char var18 /* : Char */; long var19 /* : Int */; -long var21 /* : Int */; -char var22 /* : Char */; -long var23 /* : Int */; -val* var24 /* : nullable Object */; +long var20 /* : Int */; +long var22 /* : Int */; +char var23 /* : Char */; +long var24 /* : Int */; +val* var25 /* : nullable Object */; long var_pos /* var pos: Int */; -long var25 /* : Int */; -short int var26 /* : Bool */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -const char* var_class_name31; -short int var32 /* : Bool */; -long var33 /* : Int */; -val* var34 /* : String */; -long var35 /* : Int */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; +long var26 /* : Int */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +const char* var_class_name32; +short int var33 /* : Bool */; +long var34 /* : Int */; +val* var35 /* : String */; +long var36 /* : Int */; +short int var37 /* : Bool */; +short int var39 /* : Bool */; static val* varonce; -val* var39 /* : String */; -char* var40 /* : NativeString */; -long var41 /* : Int */; -val* var42 /* : String */; -static val* varonce43; -val* var44 /* : String */; -char* var45 /* : NativeString */; -long var46 /* : Int */; -val* var47 /* : String */; +val* var40 /* : String */; +char* var41 /* : NativeString */; +long var42 /* : Int */; +val* var43 /* : String */; +static val* varonce44; +val* var45 /* : String */; +char* var46 /* : NativeString */; +long var47 /* : Int */; +val* var48 /* : String */; var1 = self->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ var2 = 1; { /* Inline kernel#Int#- (var1,var2) */ @@ -1069,8 +1108,8 @@ var10 = 1; /* easy isa OTHER*/ if (!var10) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); } var11 = var_l > var7; var8 = var11; @@ -1079,89 +1118,90 @@ RET_LABEL9:(void)0; } var_ = var8; if (var8){ -var12 = ((val* (*)(val*, long))(self->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(self, var_l) /* [] on */; -var13 = '/'; -{ /* Inline kernel#Char#== (var12,var13) */ -var16 = (var12 != NULL) && (var12->class == &class_kernel__Char); -if (var16) { -var17 = ((struct instance_kernel__Char*)var12)->value; /* autounbox from nullable Object to Char */; -var16 = (var17 == var13); -} -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; -} -var6 = var14; +var12 = ((val* (*)(val*))(self->class->vft[COLOR_string__AbstractString__chars]))(self) /* chars on */; +var13 = ((val* (*)(val*, long))(var12->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var12, var_l) /* [] on */; +var14 = '/'; +{ /* Inline kernel#Char#== (var13,var14) */ +var17 = (var13 != NULL) && (var13->class == &class_kernel__Char); +if (var17) { +var18 = ((struct instance_kernel__Char*)var13)->value; /* autounbox from nullable Object to Char */; +var17 = (var18 == var14); +} +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +var6 = var15; } else { var6 = var_; } if (var6){ -var18 = 1; -{ /* Inline kernel#Int#- (var_l,var18) */ -var21 = var_l - var18; -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; -} -var_l = var19; -} else { +var19 = 1; +{ /* Inline kernel#Int#- (var_l,var19) */ +var22 = var_l - var19; +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; } -var22 = '/'; -var24 = BOX_kernel__Char(var22); /* autobox from Char to nullable Object */ -var23 = ((long (*)(val*, val*, long))(self->class->vft[COLOR_array__AbstractArrayRead__last_index_of_from]))(self, var24, var_l) /* last_index_of_from on */; -var_pos = var23; -var25 = 0; -{ /* Inline kernel#Int#> (var_pos,var25) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var28 = 1; /* easy isa OTHER*/ -if (!var28) { -var_class_name31 = type_kernel__Int.name; -fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); -exit(1); -} -var32 = var_pos > var25; -var26 = var32; -goto RET_LABEL27; -RET_LABEL27:(void)0; +var_l = var20; +} else { } -if (var26){ -var33 = 0; -var34 = ((val* (*)(val*, long, long))(self->class->vft[COLOR_string__AbstractString__substring]))(self, var33, var_pos) /* substring on */; -var = var34; +var23 = '/'; +var25 = BOX_kernel__Char(var23); /* autobox from Char to nullable Object */ +var24 = ((long (*)(val*, val*, long))(self->class->vft[COLOR_array__AbstractArrayRead__last_index_of_from]))(self, var25, var_l) /* last_index_of_from on */; +var_pos = var24; +var26 = 0; +{ /* Inline kernel#Int#> (var_pos,var26) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var29 = 1; /* easy isa OTHER*/ +if (!var29) { +var_class_name32 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); +} +var33 = var_pos > var26; +var27 = var33; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +if (var27){ +var34 = 0; +var35 = ((val* (*)(val*, long, long))(self->class->vft[COLOR_string__AbstractString__substring]))(self, var34, var_pos) /* substring on */; +var = var35; goto RET_LABEL; } else { -var35 = 0; -{ /* Inline kernel#Int#== (var_pos,var35) */ -var38 = var_pos == var35; -var36 = var38; -goto RET_LABEL37; -RET_LABEL37:(void)0; -} -if (var36){ +var36 = 0; +{ /* Inline kernel#Int#== (var_pos,var36) */ +var39 = var_pos == var36; +var37 = var39; +goto RET_LABEL38; +RET_LABEL38:(void)0; +} +if (var37){ if (varonce) { -var39 = varonce; +var40 = varonce; } else { -var40 = "/"; -var41 = 1; -var42 = string__NativeString__to_s_with_length(var40, var41); -var39 = var42; -varonce = var39; +var41 = "/"; +var42 = 1; +var43 = string__NativeString__to_s_with_length(var41, var42); +var40 = var43; +varonce = var40; } -var = var39; +var = var40; goto RET_LABEL; } else { -if (varonce43) { -var44 = varonce43; +if (varonce44) { +var45 = varonce44; } else { -var45 = "."; -var46 = 1; -var47 = string__NativeString__to_s_with_length(var45, var46); -var44 = var47; -varonce43 = var44; +var46 = "."; +var47 = 1; +var48 = string__NativeString__to_s_with_length(var46, var47); +var45 = var48; +varonce44 = var45; } -var = var44; +var = var45; goto RET_LABEL; } } @@ -1177,6 +1217,33 @@ var = var1; RET_LABEL:; return var; } +/* method file#String#realpath for (self: String): String */ +val* file__String__realpath(val* self) { +val* var /* : String */; +char* var1 /* : NativeString */; +char* var2 /* : NativeString */; +char* var_cs /* var cs: NativeString */; +val* var3 /* : String */; +val* var_res /* var res: String */; +var1 = ((char* (*)(val*))(self->class->vft[COLOR_string__String__to_cstring]))(self) /* to_cstring on */; +var2 = file__NativeString__file_realpath(var1); +var_cs = var2; +var3 = string__NativeString__to_s_with_copy(var_cs); +var_res = var3; +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method file#String#realpath for (self: Object): String */ +val* VIRTUAL_file__String__realpath(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = file__String__realpath(self); +var = var1; +RET_LABEL:; +return var; +} /* method file#String#simplify_path for (self: String): String */ val* file__String__simplify_path(val* self) { val* var /* : String */; @@ -1229,12 +1296,18 @@ long var41 /* : Int */; val* var42 /* : String */; short int var43 /* : Bool */; val* var44 /* : nullable Object */; -static val* varonce45; -val* var46 /* : String */; -char* var47 /* : NativeString */; -long var48 /* : Int */; -val* var49 /* : String */; +short int var45 /* : Bool */; +static val* varonce46; +val* var47 /* : String */; +char* var48 /* : NativeString */; +long var49 /* : Int */; val* var50 /* : String */; +static val* varonce51; +val* var52 /* : String */; +char* var53 /* : NativeString */; +long var54 /* : Int */; +val* var55 /* : String */; +val* var56 /* : String */; if (varonce) { var1 = varonce; } else { @@ -1248,7 +1321,6 @@ var5 = ((val* (*)(val*, val*))(self->class->vft[COLOR_string_search__String__spl var_a = var5; var6 = NEW_array__Array(&type_array__Arraystring__String); ((void (*)(val*))(var6->class->vft[COLOR_array__Array__init]))(var6) /* init on */; -CHECK_NEW_array__Array(var6); var_a2 = var6; var7 = ((val* (*)(val*))(var_a->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_a) /* iterator on */; for(;;) { @@ -1338,17 +1410,32 @@ CONTINUE_label: (void)0; ((void (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__next]))(var7) /* next on */; } BREAK_label: (void)0; -if (varonce45) { -var46 = varonce45; +var45 = ((short int (*)(val*))(var_a2->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var_a2) /* is_empty on */; +if (var45){ +if (varonce46) { +var47 = varonce46; +} else { +var48 = "."; +var49 = 1; +var50 = string__NativeString__to_s_with_length(var48, var49); +var47 = var50; +varonce46 = var47; +} +var = var47; +goto RET_LABEL; +} else { +} +if (varonce51) { +var52 = varonce51; } else { -var47 = "/"; -var48 = 1; -var49 = string__NativeString__to_s_with_length(var47, var48); -var46 = var49; -varonce45 = var46; -} -var50 = ((val* (*)(val*, val*))(var_a2->class->vft[COLOR_string__Collection__join]))(var_a2, var46) /* join on */; -var = var50; +var53 = "/"; +var54 = 1; +var55 = string__NativeString__to_s_with_length(var53, var54); +var52 = var55; +varonce51 = var52; +} +var56 = ((val* (*)(val*, val*))(var_a2->class->vft[COLOR_string__Collection__join]))(var_a2, var52) /* join on */; +var = var56; goto RET_LABEL; RET_LABEL:; return var; @@ -1368,31 +1455,32 @@ val* var /* : String */; val* var_path /* var path: String */; short int var1 /* : Bool */; short int var2 /* : Bool */; -long var3 /* : Int */; -val* var4 /* : nullable Object */; -char var5 /* : Char */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; -char var9 /* : Char */; -val* var10 /* : Array[Object] */; -long var11 /* : Int */; +val* var3 /* : StringCharView */; +long var4 /* : Int */; +val* var5 /* : nullable Object */; +char var6 /* : Char */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +char var10 /* : Char */; +val* var11 /* : Array[Object] */; +long var12 /* : Int */; val* var_ /* var : Array[Object] */; static val* varonce; -val* var12 /* : String */; -char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : String */; -static val* varonce21; -val* var22 /* : String */; -char* var23 /* : NativeString */; -long var24 /* : Int */; -val* var25 /* : String */; +val* var13 /* : String */; +char* var14 /* : NativeString */; +long var15 /* : Int */; +val* var16 /* : String */; +static val* varonce17; +val* var18 /* : String */; +char* var19 /* : NativeString */; +long var20 /* : Int */; +val* var21 /* : String */; +static val* varonce22; +val* var23 /* : String */; +char* var24 /* : NativeString */; +long var25 /* : Int */; val* var26 /* : String */; +val* var27 /* : String */; var_path = p0; var1 = ((short int (*)(val*))(var_path->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var_path) /* is_empty on */; if (var1){ @@ -1406,63 +1494,63 @@ var = var_path; goto RET_LABEL; } else { } -var3 = 0; -var4 = ((val* (*)(val*, long))(var_path->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_path, var3) /* [] on */; -var5 = '/'; -{ /* Inline kernel#Char#== (var4,var5) */ -var8 = (var4 != NULL) && (var4->class == &class_kernel__Char); -if (var8) { -var9 = ((struct instance_kernel__Char*)var4)->value; /* autounbox from nullable Object to Char */; -var8 = (var9 == var5); -} -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var3 = ((val* (*)(val*))(var_path->class->vft[COLOR_string__AbstractString__chars]))(var_path) /* chars on */; +var4 = 0; +var5 = ((val* (*)(val*, long))(var3->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var3, var4) /* [] on */; +var6 = '/'; +{ /* Inline kernel#Char#== (var5,var6) */ +var9 = (var5 != NULL) && (var5->class == &class_kernel__Char); +if (var9) { +var10 = ((struct instance_kernel__Char*)var5)->value; /* autounbox from nullable Object to Char */; +var9 = (var10 == var6); +} +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -if (var6){ +if (var7){ var = var_path; goto RET_LABEL; } else { } -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -var11 = 5; -((void (*)(val*, long))(var10->class->vft[COLOR_array__Array__with_capacity]))(var10, var11) /* with_capacity on */; -CHECK_NEW_array__Array(var10); -var_ = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +var12 = 5; +((void (*)(val*, long))(var11->class->vft[COLOR_array__Array__with_capacity]))(var11, var12) /* with_capacity on */; +var_ = var11; if (varonce) { -var12 = varonce; +var13 = varonce; } else { -var13 = ""; -var14 = 0; -var15 = string__NativeString__to_s_with_length(var13, var14); -var12 = var15; -varonce = var12; +var14 = ""; +var15 = 0; +var16 = string__NativeString__to_s_with_length(var14, var15); +var13 = var16; +varonce = var13; } -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var12) /* add on */; +((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var13) /* add on */; ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, self) /* add on */; -if (varonce16) { -var17 = varonce16; +if (varonce17) { +var18 = varonce17; } else { -var18 = "/"; -var19 = 1; -var20 = string__NativeString__to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; +var19 = "/"; +var20 = 1; +var21 = string__NativeString__to_s_with_length(var19, var20); +var18 = var21; +varonce17 = var18; } -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var17) /* add on */; +((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var18) /* add on */; ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var_path) /* add on */; -if (varonce21) { -var22 = varonce21; +if (varonce22) { +var23 = varonce22; } else { -var23 = ""; -var24 = 0; -var25 = string__NativeString__to_s_with_length(var23, var24); -var22 = var25; -varonce21 = var22; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var22) /* add on */; -var26 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on */; -var = var26; +var24 = ""; +var25 = 0; +var26 = string__NativeString__to_s_with_length(var24, var25); +var23 = var26; +varonce22 = var23; +} +((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var23) /* add on */; +var27 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on */; +var = var27; goto RET_LABEL; RET_LABEL:; return var; @@ -1516,7 +1604,6 @@ var4 = ((val* (*)(val*, val*))(self->class->vft[COLOR_string_search__String__spl var_dirs = var4; var5 = NEW_string__Buffer(&type_string__Buffer); ((void (*)(val*))(var5->class->vft[COLOR_string__Buffer__init]))(var5) /* init on */; -CHECK_NEW_string__Buffer(var5); var_path = var5; var6 = ((short int (*)(val*))(var_dirs->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var_dirs) /* is_empty on */; if (var6){ @@ -1606,8 +1693,8 @@ var7 = 1; /* easy isa OTHER*/ if (!var7) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 262); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266); +show_backtrace(1); } var8 = var_last_slash >= var4; var5 = var8; @@ -1646,11 +1733,75 @@ return var; /* method file#String#files for (self: String): Set[String] */ val* file__String__files(val* self) { val* var /* : Set[String] */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#String#files at lib/standard/file.nit:345,2--346,159\n"); -exit(1); +val* var1 /* : Set[String] */; +struct nitni_instance* var_for_c_0; +var_for_c_0 = malloc(sizeof(struct nitni_instance)); +var_for_c_0->value = self; +struct nitni_instance* ret_var; +ret_var = file___String_files___impl(var_for_c_0); +var1 = ret_var->value; +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } +/* nitni callback for standard::hash_collection::HashSet::init */ +struct nitni_instance * file___new_HashSet_of_String( ) { +val* var /* : HashSet[String] */; +var = NEW_hash_collection__HashSet(&type_hash_collection__HashSetstring__String); +val* recv /* var self: HashSet[String] */; +recv = var; +((void (*)(val*))(var->class->vft[COLOR_hash_collection__HashSet__init]))(var) /* init on */; +struct nitni_instance* ret_for_c; +ret_for_c = malloc(sizeof(struct nitni_instance)); +ret_for_c->value = var; +return ret_for_c; +} +/* nitni callback for standard::abstract_collection::SimpleCollection::add */ +void file___HashSet_of_String_add( struct nitni_instance * recv, struct nitni_instance * item ) { +((void (*)(val*, val*))(recv->value->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(recv->value, item->value) /* add on value:HashSet[String]>*/; +} +/* nitni callback for standard::string::Object::to_s */ +struct nitni_instance * file___NativeString_to_s( char* recv ) { +val* var /* : String */; +var = string__NativeString__to_s(recv); +struct nitni_instance* ret_for_c; +ret_for_c = malloc(sizeof(struct nitni_instance)); +ret_for_c->value = var; +return ret_for_c; +} +/* nitni callback for standard::string::String::to_cstring */ +char* file___String_to_cstring( struct nitni_instance * recv ) { +char* var /* : NativeString */; +var = ((char* (*)(val*))(recv->value->class->vft[COLOR_string__String__to_cstring]))(recv->value) /* to_cstring on value:String>*/; +return var; +} +/* nitni check for HashSet[String] to Set[String] */ +int file___HashSet_of_String_is_a_Set_of_String(struct nitni_instance * from) { +short int var /* : Bool */; +int cltype; +int idtype; +/* value:HashSet[String]> isa Set[String] */ +var = 1; /* easy value:HashSet[String]> isa Set[String]*/ +return var; +} +/* nitni cast for HashSet[String] to Set[String] */ +struct nitni_instance * file___HashSet_of_String_as_Set_of_String(struct nitni_instance * from) { +short int var /* : Bool */; +int cltype; +int idtype; +/* value:HashSet[String]> isa Set[String] */ +var = 1; /* easy value:HashSet[String]> isa Set[String]*/ +if (!var) { +fprintf(stderr, "Runtime error: %s", "FFI cast failed"); +fprintf(stderr, "\n"); +show_backtrace(1); +} +struct nitni_instance* ret_for_c; +ret_for_c = malloc(sizeof(struct nitni_instance)); +ret_for_c->value = from->value; +return ret_for_c; +} /* method file#String#files for (self: Object): Set[String] */ val* VIRTUAL_file__String__files(val* self) { val* var /* : Set[String] */; @@ -1705,8 +1856,10 @@ return var; /* method file#NativeString#file_lstat for (self: NativeString): FileStat */ void* file__NativeString__file_lstat(char* self) { void* var /* : FileStat */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#NativeString#file_lstat at lib/standard/file.nit:352,2--359,3\n"); -exit(1); +void* var1 /* : FileStat */; +var1 = file___NativeString_file_lstat___impl(self); +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } @@ -1775,6 +1928,27 @@ var = ((struct instance_string__NativeString*)self)->value; /* autounbox from Ob file__NativeString__file_chdir(var); RET_LABEL:; } +/* method file#NativeString#file_realpath for (self: NativeString): NativeString */ +char* file__NativeString__file_realpath(char* self) { +char* var /* : NativeString */; +char* var1 /* : NativeString */; +var1 = file_NativeString_realpath(self); +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method file#NativeString#file_realpath for (self: Object): NativeString */ +char* VIRTUAL_file__NativeString__file_realpath(val* self) { +char* var /* : NativeString */; +char* var1 /* : NativeString */; +char* var2 /* : NativeString */; +var2 = ((struct instance_string__NativeString*)self)->value; /* autounbox from Object to NativeString */; +var1 = file__NativeString__file_realpath(var2); +var = var1; +RET_LABEL:; +return var; +} /* method file#FileStat#mode for (self: FileStat): Int */ long file__FileStat__mode(void* self) { long var /* : Int */; @@ -1790,7 +1964,7 @@ long VIRTUAL_file__FileStat__mode(val* self) { long var /* : Int */; long var1 /* : Int */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__mode(var2); var = var1; RET_LABEL:; @@ -1811,7 +1985,7 @@ long VIRTUAL_file__FileStat__atime(val* self) { long var /* : Int */; long var1 /* : Int */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__atime(var2); var = var1; RET_LABEL:; @@ -1832,7 +2006,7 @@ long VIRTUAL_file__FileStat__ctime(val* self) { long var /* : Int */; long var1 /* : Int */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__ctime(var2); var = var1; RET_LABEL:; @@ -1853,7 +2027,7 @@ long VIRTUAL_file__FileStat__mtime(val* self) { long var /* : Int */; long var1 /* : Int */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__mtime(var2); var = var1; RET_LABEL:; @@ -1874,7 +2048,7 @@ long VIRTUAL_file__FileStat__size(val* self) { long var /* : Int */; long var1 /* : Int */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__size(var2); var = var1; RET_LABEL:; @@ -1883,8 +2057,10 @@ return var; /* method file#FileStat#is_reg for (self: FileStat): Bool */ short int file__FileStat__is_reg(void* self) { short int var /* : Bool */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_reg at lib/standard/file.nit:373,2--54\n"); -exit(1); +short int var1 /* : Bool */; +var1 = file___FileStat_is_reg___impl(self); +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } @@ -1893,7 +2069,7 @@ short int VIRTUAL_file__FileStat__is_reg(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__is_reg(var2); var = var1; RET_LABEL:; @@ -1902,8 +2078,10 @@ return var; /* method file#FileStat#is_dir for (self: FileStat): Bool */ short int file__FileStat__is_dir(void* self) { short int var /* : Bool */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_dir at lib/standard/file.nit:374,2--54\n"); -exit(1); +short int var1 /* : Bool */; +var1 = file___FileStat_is_dir___impl(self); +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } @@ -1912,7 +2090,7 @@ short int VIRTUAL_file__FileStat__is_dir(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__is_dir(var2); var = var1; RET_LABEL:; @@ -1921,8 +2099,10 @@ return var; /* method file#FileStat#is_chr for (self: FileStat): Bool */ short int file__FileStat__is_chr(void* self) { short int var /* : Bool */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_chr at lib/standard/file.nit:375,2--54\n"); -exit(1); +short int var1 /* : Bool */; +var1 = file___FileStat_is_chr___impl(self); +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } @@ -1931,7 +2111,7 @@ short int VIRTUAL_file__FileStat__is_chr(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__is_chr(var2); var = var1; RET_LABEL:; @@ -1940,8 +2120,10 @@ return var; /* method file#FileStat#is_blk for (self: FileStat): Bool */ short int file__FileStat__is_blk(void* self) { short int var /* : Bool */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_blk at lib/standard/file.nit:376,2--54\n"); -exit(1); +short int var1 /* : Bool */; +var1 = file___FileStat_is_blk___impl(self); +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } @@ -1950,7 +2132,7 @@ short int VIRTUAL_file__FileStat__is_blk(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__is_blk(var2); var = var1; RET_LABEL:; @@ -1959,8 +2141,10 @@ return var; /* method file#FileStat#is_fifo for (self: FileStat): Bool */ short int file__FileStat__is_fifo(void* self) { short int var /* : Bool */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_fifo at lib/standard/file.nit:377,2--56\n"); -exit(1); +short int var1 /* : Bool */; +var1 = file___FileStat_is_fifo___impl(self); +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } @@ -1969,7 +2153,7 @@ short int VIRTUAL_file__FileStat__is_fifo(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__is_fifo(var2); var = var1; RET_LABEL:; @@ -1978,8 +2162,10 @@ return var; /* method file#FileStat#is_lnk for (self: FileStat): Bool */ short int file__FileStat__is_lnk(void* self) { short int var /* : Bool */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_lnk at lib/standard/file.nit:378,2--54\n"); -exit(1); +short int var1 /* : Bool */; +var1 = file___FileStat_is_lnk___impl(self); +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } @@ -1988,7 +2174,7 @@ short int VIRTUAL_file__FileStat__is_lnk(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__is_lnk(var2); var = var1; RET_LABEL:; @@ -1997,8 +2183,10 @@ return var; /* method file#FileStat#is_sock for (self: FileStat): Bool */ short int file__FileStat__is_sock(void* self) { short int var /* : Bool */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_sock at lib/standard/file.nit:379,2--56\n"); -exit(1); +short int var1 /* : Bool */; +var1 = file___FileStat_is_sock___impl(self); +var = var1; +goto RET_LABEL; RET_LABEL:; return var; } @@ -2007,7 +2195,7 @@ short int VIRTUAL_file__FileStat__is_sock(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; void* var2 /* : FileStat */; -var2 = ((struct instance_file__FileStat*)self)->value; /* autounbox from Object to FileStat */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to FileStat */; var1 = file__FileStat__is_sock(var2); var = var1; RET_LABEL:; @@ -2028,7 +2216,7 @@ long VIRTUAL_file__NativeFile__io_read(val* self, char* p0, long p1) { long var /* : Int */; long var1 /* : Int */; void* var2 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__io_read(var2, p0, p1); var = var1; RET_LABEL:; @@ -2049,7 +2237,7 @@ long VIRTUAL_file__NativeFile__io_write(val* self, char* p0, long p1) { long var /* : Int */; long var1 /* : Int */; void* var2 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__io_write(var2, p0, p1); var = var1; RET_LABEL:; @@ -2070,7 +2258,7 @@ long VIRTUAL_file__NativeFile__io_close(val* self) { long var /* : Int */; long var1 /* : Int */; void* var2 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__io_close(var2); var = var1; RET_LABEL:; @@ -2091,7 +2279,7 @@ void* VIRTUAL_file__NativeFile__file_stat(val* self) { void* var /* : FileStat */; void* var1 /* : FileStat */; void* var2 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__file_stat(var2); var = var1; RET_LABEL:; @@ -2113,9 +2301,9 @@ void* var /* : NativeFile */; val* var1 /* : Object */; void* var2 /* : NativeFile */; void* var3 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__io_open_read(var2, p0); -var3 = ((struct instance_file__NativeFile*)var1)->value; /* autounbox from Object to NativeFile */; +var3 = ((struct instance_kernel__Pointer*)var1)->value; /* autounbox from Object to NativeFile */; var = var3; RET_LABEL:; return var; @@ -2136,9 +2324,9 @@ void* var /* : NativeFile */; val* var1 /* : Object */; void* var2 /* : NativeFile */; void* var3 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__io_open_write(var2, p0); -var3 = ((struct instance_file__NativeFile*)var1)->value; /* autounbox from Object to NativeFile */; +var3 = ((struct instance_kernel__Pointer*)var1)->value; /* autounbox from Object to NativeFile */; var = var3; RET_LABEL:; return var; @@ -2159,9 +2347,9 @@ void* var /* : NativeFile */; val* var1 /* : Object */; void* var2 /* : NativeFile */; void* var3 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__native_stdin(var2); -var3 = ((struct instance_file__NativeFile*)var1)->value; /* autounbox from Object to NativeFile */; +var3 = ((struct instance_kernel__Pointer*)var1)->value; /* autounbox from Object to NativeFile */; var = var3; RET_LABEL:; return var; @@ -2182,9 +2370,9 @@ void* var /* : NativeFile */; val* var1 /* : Object */; void* var2 /* : NativeFile */; void* var3 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__native_stdout(var2); -var3 = ((struct instance_file__NativeFile*)var1)->value; /* autounbox from Object to NativeFile */; +var3 = ((struct instance_kernel__Pointer*)var1)->value; /* autounbox from Object to NativeFile */; var = var3; RET_LABEL:; return var; @@ -2205,9 +2393,9 @@ void* var /* : NativeFile */; val* var1 /* : Object */; void* var2 /* : NativeFile */; void* var3 /* : NativeFile */; -var2 = ((struct instance_file__NativeFile*)self)->value; /* autounbox from Object to NativeFile */; +var2 = ((struct instance_kernel__Pointer*)self)->value; /* autounbox from Object to NativeFile */; var1 = file__NativeFile__native_stderr(var2); -var3 = ((struct instance_file__NativeFile*)var1)->value; /* autounbox from Object to NativeFile */; +var3 = ((struct instance_kernel__Pointer*)var1)->value; /* autounbox from Object to NativeFile */; var = var3; RET_LABEL:; return var; @@ -2224,7 +2412,6 @@ var1 = varonce; } else { var2 = NEW_file__Stdin(&type_file__Stdin); ((void (*)(val*))(var2->class->vft[COLOR_file__Stdin__init]))(var2) /* init on */; -CHECK_NEW_file__Stdin(var2); var1 = var2; varonce = var1; varonce_guard = 1; @@ -2255,7 +2442,6 @@ var1 = varonce; } else { var2 = NEW_file__Stdout(&type_file__Stdout); ((void (*)(val*))(var2->class->vft[COLOR_file__Stdout__init]))(var2) /* init on */; -CHECK_NEW_file__Stdout(var2); var1 = var2; varonce = var1; varonce_guard = 1; @@ -2286,7 +2472,6 @@ var1 = varonce; } else { var2 = NEW_file__Stderr(&type_file__Stderr); ((void (*)(val*))(var2->class->vft[COLOR_file__Stderr__init]))(var2) /* init on */; -CHECK_NEW_file__Stderr(var2); var1 = var2; varonce = var1; varonce_guard = 1;