void* var2 /* : FileStat */;
var1 = self->attrs[COLOR_file__FStream___file].val; /* _file on <self:FStream> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 66);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 66);
+show_backtrace(1);
} else {
var2 = ((void* (*)(val*))(var1->class->vft[COLOR_file__NativeFile__file_stat]))(var1) /* file_stat on <var1:nullable NativeFile>*/;
}
var2 = NULL/*special!*/;
var3 = self->attrs[COLOR_file__FStream___path].val; /* _path on <self:IFStream> */
if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 80);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 80);
+show_backtrace(1);
} else {
var4 = ((char* (*)(val*))(var3->class->vft[COLOR_string__String__to_cstring]))(var3) /* to_cstring on <var3:nullable String>*/;
}
self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var8; /* _buffer_pos on <self:IFStream> */
var9 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:IFStream> */
if (var9 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 83);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 83);
+show_backtrace(1);
} else {
((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__RemovableCollection__clear]))(var9) /* clear on <var9:nullable Buffer>*/;
}
short int var2 /* : Bool */;
var = self->attrs[COLOR_file__FStream___file].val; /* _file on <self:IFStream> */
if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 88);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 88);
+show_backtrace(1);
} else {
var1 = ((long (*)(val*))(var->class->vft[COLOR_file__NativeFile__io_close]))(var) /* io_close on <var:nullable NativeFile>*/;
}
short int var9 /* : Bool */;
int cltype;
int idtype;
+const char* var_class_name;
short int var10 /* : Bool */;
short int var11 /* : Bool */;
long var12 /* : Int */;
var = self->attrs[COLOR_file__FStream___file].val; /* _file on <self:IFStream> */
var1 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:IFStream> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 94);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 94);
+show_backtrace(1);
}
var2 = var1->attrs[COLOR_string__AbstractString___items].str; /* _items on <var1:nullable Buffer> */
var3 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:IFStream> */
if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 94);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 94);
+show_backtrace(1);
}
var4 = var3->attrs[COLOR_string__Buffer___capacity].l; /* _capacity on <var3:nullable Buffer> */
if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 94);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 94);
+show_backtrace(1);
} else {
var5 = ((long (*)(val*, char*, long))(var->class->vft[COLOR_file__NativeFile__io_read]))(var, var2, var4) /* io_read on <var:nullable NativeFile>*/;
}
/* <var6:Int> isa OTHER */
var9 = 1; /* easy <var6:Int> isa OTHER*/
if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
-exit(1);
+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);
+show_backtrace(1);
}
var10 = var_nb <= var6;
var7 = var10;
}
var13 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:IFStream> */
if (var13 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 99);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 99);
+show_backtrace(1);
}
var13->attrs[COLOR_array__AbstractArrayRead___length].l = var_nb; /* _length on <var13:nullable Buffer> */
var14 = 0;
var1 = NULL/*special!*/;
var2 = self->attrs[COLOR_file__FStream___path].val; /* _path on <self:IFStream> */
if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 111);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 111);
+show_backtrace(1);
} else {
var3 = ((char* (*)(val*))(var2->class->vft[COLOR_string__String__to_cstring]))(var2) /* to_cstring on <var2:nullable String>*/;
}
var8 = 1; /* arg is null and recv is not */
}
if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert \'cant_open_file\' failed", "lib/standard/file.nit", 112);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert \'cant_open_file\' failed");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 112);
+show_backtrace(1);
}
RET_LABEL:;
}
var_s = p0;
var = self->attrs[COLOR_file__OFStream___writable].s; /* _writable on <self:OFStream> */
if (!var) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/file.nit", 126);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 126);
+show_backtrace(1);
}
var1 = ((char* (*)(val*))(var_s->class->vft[COLOR_string__String__to_cstring]))(var_s) /* to_cstring on <var_s:String>*/;
var2 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on <var_s:String>*/;
short int var2 /* : Bool */;
var = self->attrs[COLOR_file__FStream___file].val; /* _file on <self:OFStream> */
if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 134);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 134);
+show_backtrace(1);
} else {
var1 = ((long (*)(val*))(var->class->vft[COLOR_file__NativeFile__io_close]))(var) /* io_close on <var:nullable NativeFile>*/;
}
var_len = p1;
var = self->attrs[COLOR_file__OFStream___writable].s; /* _writable on <self:OFStream> */
if (!var) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/file.nit", 144);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 144);
+show_backtrace(1);
}
var1 = self->attrs[COLOR_file__FStream___file].val; /* _file on <self:OFStream> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/file.nit", 145);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 145);
+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 <var1:nullable NativeFile>*/;
}
((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 <var21:Array[Object]>*/;
-CHECK_NEW_array__Array(var21);
}
((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__printn]))(self, var21) /* printn on <self:OFStream>*/;
} else {
var6 = 1; /* arg is null and recv is not */
}
if (!var6) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert \'cant_open_file\' failed", "lib/standard/file.nit", 156);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert \'cant_open_file\' failed");
+fprintf(stderr, " (%s:%d)\n", "lib/standard/file.nit", 156);
+show_backtrace(1);
}
self->attrs[COLOR_file__FStream___path].val = var_path; /* _path on <self:OFStream> */
var7 = 1;
short int var12 /* : Bool */;
int cltype;
int idtype;
+const char* var_class_name;
short int var13 /* : Bool */;
long var14 /* : Int */;
long var15 /* : Int */;
/* <var9:Int> isa OTHER */
var12 = 1; /* easy <var9:Int> isa OTHER*/
if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
-exit(1);
+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);
+show_backtrace(1);
}
var13 = var_pos >= var9;
var10 = var13;
short int var10 /* : Bool */;
int cltype;
int idtype;
+const char* var_class_name;
short int var11 /* : Bool */;
short int var_ /* var : Bool */;
val* var12 /* : nullable Object */;
short int var28 /* : Bool */;
int cltype29;
int idtype30;
-short int var31 /* : Bool */;
-long var32 /* : Int */;
-val* var33 /* : String */;
-long var34 /* : Int */;
-short int var35 /* : Bool */;
-short int var37 /* : Bool */;
+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 */;
static val* varonce;
-val* var38 /* : String */;
-char* var39 /* : NativeString */;
-long var40 /* : Int */;
-val* var41 /* : String */;
-static val* varonce42;
-val* var43 /* : String */;
-char* var44 /* : NativeString */;
-long var45 /* : Int */;
-val* var46 /* : String */;
+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 */;
var1 = self->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on <self:String> */
var2 = 1;
{ /* Inline kernel#Int#- (var1,var2) */
/* <var7:Int> isa OTHER */
var10 = 1; /* easy <var7:Int> isa OTHER*/
if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
-exit(1);
+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);
+show_backtrace(1);
}
var11 = var_l > var7;
var8 = var11;
/* <var25:Int> isa OTHER */
var28 = 1; /* easy <var25:Int> isa OTHER*/
if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
-exit(1);
+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);
+show_backtrace(1);
}
-var31 = var_pos > var25;
-var26 = var31;
+var32 = var_pos > var25;
+var26 = var32;
goto RET_LABEL27;
RET_LABEL27:(void)0;
}
if (var26){
-var32 = 0;
-var33 = ((val* (*)(val*, long, long))(self->class->vft[COLOR_string__AbstractString__substring]))(self, var32, var_pos) /* substring on <self:String>*/;
-var = var33;
+var33 = 0;
+var34 = ((val* (*)(val*, long, long))(self->class->vft[COLOR_string__AbstractString__substring]))(self, var33, var_pos) /* substring on <self:String>*/;
+var = var34;
goto RET_LABEL;
} else {
-var34 = 0;
-{ /* Inline kernel#Int#== (var_pos,var34) */
-var37 = var_pos == var34;
-var35 = var37;
-goto RET_LABEL36;
-RET_LABEL36:(void)0;
-}
-if (var35){
+var35 = 0;
+{ /* Inline kernel#Int#== (var_pos,var35) */
+var38 = var_pos == var35;
+var36 = var38;
+goto RET_LABEL37;
+RET_LABEL37:(void)0;
+}
+if (var36){
if (varonce) {
-var38 = varonce;
+var39 = varonce;
} else {
-var39 = "/";
-var40 = 1;
-var41 = string__NativeString__to_s_with_length(var39, var40);
-var38 = var41;
-varonce = var38;
+var40 = "/";
+var41 = 1;
+var42 = string__NativeString__to_s_with_length(var40, var41);
+var39 = var42;
+varonce = var39;
}
-var = var38;
+var = var39;
goto RET_LABEL;
} else {
-if (varonce42) {
-var43 = varonce42;
+if (varonce43) {
+var44 = varonce43;
} else {
-var44 = ".";
-var45 = 1;
-var46 = string__NativeString__to_s_with_length(var44, var45);
-var43 = var46;
-varonce42 = var43;
+var45 = ".";
+var46 = 1;
+var47 = string__NativeString__to_s_with_length(var45, var46);
+var44 = var47;
+varonce43 = var44;
}
-var = var43;
+var = var44;
goto RET_LABEL;
}
}
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 <self:String>*/;
+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 */;
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 {
var_a = var5;
var6 = NEW_array__Array(&type_array__Arraystring__String);
((void (*)(val*))(var6->class->vft[COLOR_array__Array__init]))(var6) /* init on <var6:Array[String]>*/;
-CHECK_NEW_array__Array(var6);
var_a2 = var6;
var7 = ((val* (*)(val*))(var_a->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_a) /* iterator on <var_a:Array[String]>*/;
for(;;) {
((void (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__next]))(var7) /* next on <var7:Iterator[nullable Object]>*/;
}
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 <var_a2:Array[String]>*/;
+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_a2:Array[String]>*/;
-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_a2:Array[String]>*/;
+var = var56;
goto RET_LABEL;
RET_LABEL:;
return var;
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 <var10:Array[Object]>*/;
-CHECK_NEW_array__Array(var10);
var_ = var10;
if (varonce) {
var12 = varonce;
var_dirs = var4;
var5 = NEW_string__Buffer(&type_string__Buffer);
((void (*)(val*))(var5->class->vft[COLOR_string__Buffer__init]))(var5) /* init on <var5:Buffer>*/;
-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 <var_dirs:Array[String]>*/;
if (var6){
short int var7 /* : Bool */;
int cltype;
int idtype;
+const char* var_class_name;
short int var8 /* : Bool */;
long var9 /* : Int */;
long var10 /* : Int */;
/* <var4:Int> isa OTHER */
var7 = 1; /* easy <var4:Int> isa OTHER*/
if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
-exit(1);
+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);
+show_backtrace(1);
}
var8 = var_last_slash >= var4;
var5 = var8;
/* 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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#String#files at lib/standard/file.nit:355,2--356,159\n");
+show_backtrace(1);
RET_LABEL:;
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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#NativeString#file_lstat at lib/standard/file.nit:362,2--369,3\n");
+show_backtrace(1);
RET_LABEL:;
return var;
}
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 */;
/* 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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_reg at lib/standard/file.nit:384,2--54\n");
+show_backtrace(1);
RET_LABEL:;
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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_dir at lib/standard/file.nit:385,2--54\n");
+show_backtrace(1);
RET_LABEL:;
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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_chr at lib/standard/file.nit:386,2--54\n");
+show_backtrace(1);
RET_LABEL:;
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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_blk at lib/standard/file.nit:387,2--54\n");
+show_backtrace(1);
RET_LABEL:;
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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_fifo at lib/standard/file.nit:388,2--56\n");
+show_backtrace(1);
RET_LABEL:;
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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_lnk at lib/standard/file.nit:389,2--54\n");
+show_backtrace(1);
RET_LABEL:;
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);
+fprintf(stderr, "NOT YET IMPLEMENTED nitni for file#FileStat#is_sock at lib/standard/file.nit:390,2--56\n");
+show_backtrace(1);
RET_LABEL:;
return var;
}
} else {
var2 = NEW_file__Stdin(&type_file__Stdin);
((void (*)(val*))(var2->class->vft[COLOR_file__Stdin__init]))(var2) /* init on <var2:Stdin>*/;
-CHECK_NEW_file__Stdin(var2);
var1 = var2;
varonce = var1;
varonce_guard = 1;
} else {
var2 = NEW_file__Stdout(&type_file__Stdout);
((void (*)(val*))(var2->class->vft[COLOR_file__Stdout__init]))(var2) /* init on <var2:Stdout>*/;
-CHECK_NEW_file__Stdout(var2);
var1 = var2;
varonce = var1;
varonce_guard = 1;
} else {
var2 = NEW_file__Stderr(&type_file__Stderr);
((void (*)(val*))(var2->class->vft[COLOR_file__Stderr__init]))(var2) /* init on <var2:Stderr>*/;
-CHECK_NEW_file__Stderr(var2);
var1 = var2;
varonce = var1;
varonce_guard = 1;