X-Git-Url: http://nitlanguage.org diff --git a/c_src/stream.sep.1.c b/c_src/stream.sep.1.c index 36803b0..a8a6746 100644 --- a/c_src/stream.sep.1.c +++ b/c_src/stream.sep.1.c @@ -1,1035 +1,890 @@ #include "stream.sep.0.h" -/* method stream#IOS#close for (self: IOS) */ -void stream__IOS__close(val* self) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/stream.nit", 20); -exit(1); -RET_LABEL:; +/* method stream#IStream#read_line for (self: IStream): String */ +val* stream__IStream__read_line(val* self) { +val* var /* : String */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var3 /* : FlatBuffer */; +val* var_s /* var s: FlatBuffer */; +val* var4 /* : String */; +{ +var1 = stream__BufferedIStream__eof(self); } -/* method stream#IOS#close for (self: Object) */ -void VIRTUAL_stream__IOS__close(val* self) { -stream__IOS__close(self); -RET_LABEL:; +var2 = !var1; +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 53); +show_backtrace(1); } -/* method stream#IStream#read_char for (self: IStream): Int */ -long stream__IStream__read_char(val* self) { -long var /* : Int */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/stream.nit", 27); -exit(1); +var3 = NEW_string__FlatBuffer(&type_string__FlatBuffer); +{ +((void (*)(val*))(var3->class->vft[COLOR_kernel__Object__init]))(var3) /* init on */; +} +var_s = var3; +{ +stream__BufferedIStream__append_line_to(self, var_s); /* Direct call stream#BufferedIStream#append_line_to on */ +} +{ +var4 = string__FlatBuffer__to_s(var_s); +} +var = var4; +goto RET_LABEL; RET_LABEL:; return var; } -/* method stream#IStream#read_char for (self: Object): Int */ -long VIRTUAL_stream__IStream__read_char(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__IStream__read_char(self); +/* method stream#IStream#read_line for (self: Object): String */ +val* VIRTUAL_stream__IStream__read_line(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = stream__IStream__read_line(self); var = var1; RET_LABEL:; return var; } -/* method stream#IStream#read for (self: IStream, Int): String */ -val* stream__IStream__read(val* self, long p0) { +/* method stream#Text#write_to for (self: Text, OStream) */ +void stream__Text__write_to(val* self, val* p0) { +val* var_stream /* var stream: OStream */; +var_stream = p0; +{ +file__OFStream__write(var_stream, self); /* Direct call file#OFStream#write on */ +} +RET_LABEL:; +} +/* method stream#Text#write_to for (self: Object, OStream) */ +void VIRTUAL_stream__Text__write_to(val* self, val* p0) { +stream__Text__write_to(self, p0); /* Direct call stream#Text#write_to on */ +RET_LABEL:; +} +/* method stream#BufferedIStream#read for (self: BufferedIStream, Int): String */ +val* stream__BufferedIStream__read(val* self, long p0) { val* var /* : String */; long var_i /* var i: Int */; -val* var1 /* : Buffer */; -val* var_s /* var s: Buffer */; -short int var2 /* : Bool */; -long var3 /* : Int */; -short int var4 /* : Bool */; +val* var1 /* : nullable FlatBuffer */; +long var2 /* : Int */; +long var4 /* : Int */; +long var5 /* : Int */; short int var6 /* : Bool */; -int cltype; -int idtype; short int var7 /* : Bool */; -short int var_ /* var : Bool */; -short int var8 /* : Bool */; short int var9 /* : Bool */; -long var10 /* : Int */; -long var_c /* var c: Int */; -long var11 /* : Int */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -short int var17 /* : Bool */; -char var18 /* : Char */; -char var20 /* : Char */; -val* var21 /* : nullable Object */; -long var22 /* : Int */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : String */; +static val* varonce; +val* var13 /* : String */; +char* var14 /* : NativeString */; +long var15 /* : Int */; +val* var16 /* : FlatString */; +long var17 /* : Int */; +long var18 /* : Int */; +short int var20 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var21 /* : Int */; +val* var22 /* : nullable FlatBuffer */; long var23 /* : Int */; long var25 /* : Int */; -val* var26 /* : String */; +short int var26 /* : Bool */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +const char* var_class_name31; +short int var32 /* : Bool */; +long var33 /* : Int */; +long var_from /* var from: Int */; +val* var34 /* : nullable FlatBuffer */; +long var35 /* : Int */; +long var37 /* : Int */; +val* var38 /* : nullable FlatBuffer */; +val* var39 /* : Text */; +val* var40 /* : String */; +val* var_ /* var : BufferedIStream */; +long var41 /* : Int */; +long var42 /* : Int */; +short int var44 /* : Bool */; +int cltype45; +int idtype46; +const char* var_class_name47; +long var48 /* : Int */; +val* var49 /* : nullable FlatBuffer */; +long var50 /* : Int */; +long var51 /* : Int */; +short int var53 /* : Bool */; +int cltype54; +int idtype55; +const char* var_class_name56; +long var57 /* : Int */; +val* var58 /* : FlatBuffer */; +val* var59 /* : String */; var_i = p0; -var1 = NEW_string__Buffer(&type_string__Buffer); -((void (*)(val*, long))(var1->class->vft[COLOR_string__Buffer__with_capacity]))(var1, var_i) /* with_capacity on */; -CHECK_NEW_string__Buffer(var1); -var_s = var1; -for(;;) { -var3 = 0; -{ /* Inline kernel#Int#> (var_i,var3) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (!var6) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); -} -var7 = var_i > var3; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var1 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var1 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 180); +show_backtrace(1); +} else { +{ /* Inline string#FlatText#length (var1) on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 715); +show_backtrace(1); +} +var4 = var1->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var2 = var4; +RET_LABEL3:(void)0; +} +} +var5 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +{ +{ /* Inline kernel#Int#== (var2,var5) on */ +var9 = var2 == var5; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +var6 = var7; +} +if (var6){ +{ +var10 = stream__BufferedIStream__eof(self); +} +var11 = !var10; +if (var11){ +{ +file__IFStream__fill_buffer(self); /* Direct call file#IFStream#fill_buffer on */ +} +{ +var12 = stream__BufferedIStream__read(self, var_i); +} +var = var12; +goto RET_LABEL; +} else { +} +if (varonce) { +var13 = varonce; +} else { +var14 = ""; +var15 = 0; +var16 = string__NativeString__to_s_with_length(var14, var15); +var13 = var16; +varonce = var13; } -var_ = var4; -if (var4){ -var8 = ((short int (*)(val*))(self->class->vft[COLOR_stream__IStream__eof]))(self) /* eof on */; -var9 = !var8; -var2 = var9; +var = var13; +goto RET_LABEL; } else { -var2 = var_; -} -if (!var2) break; -var10 = ((long (*)(val*))(self->class->vft[COLOR_stream__IStream__read_char]))(self) /* read_char on */; -var_c = var10; -var11 = 0; -{ /* Inline kernel#Int#>= (var_c,var11) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var14 = 1; /* easy isa OTHER*/ -if (!var14) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); -} -var17 = var_c >= var11; -var12 = var17; -goto RET_LABEL13; -RET_LABEL13:(void)0; -} -if (var12){ -{ /* Inline kernel#Int#ascii (var_c) */ -var20 = var_c; -var18 = var20; +} +var17 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +{ +{ /* Inline kernel#Int#+ (var17,var_i) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var20 = 1; /* easy isa OTHER*/ +if (unlikely(!var20)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var21 = var17 + var_i; +var18 = var21; goto RET_LABEL19; RET_LABEL19:(void)0; } -var21 = BOX_kernel__Char(var18); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_s->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_s, var21) /* add on */; -var22 = 1; -{ /* Inline kernel#Int#- (var_i,var22) */ -var25 = var_i - var22; +} +var22 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var22 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 187); +show_backtrace(1); +} else { +{ /* Inline string#FlatText#length (var22) on */ +if (unlikely(var22 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 715); +show_backtrace(1); +} +var25 = var22->attrs[COLOR_string__FlatText___length].l; /* _length on */ var23 = var25; -goto RET_LABEL24; RET_LABEL24:(void)0; } -var_i = var23; +} +{ +{ /* Inline kernel#Int#>= (var18,var23) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var28 = 1; /* easy isa OTHER*/ +if (unlikely(!var28)) { +var_class_name31 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372); +show_backtrace(1); +} +var32 = var18 >= var23; +var26 = var32; +goto RET_LABEL27; +RET_LABEL27:(void)0; +} +} +if (var26){ +var33 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +var_from = var33; +var34 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var34 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 189); +show_backtrace(1); +} else { +{ /* Inline string#FlatText#length (var34) on */ +if (unlikely(var34 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 715); +show_backtrace(1); +} +var37 = var34->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var35 = var37; +RET_LABEL36:(void)0; +} +} +self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var35; /* _buffer_pos on */ +var38 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var38 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 190); +show_backtrace(1); +} else { +var39 = string__Text__substring_from(var38, var_from); +} +{ +var40 = string__FlatBuffer__to_s(var39); +} +var = var40; +goto RET_LABEL; } else { } -CONTINUE_label: (void)0; +var_ = self; +var41 = var_->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +{ +{ /* Inline kernel#Int#+ (var41,var_i) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var44 = 1; /* easy isa OTHER*/ +if (unlikely(!var44)) { +var_class_name47 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var48 = var41 + var_i; +var42 = var48; +goto RET_LABEL43; +RET_LABEL43:(void)0; } -BREAK_label: (void)0; -var26 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__Object__to_s]))(var_s) /* to_s on */; -var = var26; -goto RET_LABEL; -RET_LABEL:; -return var; } -/* method stream#IStream#read for (self: Object, Int): String */ -val* VIRTUAL_stream__IStream__read(val* self, long p0) { -val* var /* : String */; -val* var1 /* : String */; -var1 = stream__IStream__read(self, p0); -var = var1; -RET_LABEL:; -return var; +var_->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var42; /* _buffer_pos on */ +var49 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +var50 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +{ +{ /* Inline kernel#Int#- (var50,var_i) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var53 = 1; /* easy isa OTHER*/ +if (unlikely(!var53)) { +var_class_name56 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var57 = var50 - var_i; +var51 = var57; +goto RET_LABEL52; +RET_LABEL52:(void)0; } -/* method stream#IStream#read_line for (self: IStream): String */ -val* stream__IStream__read_line(val* self) { -val* var /* : String */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var3 /* : Buffer */; -val* var_s /* var s: Buffer */; -val* var4 /* : String */; -var1 = ((short int (*)(val*))(self->class->vft[COLOR_stream__IStream__eof]))(self) /* eof on */; -var2 = !var1; -if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/stream.nit", 47); -exit(1); } -var3 = NEW_string__Buffer(&type_string__Buffer); -((void (*)(val*))(var3->class->vft[COLOR_string__Buffer__init]))(var3) /* init on */; -CHECK_NEW_string__Buffer(var3); -var_s = var3; -((void (*)(val*, val*))(self->class->vft[COLOR_stream__IStream__append_line_to]))(self, var_s) /* append_line_to on */; -var4 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__Object__to_s]))(var_s) /* to_s on */; -var = var4; +if (var49 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 193); +show_backtrace(1); +} else { +var58 = string__FlatBuffer__substring(var49, var51, var_i); +} +{ +var59 = string__FlatBuffer__to_s(var58); +} +var = var59; goto RET_LABEL; RET_LABEL:; return var; } -/* method stream#IStream#read_line for (self: Object): String */ -val* VIRTUAL_stream__IStream__read_line(val* self) { +/* method stream#BufferedIStream#read for (self: Object, Int): String */ +val* VIRTUAL_stream__BufferedIStream__read(val* self, long p0) { val* var /* : String */; val* var1 /* : String */; -var1 = stream__IStream__read_line(self); +var1 = stream__BufferedIStream__read(self, p0); var = var1; RET_LABEL:; return var; } -/* method stream#IStream#read_all for (self: IStream): String */ -val* stream__IStream__read_all(val* self) { +/* method stream#BufferedIStream#read_all for (self: BufferedIStream): String */ +val* stream__BufferedIStream__read_all(val* self) { val* var /* : String */; -val* var1 /* : Buffer */; -val* var_s /* var s: Buffer */; +val* var1 /* : FlatBuffer */; +val* var_s /* var s: FlatBuffer */; short int var2 /* : Bool */; short int var3 /* : Bool */; long var4 /* : Int */; -long var_c /* var c: Int */; -long var5 /* : Int */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; +long var_j /* var j: Int */; +val* var5 /* : nullable FlatBuffer */; +long var6 /* : Int */; +long var8 /* : Int */; +long var_k /* var k: Int */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; int cltype; int idtype; -short int var9 /* : Bool */; -char var10 /* : Char */; -char var12 /* : Char */; -val* var13 /* : nullable Object */; -val* var14 /* : String */; -var1 = NEW_string__Buffer(&type_string__Buffer); -((void (*)(val*))(var1->class->vft[COLOR_string__Buffer__init]))(var1) /* init on */; -CHECK_NEW_string__Buffer(var1); +const char* var_class_name; +short int var12 /* : Bool */; +val* var13 /* : nullable FlatBuffer */; +char var14 /* : Char */; +long var15 /* : Int */; +long var16 /* : Int */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +const char* var_class_name21; +long var22 /* : Int */; +val* var24 /* : String */; +var1 = NEW_string__FlatBuffer(&type_string__FlatBuffer); +{ +((void (*)(val*))(var1->class->vft[COLOR_kernel__Object__init]))(var1) /* init on */; +} var_s = var1; for(;;) { -var2 = ((short int (*)(val*))(self->class->vft[COLOR_stream__IStream__eof]))(self) /* eof on */; +{ +var2 = stream__BufferedIStream__eof(self); +} var3 = !var2; -if (!var3) break; -var4 = ((long (*)(val*))(self->class->vft[COLOR_stream__IStream__read_char]))(self) /* read_char on */; -var_c = var4; -var5 = 0; -{ /* Inline kernel#Int#>= (var_c,var5) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (!var8) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); -} -var9 = var_c >= var5; -var6 = var9; -goto RET_LABEL7; +if (var3){ +var4 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +var_j = var4; +var5 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var5 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 201); +show_backtrace(1); +} else { +{ /* Inline string#FlatText#length (var5) on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 715); +show_backtrace(1); +} +var8 = var5->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var6 = var8; RET_LABEL7:(void)0; } -if (var6){ -{ /* Inline kernel#Int#ascii (var_c) */ -var12 = var_c; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; -} -var13 = BOX_kernel__Char(var10); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_s->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_s, var13) /* add on */; -} else { -} -CONTINUE_label: (void)0; -} -BREAK_label: (void)0; -var14 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__Object__to_s]))(var_s) /* to_s on */; -var = var14; -goto RET_LABEL; -RET_LABEL:; -return var; } -/* method stream#IStream#read_all for (self: Object): String */ -val* VIRTUAL_stream__IStream__read_all(val* self) { -val* var /* : String */; -val* var1 /* : String */; -var1 = stream__IStream__read_all(self); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#IStream#append_line_to for (self: IStream, Buffer) */ -void stream__IStream__append_line_to(val* self, val* p0) { -val* var_s /* var s: Buffer */; -long var /* : Int */; -long var_x /* var x: Int */; -long var1 /* : Int */; -long var2 /* : Int */; -long var4 /* : Int */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -char var9 /* : Char */; -char var11 /* : Char */; -char var_c /* var c: Char */; -val* var12 /* : nullable Object */; -char var13 /* : Char */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -var_s = p0; +var_k = var6; for(;;) { -var = ((long (*)(val*))(self->class->vft[COLOR_stream__IStream__read_char]))(self) /* read_char on */; -var_x = var; -var1 = 1; -{ /* Inline kernel#Int#unary - (var1) */ -var4 = -var1; -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +{ +{ /* Inline kernel#Int#< (var_j,var_k) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var11 = 1; /* easy isa OTHER*/ +if (unlikely(!var11)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var12 = var_j < var_k; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; } -{ /* Inline kernel#Int#== (var_x,var2) */ -var7 = var_x == var2; -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; } -if (var5){ -var8 = ((short int (*)(val*))(self->class->vft[COLOR_stream__IStream__eof]))(self) /* eof on */; -if (var8){ -goto RET_LABEL; +if (var9){ +var13 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var13 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 203); +show_backtrace(1); } else { +var14 = string__FlatBuffer___91d_93d(var13, var_j); } -} else { -{ /* Inline kernel#Int#ascii (var_x) */ -var11 = var_x; -var9 = var11; -goto RET_LABEL10; -RET_LABEL10:(void)0; +{ +string__FlatBuffer__add(var_s, var14); /* Direct call string#FlatBuffer#add on */ } -var_c = var9; -var12 = BOX_kernel__Char(var_c); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_s->class->vft[COLOR_abstract_collection__Sequence__push]))(var_s, var12) /* push on */; -var13 = '\n'; -{ /* Inline kernel#Char#== (var_c,var13) */ -var16 = var_c == var13; -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; -} -if (var14){ -goto RET_LABEL; -} else { +var15 = 1; +{ +{ /* Inline kernel#Int#+ (var_j,var15) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var18 = 1; /* easy isa OTHER*/ +if (unlikely(!var18)) { +var_class_name21 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); } +var22 = var_j + var15; +var16 = var22; +goto RET_LABEL17; +RET_LABEL17:(void)0; } -CONTINUE_label: (void)0; } -BREAK_label: (void)0; -RET_LABEL:; +var_j = var16; +} else { +goto BREAK_label; } -/* method stream#IStream#append_line_to for (self: Object, Buffer) */ -void VIRTUAL_stream__IStream__append_line_to(val* self, val* p0) { -stream__IStream__append_line_to(self, p0); -RET_LABEL:; } -/* method stream#IStream#eof for (self: IStream): Bool */ -short int stream__IStream__eof(val* self) { -short int var /* : Bool */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/stream.nit", 79); -exit(1); -RET_LABEL:; -return var; +BREAK_label: (void)0; +self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var_j; /* _buffer_pos on */ +{ +file__IFStream__fill_buffer(self); /* Direct call file#IFStream#fill_buffer on */ } -/* method stream#IStream#eof for (self: Object): Bool */ -short int VIRTUAL_stream__IStream__eof(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = stream__IStream__eof(self); -var = var1; -RET_LABEL:; -return var; +} else { +goto BREAK_label23; } -/* method stream#OStream#write for (self: OStream, String) */ -void stream__OStream__write(val* self, val* p0) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/stream.nit", 86); -exit(1); -RET_LABEL:; } -/* method stream#OStream#write for (self: Object, String) */ -void VIRTUAL_stream__OStream__write(val* self, val* p0) { -stream__OStream__write(self, p0); -RET_LABEL:; +BREAK_label23: (void)0; +{ +var24 = string__FlatBuffer__to_s(var_s); } -/* method stream#OStream#is_writable for (self: OStream): Bool */ -short int stream__OStream__is_writable(val* self) { -short int var /* : Bool */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/stream.nit", 89); -exit(1); +var = var24; +goto RET_LABEL; RET_LABEL:; return var; } -/* method stream#OStream#is_writable for (self: Object): Bool */ -short int VIRTUAL_stream__OStream__is_writable(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = stream__OStream__is_writable(self); +/* method stream#BufferedIStream#read_all for (self: Object): String */ +val* VIRTUAL_stream__BufferedIStream__read_all(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = stream__BufferedIStream__read_all(self); var = var1; RET_LABEL:; return var; } -/* method stream#BufferedIStream#read_char for (self: BufferedIStream): Int */ -long stream__BufferedIStream__read_char(val* self) { +/* method stream#BufferedIStream#append_line_to for (self: BufferedIStream, Buffer) */ +void stream__BufferedIStream__append_line_to(val* self, val* p0) { +val* var_s /* var s: Buffer */; long var /* : Int */; +long var_i /* var i: Int */; short int var1 /* : Bool */; -short int var2 /* : Bool */; +val* var2 /* : nullable FlatBuffer */; long var3 /* : Int */; -val* var4 /* : nullable Buffer */; long var5 /* : Int */; short int var6 /* : Bool */; short int var8 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var9 /* : Bool */; -long var10 /* : Int */; -val* var11 /* : nullable Buffer */; -long var12 /* : Int */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -short int var18 /* : Bool */; -long var19 /* : Int */; -long var20 /* : Int */; +short int var_ /* var : Bool */; +val* var10 /* : nullable FlatBuffer */; +val* var11 /* : Sequence[Char] */; +val* var13 /* : Sequence[Char] */; +val* var14 /* : nullable Object */; +char var15 /* : Char */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var19 /* : Bool */; +char var20 /* : Char */; +short int var21 /* : Bool */; long var22 /* : Int */; -val* var23 /* : nullable Buffer */; -long var24 /* : Int */; -val* var25 /* : nullable Object */; -char var26 /* : Char */; -char var_c /* var c: Char */; -val* var_ /* var : BufferedIStream */; -long var27 /* : Int */; -long var28 /* : Int */; +long var23 /* : Int */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +const char* var_class_name28; long var29 /* : Int */; -long var31 /* : Int */; -long var32 /* : Int */; -long var34 /* : Int */; -var1 = ((short int (*)(val*))(self->class->vft[COLOR_stream__IStream__eof]))(self) /* eof on */; -var2 = !var1; -if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/stream.nit", 98); -exit(1); -} -var3 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -var4 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 99); -exit(1); +long var30 /* : Int */; +short int var31 /* : Bool */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +const char* var_class_name36; +short int var37 /* : Bool */; +long var38 /* : Int */; +long var40 /* : Int */; +long var41 /* : Int */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +const char* var_class_name46; +long var47 /* : Int */; +long var48 /* : Int */; +long var49 /* : Int */; +short int var51 /* : Bool */; +int cltype52; +int idtype53; +const char* var_class_name54; +long var55 /* : Int */; +long var56 /* : Int */; +long var_j /* var j: Int */; +short int var57 /* : Bool */; +short int var59 /* : Bool */; +int cltype60; +int idtype61; +const char* var_class_name62; +short int var63 /* : Bool */; +val* var64 /* : nullable FlatBuffer */; +val* var65 /* : Sequence[Char] */; +val* var67 /* : Sequence[Char] */; +val* var68 /* : nullable Object */; +char var69 /* : Char */; +long var70 /* : Int */; +long var71 /* : Int */; +short int var73 /* : Bool */; +int cltype74; +int idtype75; +const char* var_class_name76; +long var77 /* : Int */; +val* var79 /* : nullable FlatBuffer */; +long var80 /* : Int */; +long var82 /* : Int */; +short int var83 /* : Bool */; +short int var85 /* : Bool */; +int cltype86; +int idtype87; +const char* var_class_name88; +short int var89 /* : Bool */; +long var90 /* : Int */; +long var91 /* : Int */; +short int var93 /* : Bool */; +int cltype94; +int idtype95; +const char* var_class_name96; +long var97 /* : Int */; +short int var98 /* : Bool */; +short int var100 /* : Bool */; +var_s = p0; +for(;;) { +var = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +var_i = var; +for(;;) { +var2 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 217); +show_backtrace(1); } else { -var5 = ((long (*)(val*))(var4->class->vft[COLOR_abstract_collection__Collection__length]))(var4) /* length on */; +{ /* Inline string#FlatText#length (var2) on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 715); +show_backtrace(1); } -{ /* Inline kernel#Int#>= (var3,var5) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (!var8) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); +var5 = var2->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var3 = var5; +RET_LABEL4:(void)0; } -var9 = var3 >= var5; +} +{ +{ /* Inline kernel#Int#< (var_i,var3) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var8 = 1; /* easy isa OTHER*/ +if (unlikely(!var8)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var9 = var_i < var3; var6 = var9; goto RET_LABEL7; RET_LABEL7:(void)0; } +} +var_ = var6; if (var6){ -((void (*)(val*))(self->class->vft[COLOR_stream__BufferedIStream__fill_buffer]))(self) /* fill_buffer on */; -} else { +var10 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var10 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 217); +show_backtrace(1); +} else { +{ /* Inline string#FlatBuffer#chars (var10) on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1406); +show_backtrace(1); +} +var13 = var10->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on */ +if (unlikely(var13 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1406); +show_backtrace(1); +} +var11 = var13; +RET_LABEL12:(void)0; } -var10 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -var11 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 102); -exit(1); -} else { -var12 = ((long (*)(val*))(var11->class->vft[COLOR_abstract_collection__Collection__length]))(var11) /* length on */; -} -{ /* Inline kernel#Int#>= (var10,var12) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var15 = 1; /* easy isa OTHER*/ -if (!var15) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); -} -var18 = var10 >= var12; -var13 = var18; -goto RET_LABEL14; -RET_LABEL14:(void)0; -} -if (var13){ -var19 = 1; -{ /* Inline kernel#Int#unary - (var19) */ -var22 = -var19; -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; -} -var = var20; -goto RET_LABEL; -} else { } -var23 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -var24 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -if (var23 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 105); -exit(1); -} else { -var25 = ((val* (*)(val*, long))(var23->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var23, var24) /* [] on */; +{ +var14 = ((val* (*)(val*, long))(var11->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var11, var_i) /* [] on */; } -var26 = ((struct instance_kernel__Char*)var25)->value; /* autounbox from nullable Object to Char */; -var_c = var26; -var_ = self; -var27 = var_->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -var28 = 1; -{ /* Inline kernel#Int#+ (var27,var28) */ -var31 = var27 + var28; -var29 = var31; -goto RET_LABEL30; -RET_LABEL30:(void)0; -} -var_->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var29; /* _buffer_pos on */ -{ /* Inline kernel#Char#ascii (var_c) */ -var34 = (unsigned char)var_c; -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; -} -var = var32; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#BufferedIStream#read_char for (self: Object): Int */ -long VIRTUAL_stream__BufferedIStream__read_char(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__BufferedIStream__read_char(self); -var = var1; -RET_LABEL:; -return var; +var15 = '\n'; +{ +{ /* Inline kernel#Char#!= (var14,var15) on */ +var19 = (var14 != NULL) && (var14->class == &class_kernel__Char); +if (var19) { +var20 = ((struct instance_kernel__Char*)var14)->value; /* autounbox from nullable Object to Char */; +var19 = (var20 == var15); } -/* method stream#BufferedIStream#read for (self: BufferedIStream, Int): String */ -val* stream__BufferedIStream__read(val* self, long p0) { -val* var /* : String */; -long var_i /* var i: Int */; -val* var1 /* : Buffer */; -val* var_s /* var s: Buffer */; -long var2 /* : Int */; -long var_j /* var j: Int */; -val* var3 /* : nullable Buffer */; -long var4 /* : Int */; -long var_k /* var k: Int */; -long var5 /* : Int */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; -int cltype; -int idtype; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -val* var17 /* : String */; -long var18 /* : Int */; -val* var19 /* : nullable Buffer */; -long var20 /* : Int */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -short int var27 /* : Bool */; -short int var_ /* var : Bool */; -long var28 /* : Int */; -short int var29 /* : Bool */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -short int var34 /* : Bool */; -val* var35 /* : nullable Buffer */; -val* var36 /* : nullable Object */; -long var37 /* : Int */; -long var38 /* : Int */; -long var40 /* : Int */; -long var41 /* : Int */; -long var42 /* : Int */; -long var44 /* : Int */; -val* var46 /* : String */; -var_i = p0; -var1 = NEW_string__Buffer(&type_string__Buffer); -((void (*)(val*, long))(var1->class->vft[COLOR_string__Buffer__with_capacity]))(var1, var_i) /* with_capacity on */; -CHECK_NEW_string__Buffer(var1); -var_s = var1; -var2 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -var_j = var2; -var3 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 114); -exit(1); -} else { -var4 = ((long (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__length]))(var3) /* length on */; +var21 = !var19; +var17 = var21; +goto RET_LABEL18; +RET_LABEL18:(void)0; } -var_k = var4; -for(;;) { -var5 = 0; -{ /* Inline kernel#Int#> (var_i,var5) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (!var8) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); -} -var9 = var_i > var5; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var16 = var17; } -if (!var6) break; -{ /* Inline kernel#Int#>= (var_j,var_k) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var12 = 1; /* easy isa OTHER*/ -if (!var12) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); -} -var15 = var_j >= var_k; -var10 = var15; -goto RET_LABEL11; -RET_LABEL11:(void)0; -} -if (var10){ -((void (*)(val*))(self->class->vft[COLOR_stream__BufferedIStream__fill_buffer]))(self) /* fill_buffer on */; -var16 = ((short int (*)(val*))(self->class->vft[COLOR_stream__IStream__eof]))(self) /* eof on */; -if (var16){ -var17 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__Object__to_s]))(var_s) /* to_s on */; -var = var17; -goto RET_LABEL; +var1 = var16; } else { +var1 = var_; } -var18 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -var_j = var18; -var19 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 120); -exit(1); -} else { -var20 = ((long (*)(val*))(var19->class->vft[COLOR_abstract_collection__Collection__length]))(var19) /* length on */; +if (var1){ +var22 = 1; +{ +{ /* Inline kernel#Int#+ (var_i,var22) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var25 = 1; /* easy isa OTHER*/ +if (unlikely(!var25)) { +var_class_name28 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var29 = var_i + var22; +var23 = var29; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -var_k = var20; -} else { } -for(;;) { -{ /* Inline kernel#Int#< (var_j,var_k) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var24 = 1; /* easy isa OTHER*/ -if (!var24) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var27 = var_j < var_k; -var22 = var27; -goto RET_LABEL23; -RET_LABEL23:(void)0; -} -var_ = var22; -if (var22){ -var28 = 0; -{ /* Inline kernel#Int#> (var_i,var28) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var31 = 1; /* easy isa OTHER*/ -if (!var31) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); -} -var34 = var_i > var28; -var29 = var34; -goto RET_LABEL30; -RET_LABEL30:(void)0; -} -var21 = var29; +var_i = var23; } else { -var21 = var_; +goto BREAK_label; } -if (!var21) break; -var35 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var35 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 123); -exit(1); -} else { -var36 = ((val* (*)(val*, long))(var35->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var35, var_j) /* [] on */; } -((void (*)(val*, val*))(var_s->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_s, var36) /* add on */; -var37 = 1; -{ /* Inline kernel#Int#+ (var_j,var37) */ -var40 = var_j + var37; +BREAK_label: (void)0; +var30 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +{ +{ /* Inline kernel#Int#> (var_i,var30) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var33 = 1; /* easy isa OTHER*/ +if (unlikely(!var33)) { +var_class_name36 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); +show_backtrace(1); +} +var37 = var_i > var30; +var31 = var37; +goto RET_LABEL32; +RET_LABEL32:(void)0; +} +} +if (var31){ +{ +{ /* Inline string#FlatText#length (var_s) on */ +var40 = var_s->attrs[COLOR_string__FlatText___length].l; /* _length on */ var38 = var40; -goto RET_LABEL39; RET_LABEL39:(void)0; } -var_j = var38; -var41 = 1; -{ /* Inline kernel#Int#- (var_i,var41) */ -var44 = var_i - var41; -var42 = var44; -goto RET_LABEL43; -RET_LABEL43:(void)0; -} -var_i = var42; -CONTINUE_label: (void)0; -} -BREAK_label: (void)0; -CONTINUE_label45: (void)0; -} -BREAK_label45: (void)0; -self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var_j; /* _buffer_pos on */ -var46 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__Object__to_s]))(var_s) /* to_s on */; -var = var46; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#BufferedIStream#read for (self: Object, Int): String */ -val* VIRTUAL_stream__BufferedIStream__read(val* self, long p0) { -val* var /* : String */; -val* var1 /* : String */; -var1 = stream__BufferedIStream__read(self, p0); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#BufferedIStream#read_all for (self: BufferedIStream): String */ -val* stream__BufferedIStream__read_all(val* self) { -val* var /* : String */; -val* var1 /* : Buffer */; -val* var_s /* var s: Buffer */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -long var4 /* : Int */; -long var_j /* var j: Int */; -val* var5 /* : nullable Buffer */; -long var6 /* : Int */; -long var_k /* var k: Int */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -int cltype; -int idtype; -short int var10 /* : Bool */; -val* var11 /* : nullable Buffer */; -val* var12 /* : nullable Object */; -long var13 /* : Int */; -long var14 /* : Int */; -long var16 /* : Int */; -val* var18 /* : String */; -var1 = NEW_string__Buffer(&type_string__Buffer); -((void (*)(val*))(var1->class->vft[COLOR_string__Buffer__init]))(var1) /* init on */; -CHECK_NEW_string__Buffer(var1); -var_s = var1; -for(;;) { -var2 = ((short int (*)(val*))(self->class->vft[COLOR_stream__IStream__eof]))(self) /* eof on */; -var3 = !var2; -if (!var3) break; -var4 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -var_j = var4; -var5 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 137); -exit(1); -} else { -var6 = ((long (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__length]))(var5) /* length on */; -} -var_k = var6; -for(;;) { -{ /* Inline kernel#Int#< (var_j,var_k) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var9 = 1; /* easy isa OTHER*/ -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var10 = var_j < var_k; -var7 = var10; -goto RET_LABEL8; -RET_LABEL8:(void)0; -} -if (!var7) break; -var11 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 139); -exit(1); -} else { -var12 = ((val* (*)(val*, long))(var11->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var11, var_j) /* [] on */; -} -((void (*)(val*, val*))(var_s->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_s, var12) /* add on */; -var13 = 1; -{ /* Inline kernel#Int#+ (var_j,var13) */ -var16 = var_j + var13; -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; -} -var_j = var14; -CONTINUE_label: (void)0; -} -BREAK_label: (void)0; -self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var_j; /* _buffer_pos on */ -((void (*)(val*))(self->class->vft[COLOR_stream__BufferedIStream__fill_buffer]))(self) /* fill_buffer on */; -CONTINUE_label17: (void)0; -} -BREAK_label17: (void)0; -var18 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__Object__to_s]))(var_s) /* to_s on */; -var = var18; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#BufferedIStream#read_all for (self: Object): String */ -val* VIRTUAL_stream__BufferedIStream__read_all(val* self) { -val* var /* : String */; -val* var1 /* : String */; -var1 = stream__BufferedIStream__read_all(self); -var = var1; -RET_LABEL:; -return var; } -/* method stream#BufferedIStream#append_line_to for (self: BufferedIStream, Buffer) */ -void stream__BufferedIStream__append_line_to(val* self, val* p0) { -val* var_s /* var s: Buffer */; -long var /* : Int */; -long var_i /* var i: Int */; -short int var1 /* : Bool */; -val* var2 /* : nullable Buffer */; -long var3 /* : Int */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; -int cltype; -int idtype; -short int var7 /* : Bool */; -short int var_ /* var : Bool */; -val* var8 /* : nullable Buffer */; -val* var9 /* : nullable Object */; -char var10 /* : Char */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; -char var14 /* : Char */; -short int var15 /* : Bool */; -long var16 /* : Int */; -long var17 /* : Int */; -long var19 /* : Int */; -long var20 /* : Int */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -short int var26 /* : Bool */; -long var27 /* : Int */; -long var28 /* : Int */; -long var30 /* : Int */; -long var31 /* : Int */; -long var32 /* : Int */; -long var34 /* : Int */; -long var35 /* : Int */; -long var_j /* var j: Int */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -short int var41 /* : Bool */; -val* var42 /* : nullable Buffer */; -val* var43 /* : nullable Object */; -long var44 /* : Int */; -long var45 /* : Int */; -long var47 /* : Int */; -val* var49 /* : nullable Buffer */; -long var50 /* : Int */; -short int var51 /* : Bool */; -short int var53 /* : Bool */; -int cltype54; -int idtype55; -short int var56 /* : Bool */; -long var57 /* : Int */; -long var58 /* : Int */; -long var60 /* : Int */; -short int var61 /* : Bool */; -var_s = p0; -for(;;) { -var = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -var_i = var; -for(;;) { -var2 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 153); -exit(1); -} else { -var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on */; -} -{ /* Inline kernel#Int#< (var_i,var3) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (!var6) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var7 = var_i < var3; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; -} -var_ = var4; -if (var4){ -var8 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 153); -exit(1); -} else { -var9 = ((val* (*)(val*, long))(var8->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var8, var_i) /* [] on */; -} -var10 = '\n'; -{ /* Inline kernel#Char#!= (var9,var10) */ -var13 = (var9 != NULL) && (var9->class == &class_kernel__Char); -if (var13) { -var14 = ((struct instance_kernel__Char*)var9)->value; /* autounbox from nullable Object to Char */; -var13 = (var14 == var10); -} -var15 = !var13; -var11 = var15; -goto RET_LABEL12; -RET_LABEL12:(void)0; -} -var1 = var11; -} else { -var1 = var_; -} -if (!var1) break; -var16 = 1; -{ /* Inline kernel#Int#+ (var_i,var16) */ -var19 = var_i + var16; -var17 = var19; -goto RET_LABEL18; -RET_LABEL18:(void)0; -} -var_i = var17; -CONTINUE_label: (void)0; -} -BREAK_label: (void)0; -var20 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -{ /* Inline kernel#Int#> (var_i,var20) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var23 = 1; /* easy isa OTHER*/ -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); -} -var26 = var_i > var20; -var21 = var26; -goto RET_LABEL22; -RET_LABEL22:(void)0; -} -if (var21){ -var27 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on */; -{ /* Inline kernel#Int#+ (var27,var_i) */ -var30 = var27 + var_i; -var28 = var30; -goto RET_LABEL29; -RET_LABEL29:(void)0; -} -var31 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -{ /* Inline kernel#Int#- (var28,var31) */ -var34 = var28 - var31; -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; -} -((void (*)(val*, long))(var_s->class->vft[COLOR_array__AbstractArray__enlarge]))(var_s, var32) /* enlarge on */; -var35 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ -var_j = var35; +{ +{ /* Inline kernel#Int#+ (var38,var_i) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var43 = 1; /* easy isa OTHER*/ +if (unlikely(!var43)) { +var_class_name46 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var47 = var38 + var_i; +var41 = var47; +goto RET_LABEL42; +RET_LABEL42:(void)0; +} +} +var48 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +{ +{ /* Inline kernel#Int#- (var41,var48) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var51 = 1; /* easy isa OTHER*/ +if (unlikely(!var51)) { +var_class_name54 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var55 = var41 - var48; +var49 = var55; +goto RET_LABEL50; +RET_LABEL50:(void)0; +} +} +{ +string__FlatBuffer__enlarge(var_s, var49); /* Direct call string#FlatBuffer#enlarge on */ +} +var56 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ +var_j = var56; for(;;) { -{ /* Inline kernel#Int#< (var_j,var_i) */ +{ +{ /* Inline kernel#Int#< (var_j,var_i) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var38 = 1; /* easy isa OTHER*/ -if (!var38) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var41 = var_j < var_i; -var36 = var41; -goto RET_LABEL37; -RET_LABEL37:(void)0; -} -if (!var36) break; -var42 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var42 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 163); -exit(1); -} else { -var43 = ((val* (*)(val*, long))(var42->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var42, var_j) /* [] on */; -} -((void (*)(val*, val*))(var_s->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_s, var43) /* add on */; -var44 = 1; -{ /* Inline kernel#Int#+ (var_j,var44) */ -var47 = var_j + var44; -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; -} -var_j = var45; -CONTINUE_label48: (void)0; -} -BREAK_label48: (void)0; -} else { -} -var49 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ -if (var49 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 168); -exit(1); -} else { -var50 = ((long (*)(val*))(var49->class->vft[COLOR_abstract_collection__Collection__length]))(var49) /* length on */; -} -{ /* Inline kernel#Int#< (var_i,var50) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var53 = 1; /* easy isa OTHER*/ -if (!var53) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var56 = var_i < var50; -var51 = var56; -goto RET_LABEL52; -RET_LABEL52:(void)0; -} -if (var51){ -var57 = 1; -{ /* Inline kernel#Int#+ (var_i,var57) */ -var60 = var_i + var57; -var58 = var60; -goto RET_LABEL59; -RET_LABEL59:(void)0; -} -self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var58; /* _buffer_pos on */ +var59 = 1; /* easy isa OTHER*/ +if (unlikely(!var59)) { +var_class_name62 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var63 = var_j < var_i; +var57 = var63; +goto RET_LABEL58; +RET_LABEL58:(void)0; +} +} +if (var57){ +var64 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var64 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 227); +show_backtrace(1); +} else { +{ /* Inline string#FlatBuffer#chars (var64) on */ +if (unlikely(var64 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1406); +show_backtrace(1); +} +var67 = var64->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on */ +if (unlikely(var67 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 1406); +show_backtrace(1); +} +var65 = var67; +RET_LABEL66:(void)0; +} +} +{ +var68 = ((val* (*)(val*, long))(var65->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var65, var_j) /* [] on */; +} +{ +var69 = ((struct instance_kernel__Char*)var68)->value; /* autounbox from nullable Object to Char */; +string__FlatBuffer__add(var_s, var69); /* Direct call string#FlatBuffer#add on */ +} +var70 = 1; +{ +{ /* Inline kernel#Int#+ (var_j,var70) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var73 = 1; /* easy isa OTHER*/ +if (unlikely(!var73)) { +var_class_name76 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var77 = var_j + var70; +var71 = var77; +goto RET_LABEL72; +RET_LABEL72:(void)0; +} +} +var_j = var71; +} else { +goto BREAK_label78; +} +} +BREAK_label78: (void)0; +} else { +} +var79 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ +if (var79 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 232); +show_backtrace(1); +} else { +{ /* Inline string#FlatText#length (var79) on */ +if (unlikely(var79 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 715); +show_backtrace(1); +} +var82 = var79->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var80 = var82; +RET_LABEL81:(void)0; +} +} +{ +{ /* Inline kernel#Int#< (var_i,var80) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var85 = 1; /* easy isa OTHER*/ +if (unlikely(!var85)) { +var_class_name88 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name88); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var89 = var_i < var80; +var83 = var89; +goto RET_LABEL84; +RET_LABEL84:(void)0; +} +} +if (var83){ +var90 = 1; +{ +{ /* Inline kernel#Int#+ (var_i,var90) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var93 = 1; /* easy isa OTHER*/ +if (unlikely(!var93)) { +var_class_name96 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var97 = var_i + var90; +var91 = var97; +goto RET_LABEL92; +RET_LABEL92:(void)0; +} +} +self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var91; /* _buffer_pos on */ goto RET_LABEL; } else { self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var_i; /* _buffer_pos on */ -var61 = ((short int (*)(val*))(self->class->vft[COLOR_stream__BufferedIStream__end_reached]))(self) /* end_reached on */; -if (var61){ +{ +{ /* Inline file#IFStream#end_reached (self) on */ +var100 = self->attrs[COLOR_file__IFStream___end_reached].s; /* _end_reached on */ +var98 = var100; +RET_LABEL99:(void)0; +} +} +if (var98){ goto RET_LABEL; } else { -((void (*)(val*))(self->class->vft[COLOR_stream__BufferedIStream__fill_buffer]))(self) /* fill_buffer on */; +{ +file__IFStream__fill_buffer(self); /* Direct call file#IFStream#fill_buffer on */ +} } } -CONTINUE_label62: (void)0; } -BREAK_label62: (void)0; RET_LABEL:; } /* method stream#BufferedIStream#append_line_to for (self: Object, Buffer) */ void VIRTUAL_stream__BufferedIStream__append_line_to(val* self, val* p0) { -stream__BufferedIStream__append_line_to(self, p0); +stream__BufferedIStream__append_line_to(self, p0); /* Direct call stream#BufferedIStream#append_line_to on */ RET_LABEL:; } /* method stream#BufferedIStream#eof for (self: BufferedIStream): Bool */ @@ -1037,40 +892,63 @@ short int stream__BufferedIStream__eof(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; long var2 /* : Int */; -val* var3 /* : nullable Buffer */; +val* var3 /* : nullable FlatBuffer */; long var4 /* : Int */; -short int var5 /* : Bool */; +long var6 /* : Int */; short int var7 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; -short int var8 /* : Bool */; +const char* var_class_name; +short int var10 /* : Bool */; short int var_ /* var : Bool */; -short int var9 /* : Bool */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; var2 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on */ var3 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on */ if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/stream.nit", 184); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/stream.nit", 248); +show_backtrace(1); } else { -var4 = ((long (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__length]))(var3) /* length on */; +{ /* Inline string#FlatText#length (var3) on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 715); +show_backtrace(1); } -{ /* Inline kernel#Int#>= (var2,var4) */ +var6 = var3->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +{ /* Inline kernel#Int#>= (var2,var4) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var7 = 1; /* easy isa OTHER*/ -if (!var7) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); -} -var8 = var2 >= var4; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; -} -var_ = var5; -if (var5){ -var9 = ((short int (*)(val*))(self->class->vft[COLOR_stream__BufferedIStream__end_reached]))(self) /* end_reached on */; -var1 = var9; +var9 = 1; /* easy isa OTHER*/ +if (unlikely(!var9)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372); +show_backtrace(1); +} +var10 = var2 >= var4; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +} +var_ = var7; +if (var7){ +{ +{ /* Inline file#IFStream#end_reached (self) on */ +var13 = self->attrs[COLOR_file__IFStream___end_reached].s; /* _end_reached on */ +var11 = var13; +RET_LABEL12:(void)0; +} +} +var1 = var11; } else { var1 = var_; } @@ -1088,43 +966,16 @@ var = var1; RET_LABEL:; return var; } -/* method stream#BufferedIStream#fill_buffer for (self: BufferedIStream) */ -void stream__BufferedIStream__fill_buffer(val* self) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/stream.nit", 192); -exit(1); -RET_LABEL:; -} -/* method stream#BufferedIStream#fill_buffer for (self: Object) */ -void VIRTUAL_stream__BufferedIStream__fill_buffer(val* self) { -stream__BufferedIStream__fill_buffer(self); -RET_LABEL:; -} -/* method stream#BufferedIStream#end_reached for (self: BufferedIStream): Bool */ -short int stream__BufferedIStream__end_reached(val* self) { -short int var /* : Bool */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/stream.nit", 195); -exit(1); -RET_LABEL:; -return var; -} -/* method stream#BufferedIStream#end_reached for (self: Object): Bool */ -short int VIRTUAL_stream__BufferedIStream__end_reached(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = stream__BufferedIStream__end_reached(self); -var = var1; -RET_LABEL:; -return var; -} /* method stream#BufferedIStream#prepare_buffer for (self: BufferedIStream, Int) */ void stream__BufferedIStream__prepare_buffer(val* self, long p0) { long var_capacity /* var capacity: Int */; -val* var /* : Buffer */; +val* var /* : FlatBuffer */; long var1 /* : Int */; var_capacity = p0; -var = NEW_string__Buffer(&type_string__Buffer); -((void (*)(val*, long))(var->class->vft[COLOR_string__Buffer__with_capacity]))(var, var_capacity) /* with_capacity on */; -CHECK_NEW_string__Buffer(var); +var = NEW_string__FlatBuffer(&type_string__FlatBuffer); +{ +string__FlatBuffer__with_capacity(var, var_capacity); /* Direct call string#FlatBuffer#with_capacity on */ +} self->attrs[COLOR_stream__BufferedIStream___buffer].val = var; /* _buffer on */ var1 = 0; self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var1; /* _buffer_pos on */ @@ -1132,488 +983,6 @@ RET_LABEL:; } /* method stream#BufferedIStream#prepare_buffer for (self: Object, Int) */ void VIRTUAL_stream__BufferedIStream__prepare_buffer(val* self, long p0) { -stream__BufferedIStream__prepare_buffer(self, p0); -RET_LABEL:; -} -/* method stream#BufferedIStream#init for (self: BufferedIStream) */ -void stream__BufferedIStream__init(val* self) { -RET_LABEL:; -} -/* method stream#BufferedIStream#init for (self: Object) */ -void VIRTUAL_stream__BufferedIStream__init(val* self) { -stream__BufferedIStream__init(self); -RET_LABEL:; -} -/* method stream#FDStream#fd for (self: FDStream): Int */ -long stream__FDStream__fd(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = self->attrs[COLOR_stream__FDStream___64dfd].l; /* @fd on */ -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDStream#fd for (self: Object): Int */ -long VIRTUAL_stream__FDStream__fd(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__FDStream__fd(self); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDStream#fd= for (self: FDStream, Int) */ -void stream__FDStream__fd_61d(val* self, long p0) { -self->attrs[COLOR_stream__FDStream___64dfd].l = p0; /* @fd on */ -RET_LABEL:; -} -/* method stream#FDStream#fd= for (self: Object, Int) */ -void VIRTUAL_stream__FDStream__fd_61d(val* self, long p0) { -stream__FDStream__fd_61d(self, p0); -RET_LABEL:; -} -/* method stream#FDStream#close for (self: FDStream) */ -void stream__FDStream__close(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var = ((long (*)(val*))(self->class->vft[COLOR_stream__FDStream__fd]))(self) /* fd on */; -var1 = ((long (*)(val*, long))(self->class->vft[COLOR_stream__FDStream__native_close]))(self, var) /* native_close on */; -var1; -RET_LABEL:; -} -/* method stream#FDStream#close for (self: Object) */ -void VIRTUAL_stream__FDStream__close(val* self) { -stream__FDStream__close(self); -RET_LABEL:; -} -/* method stream#FDStream#native_close for (self: FDStream, Int): Int */ -long stream__FDStream__native_close(val* self, long p0) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream_FDStream_FDStream_native_close_1(self, p0); -var = var1; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_close for (self: Object, Int): Int */ -long VIRTUAL_stream__FDStream__native_close(val* self, long p0) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__FDStream__native_close(self, p0); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_read_char for (self: FDStream, Int): Int */ -long stream__FDStream__native_read_char(val* self, long p0) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream_FDStream_FDStream_native_read_char_1(self, p0); -var = var1; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_read_char for (self: Object, Int): Int */ -long VIRTUAL_stream__FDStream__native_read_char(val* self, long p0) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__FDStream__native_read_char(self, p0); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_read for (self: FDStream, Int, NativeString, Int): Int */ -long stream__FDStream__native_read(val* self, long p0, char* p1, long p2) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream_FDStream_FDStream_native_read_3(self, p0, p1, p2); -var = var1; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_read for (self: Object, Int, NativeString, Int): Int */ -long VIRTUAL_stream__FDStream__native_read(val* self, long p0, char* p1, long p2) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__FDStream__native_read(self, p0, p1, p2); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_write for (self: FDStream, Int, NativeString, Int): Int */ -long stream__FDStream__native_write(val* self, long p0, char* p1, long p2) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream_FDStream_FDStream_native_write_3(self, p0, p1, p2); -var = var1; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_write for (self: Object, Int, NativeString, Int): Int */ -long VIRTUAL_stream__FDStream__native_write(val* self, long p0, char* p1, long p2) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__FDStream__native_write(self, p0, p1, p2); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_write_char for (self: FDStream, Int, Char): Int */ -long stream__FDStream__native_write_char(val* self, long p0, char p1) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream_FDStream_FDStream_native_write_char_2(self, p0, p1); -var = var1; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#FDStream#native_write_char for (self: Object, Int, Char): Int */ -long VIRTUAL_stream__FDStream__native_write_char(val* self, long p0, char p1) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__FDStream__native_write_char(self, p0, p1); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDStream#init for (self: FDStream, Int) */ -void stream__FDStream__init(val* self, long p0) { -long var_fd /* var fd: Int */; -var_fd = p0; -((void (*)(val*, long))(self->class->vft[COLOR_stream__FDStream__fd_61d]))(self, var_fd) /* fd= on */; -RET_LABEL:; -} -/* method stream#FDStream#init for (self: Object, Int) */ -void VIRTUAL_stream__FDStream__init(val* self, long p0) { -stream__FDStream__init(self, p0); -RET_LABEL:; -} -/* method stream#FDIStream#eof for (self: FDIStream): Bool */ -short int stream__FDIStream__eof(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_stream__FDIStream___64deof].s; /* @eof on */ -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDIStream#eof for (self: Object): Bool */ -short int VIRTUAL_stream__FDIStream__eof(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = stream__FDIStream__eof(self); -var = var1; +stream__BufferedIStream__prepare_buffer(self, p0); /* Direct call stream#BufferedIStream#prepare_buffer on */ RET_LABEL:; -return var; -} -/* method stream#FDIStream#eof= for (self: FDIStream, Bool) */ -void stream__FDIStream__eof_61d(val* self, short int p0) { -self->attrs[COLOR_stream__FDIStream___64deof].s = p0; /* @eof on */ -RET_LABEL:; -} -/* method stream#FDIStream#eof= for (self: Object, Bool) */ -void VIRTUAL_stream__FDIStream__eof_61d(val* self, short int p0) { -stream__FDIStream__eof_61d(self, p0); -RET_LABEL:; -} -/* method stream#FDIStream#read_char for (self: FDIStream): Int */ -long stream__FDIStream__read_char(val* self) { -long var /* : Int */; -long var1 /* : Int */; -long var2 /* : Int */; -long var_nb /* var nb: Int */; -long var3 /* : Int */; -long var4 /* : Int */; -long var6 /* : Int */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -var1 = ((long (*)(val*))(self->class->vft[COLOR_stream__FDStream__fd]))(self) /* fd on */; -var2 = ((long (*)(val*, long))(self->class->vft[COLOR_stream__FDStream__native_read_char]))(self, var1) /* native_read_char on */; -var_nb = var2; -var3 = 1; -{ /* Inline kernel#Int#unary - (var3) */ -var6 = -var3; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; -} -{ /* Inline kernel#Int#== (var_nb,var4) */ -var9 = var_nb == var4; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; -} -if (var7){ -var10 = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_stream__FDIStream__eof_61d]))(self, var10) /* eof= on */; -} else { -} -var = var_nb; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method stream#FDIStream#read_char for (self: Object): Int */ -long VIRTUAL_stream__FDIStream__read_char(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = stream__FDIStream__read_char(self); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDIStream#init for (self: FDIStream, Int) */ -void stream__FDIStream__init(val* self, long p0) { -long var_fd /* var fd: Int */; -var_fd = p0; -((void (*)(val*, long))(self->class->vft[COLOR_stream__FDStream__init]))(self, p0) /* init on */; -RET_LABEL:; -} -/* method stream#FDIStream#init for (self: Object, Int) */ -void VIRTUAL_stream__FDIStream__init(val* self, long p0) { -stream__FDIStream__init(self, p0); -RET_LABEL:; -} -/* method stream#FDOStream#is_writable for (self: FDOStream): Bool */ -short int stream__FDOStream__is_writable(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_stream__FDOStream___64dis_writable].s; /* @is_writable on */ -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDOStream#is_writable for (self: Object): Bool */ -short int VIRTUAL_stream__FDOStream__is_writable(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = stream__FDOStream__is_writable(self); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#FDOStream#is_writable= for (self: FDOStream, Bool) */ -void stream__FDOStream__is_writable_61d(val* self, short int p0) { -self->attrs[COLOR_stream__FDOStream___64dis_writable].s = p0; /* @is_writable on */ -RET_LABEL:; -} -/* method stream#FDOStream#is_writable= for (self: Object, Bool) */ -void VIRTUAL_stream__FDOStream__is_writable_61d(val* self, short int p0) { -stream__FDOStream__is_writable_61d(self, p0); -RET_LABEL:; -} -/* method stream#FDOStream#write for (self: FDOStream, String) */ -void stream__FDOStream__write(val* self, val* p0) { -val* var_s /* var s: String */; -long var /* : Int */; -char* var1 /* : NativeString */; -long var2 /* : Int */; -long var3 /* : Int */; -long var_nb /* var nb: Int */; -long var4 /* : Int */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; -int cltype; -int idtype; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -var_s = p0; -var = ((long (*)(val*))(self->class->vft[COLOR_stream__FDStream__fd]))(self) /* fd on */; -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 */; -var3 = ((long (*)(val*, long, char*, long))(self->class->vft[COLOR_stream__FDStream__native_write]))(self, var, var1, var2) /* native_write on */; -var_nb = var3; -var4 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on */; -{ /* Inline kernel#Int#< (var_nb,var4) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var7 = 1; /* easy isa OTHER*/ -if (!var7) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var8 = var_nb < var4; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; -} -if (var5){ -var9 = 0; -((void (*)(val*, short int))(self->class->vft[COLOR_stream__FDOStream__is_writable_61d]))(self, var9) /* is_writable= on */; -} else { -} -RET_LABEL:; -} -/* method stream#FDOStream#write for (self: Object, String) */ -void VIRTUAL_stream__FDOStream__write(val* self, val* p0) { -stream__FDOStream__write(self, p0); -RET_LABEL:; -} -/* method stream#FDOStream#init for (self: FDOStream, Int) */ -void stream__FDOStream__init(val* self, long p0) { -long var_fd /* var fd: Int */; -short int var /* : Bool */; -var_fd = p0; -((void (*)(val*, long))(self->class->vft[COLOR_stream__FDStream__init]))(self, p0) /* init on */; -var = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_stream__FDOStream__is_writable_61d]))(self, var) /* is_writable= on */; -RET_LABEL:; -} -/* method stream#FDOStream#init for (self: Object, Int) */ -void VIRTUAL_stream__FDOStream__init(val* self, long p0) { -stream__FDOStream__init(self, p0); -RET_LABEL:; -} -/* method stream#FDIOStream#init for (self: FDIOStream, Int) */ -void stream__FDIOStream__init(val* self, long p0) { -long var_fd /* var fd: Int */; -short int var /* : Bool */; -var_fd = p0; -((void (*)(val*, long))(self->class->vft[COLOR_stream__FDIStream__init]))(self, p0) /* init on */; -((void (*)(val*, long))(self->class->vft[COLOR_stream__FDOStream__init]))(self, p0) /* init on */; -((void (*)(val*, long))(self->class->vft[COLOR_stream__FDStream__fd_61d]))(self, var_fd) /* fd= on */; -var = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_stream__FDOStream__is_writable_61d]))(self, var) /* is_writable= on */; -RET_LABEL:; -} -/* method stream#FDIOStream#init for (self: Object, Int) */ -void VIRTUAL_stream__FDIOStream__init(val* self, long p0) { -stream__FDIOStream__init(self, p0); -RET_LABEL:; -} -/* method stream#Object#poll for (self: Object, Sequence[FDStream]): nullable FDStream */ -val* stream__Object__poll(val* self, val* p0) { -val* var /* : nullable FDStream */; -val* var_streams /* var streams: Sequence[FDStream] */; -val* var1 /* : Array[Int] */; -val* var_in_fds /* var in_fds: Array[Int] */; -val* var2 /* : Array[Int] */; -val* var_out_fds /* var out_fds: Array[Int] */; -val* var3 /* : HashMap[Int, FDStream] */; -val* var_fd_to_stream /* var fd_to_stream: HashMap[Int, FDStream] */; -val* var4 /* : Iterator[nullable Object] */; -short int var5 /* : Bool */; -val* var6 /* : nullable Object */; -val* var_s /* var s: FDStream */; -long var7 /* : Int */; -long var_fd /* var fd: Int */; -short int var8 /* : Bool */; -int cltype; -int idtype; -val* var9 /* : nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : nullable Object */; -val* var14 /* : Object */; -val* var15 /* : nullable Int */; -val* var_polled_fd /* var polled_fd: nullable Int */; -val* var16 /* : null */; -short int var17 /* : Bool */; -val* var18 /* : null */; -val* var19 /* : nullable Object */; -var_streams = p0; -var1 = NEW_array__Array(&type_array__Arraykernel__Int); -((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on */; -CHECK_NEW_array__Array(var1); -var_in_fds = var1; -var2 = NEW_array__Array(&type_array__Arraykernel__Int); -((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on */; -CHECK_NEW_array__Array(var2); -var_out_fds = var2; -var3 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapkernel__Intstream__FDStream); -((void (*)(val*))(var3->class->vft[COLOR_hash_collection__HashMap__init]))(var3) /* init on */; -CHECK_NEW_hash_collection__HashMap(var3); -var_fd_to_stream = var3; -var4 = ((val* (*)(val*))(var_streams->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_streams) /* iterator on */; -for(;;) { -var5 = ((short int (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var4) /* is_ok on */; -if(!var5) break; -var6 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__item]))(var4) /* item on */; -var_s = var6; -var7 = ((long (*)(val*))(var_s->class->vft[COLOR_stream__FDStream__fd]))(var_s) /* fd on */; -var_fd = var7; -/* isa FDIStream */ -cltype = type_stream__FDIStream.color; -idtype = type_stream__FDIStream.id; -if(cltype >= var_s->type->table_size) { -var8 = 0; -} else { -var8 = var_s->type->type_table[cltype] == idtype; -} -if (var8){ -var9 = BOX_kernel__Int(var_fd); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_in_fds->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_in_fds, var9) /* add on */; -} else { -} -/* isa FDOStream */ -cltype11 = type_stream__FDOStream.color; -idtype12 = type_stream__FDOStream.id; -if(cltype11 >= var_s->type->table_size) { -var10 = 0; -} else { -var10 = var_s->type->type_table[cltype11] == idtype12; -} -if (var10){ -var13 = BOX_kernel__Int(var_fd); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_out_fds->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_out_fds, var13) /* add on */; -} else { -} -var14 = BOX_kernel__Int(var_fd); /* autobox from Int to Object */ -((void (*)(val*, val*, val*))(var_fd_to_stream->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var_fd_to_stream, var14, var_s) /* []= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__next]))(var4) /* next on */; -} -BREAK_label: (void)0; -var15 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_stream__Object__intern_poll]))(self, var_in_fds, var_out_fds) /* intern_poll on */; -var_polled_fd = var15; -var16 = NULL; -if (var_polled_fd == NULL) { -var17 = 1; /* is null */ -} else { -var17 = 0; /* arg is null but recv is not */ -} -if (var17){ -var18 = NULL; -var = var18; -goto RET_LABEL; -} else { -var19 = ((val* (*)(val*, val*))(var_fd_to_stream->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var_fd_to_stream, var_polled_fd) /* [] on */; -var = var19; -goto RET_LABEL; -} -RET_LABEL:; -return var; -} -/* method stream#Object#poll for (self: Object, Sequence[FDStream]): nullable FDStream */ -val* VIRTUAL_stream__Object__poll(val* self, val* p0) { -val* var /* : nullable FDStream */; -val* var1 /* : nullable FDStream */; -var1 = stream__Object__poll(self, p0); -var = var1; -RET_LABEL:; -return var; -} -/* method stream#Object#intern_poll for (self: Object, Array[Int], Array[Int]): nullable Int */ -val* stream__Object__intern_poll(val* self, val* p0, val* p1) { -val* var /* : nullable Int */; -fprintf(stderr, "NOT YET IMPLEMENTED nitni for stream#Object#intern_poll at lib/standard/stream.nit:297,2--171\n"); -exit(1); -RET_LABEL:; -return var; -} -/* method stream#Object#intern_poll for (self: Object, Array[Int], Array[Int]): nullable Int */ -val* VIRTUAL_stream__Object__intern_poll(val* self, val* p0, val* p1) { -val* var /* : nullable Int */; -val* var1 /* : nullable Int */; -var1 = stream__Object__intern_poll(self, p0, p1); -var = var1; -RET_LABEL:; -return var; }