-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 <self:FDIStream> */
-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 <self:FDIStream>*/;
-var2 = ((long (*)(val*, long))(self->class->vft[COLOR_stream__FDStream__native_read_char]))(self, var1) /* native_read_char on <self:FDIStream>*/;
-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 <self:FDIStream>*/;
-} 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 <self:FDIStream>*/;
-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 <self:FDOStream> */
-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 <self:FDOStream> */
-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 <self:FDOStream>*/;
-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>*/;
-var3 = ((long (*)(val*, long, char*, long))(self->class->vft[COLOR_stream__FDStream__native_write]))(self, var, var1, var2) /* native_write on <self:FDOStream>*/;
-var_nb = var3;
-var4 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on <var_s:String>*/;
-{ /* Inline kernel#Int#< (var_nb,var4) */
-/* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
-/* <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", 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 <self:FDOStream>*/;
-} 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 <self:FDOStream>*/;
-var = 1;
-((void (*)(val*, short int))(self->class->vft[COLOR_stream__FDOStream__is_writable_61d]))(self, var) /* is_writable= on <self:FDOStream>*/;
-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 <self:FDIOStream>*/;
-((void (*)(val*, long))(self->class->vft[COLOR_stream__FDOStream__init]))(self, p0) /* init on <self:FDIOStream>*/;
-((void (*)(val*, long))(self->class->vft[COLOR_stream__FDStream__fd_61d]))(self, var_fd) /* fd= on <self:FDIOStream>*/;
-var = 1;
-((void (*)(val*, short int))(self->class->vft[COLOR_stream__FDOStream__is_writable_61d]))(self, var) /* is_writable= on <self:FDIOStream>*/;
-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 <var1:Array[Int]>*/;
-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 <var2:Array[Int]>*/;
-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 <var3:HashMap[Int, FDStream]>*/;
-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 <var_streams:Sequence[FDStream]>*/;
-for(;;) {
-var5 = ((short int (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var4) /* is_ok on <var4:Iterator[nullable Object]>*/;
-if(!var5) break;
-var6 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__item]))(var4) /* item on <var4:Iterator[nullable Object]>*/;
-var_s = var6;
-var7 = ((long (*)(val*))(var_s->class->vft[COLOR_stream__FDStream__fd]))(var_s) /* fd on <var_s:FDStream>*/;
-var_fd = var7;
-/* <var_s:FDStream> 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 <var_in_fds:Array[Int]>*/;
-} else {
-}
-/* <var_s:FDStream> 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 <var_out_fds:Array[Int]>*/;
-} 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 <var_fd_to_stream:HashMap[Int, FDStream]>*/;
-CONTINUE_label: (void)0;
-((void (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__next]))(var4) /* next on <var4:Iterator[nullable Object]>*/;
-}
-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 <self:Object>*/;
-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_fd_to_stream:HashMap[Int, FDStream]>*/;
-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;