X-Git-Url: http://nitlanguage.org diff --git a/c_src/stream._sep.c b/c_src/stream._sep.c index e498e67..59cd301 100644 --- a/c_src/stream._sep.c +++ b/c_src/stream._sep.c @@ -1,796 +1,1307 @@ /* This C file is generated by NIT to compile module stream. */ #include "stream._sep.h" -void stream___IOS___close(val_t self) { - struct trace_t trace = {NULL, NULL, 20, LOCATE_stream___IOS___close}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; +void stream___IOS___close(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 20; + fra.me.meth = LOCATE_stream___IOS___close; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//stream.nit:20 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 20); nit_exit(1); - tracehead = trace.prev; + stack_frame_head = fra.me.prev; return; } -void stream___IOS___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, NULL, 0, LOCATE_stream___IOS___init}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - tracehead = trace.prev; +void stream___IOS___init(val_t p0, int* init_table){ + int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IOS].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos0]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 0; + fra.me.meth = LOCATE_stream___IOS___init; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + stack_frame_head = fra.me.prev; + init_table[itpos0] = 1; return; } -val_t stream___IStream___read_char(val_t self) { - struct trace_t trace = {NULL, NULL, 27, LOCATE_stream___IStream___read_char}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; +val_t stream___IStream___read_char(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 27; + fra.me.meth = LOCATE_stream___IStream___read_char; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//stream.nit:27 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 27); nit_exit(1); - tracehead = trace.prev; + stack_frame_head = fra.me.prev; return NIT_NULL; } -val_t stream___IStream___read(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 30, LOCATE_stream___IStream___read}; - val_t variable[6]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Local variable */ - variable[1] = param0; - /* Register variable[2]: Method return value and escape marker */ - /* Register variable[3]: Local variable */ - /* Register variable[4]: Result */ - variable[4] = NEW_Buffer_string___Buffer___with_capacity( variable[1] /*i*/) /*new Buffer*/; - variable[3] = variable[4]; - while (true) { /*while*/ - /* Register variable[4]: Result */ - variable[4] = TAG_Bool(UNTAG_Int( variable[1] /*i*/)>UNTAG_Int( TAG_Int(0))); - /* Ensure var variable[4]: Left 'and' operand*/ - if (UNTAG_Bool(variable[4])) { /* and */ - /* Register variable[4]: Result */ - variable[4] = CALL_stream___IStream___eof(variable[0])(variable[0]) /*IStream::eof*/; - variable[4] = TAG_Bool(!UNTAG_Bool(variable[4])); +val_t stream___IStream___read(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 30; + fra.me.meth = LOCATE_stream___IStream___read; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0); + /* ./../lib/standard//stream.nit:34 */ + while(1) { + REGB1 = TAG_Int(0); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1)); + /* ./../lib/standard//stream.nit:34 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = TAG_Bool(!UNTAG_Bool(REGB1)); + } else { + REGB2 = TAG_Bool(false); + REGB1 = REGB2; } - /* Register variable[4]: Result */ - if (!UNTAG_Bool(variable[4])) break; /* while*/ - /* Register variable[4]: Local variable */ - /* Register variable[5]: Result */ - variable[5] = CALL_stream___IStream___read_char(variable[0])(variable[0]) /*IStream::read_char*/; - variable[4] = variable[5]; - /* Register variable[5]: Result */ - variable[5] = TAG_Bool(UNTAG_Int( variable[4] /*c*/)>=UNTAG_Int( TAG_Int(0))); - if (UNTAG_Bool(variable[5])) { /*if*/ - /* Register variable[5]: Result */ - variable[5] = TAG_Char(UNTAG_Int( variable[4] /*c*/)); - CALL_abstract_collection___SimpleCollection___add( variable[3] /*s*/)( variable[3] /*s*/, variable[5]) /*Buffer::add*/; - variable[1] = TAG_Int(UNTAG_Int(variable[1])-UNTAG_Int( TAG_Int(1))) /*i*/; + if (UNTAG_Bool(REGB1)) { + REGB1 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = TAG_Int(0); + REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2)); + /* ./../lib/standard//stream.nit:36 */ + if (UNTAG_Bool(REGB2)) { + REGB1 = TAG_Char(UNTAG_Int(REGB1)); + /* ./../lib/standard//stream.nit:37 */ + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB1); + REGB1 = TAG_Int(1); + REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1)); + REGB0 = REGB1; + /* ./../lib/standard//stream.nit:38 */ + } + } else { + /* ./../lib/standard//stream.nit:34 */ + goto label1; } - continue_1: while(0); - } - break_1: while(0); - /* Register variable[4]: Result */ - variable[4] = CALL_string___Object___to_s( variable[3] /*s*/)( variable[3] /*s*/) /*Buffer::to_s*/; - variable[2] = variable[4]; - goto return_label0; - return_label0: while(false); - tracehead = trace.prev; - return variable[2]; + } + label1: while(0); + fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); + /* ./../lib/standard//stream.nit:41 */ + goto label2; + label2: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; } -val_t stream___IStream___read_line(val_t self) { - struct trace_t trace = {NULL, NULL, 44, LOCATE_stream___IStream___read_line}; - val_t variable[4]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Method return value and escape marker */ - /* Register variable[2]: Result */ - variable[2] = CALL_stream___IStream___eof(variable[0])(variable[0]) /*IStream::eof*/; - if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[2])))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___IStream___read_line, LOCATE_stream, 47); nit_exit(1);} - /* Register variable[2]: Local variable */ - /* Register variable[3]: Result */ - variable[3] = NEW_Buffer_string___Buffer___init() /*new Buffer*/; - variable[2] = variable[3]; - CALL_stream___IStream___append_line_to(variable[0])(variable[0], variable[2] /*s*/) /*IStream::append_line_to*/; - /* Register variable[3]: Result */ - variable[3] = CALL_string___Object___to_s( variable[2] /*s*/)( variable[2] /*s*/) /*Buffer::to_s*/; - variable[1] = variable[3]; - goto return_label2; - return_label2: while(false); - tracehead = trace.prev; - return variable[1]; +val_t stream___IStream___read_line(val_t p0){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 44; + fra.me.meth = LOCATE_stream___IStream___read_line; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + /* ./../lib/standard//stream.nit:47 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 47); + nit_exit(1); + } + fra.me.REG[1] = NEW_Buffer_string___Buffer___init(); + /* ./../lib/standard//stream.nit:49 */ + CALL_stream___IStream___append_line_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); + /* ./../lib/standard//stream.nit:50 */ + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; } -val_t stream___IStream___read_all(val_t self) { - struct trace_t trace = {NULL, NULL, 53, LOCATE_stream___IStream___read_all}; - val_t variable[5]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Method return value and escape marker */ - /* Register variable[2]: Local variable */ - /* Register variable[3]: Result */ - variable[3] = NEW_Buffer_string___Buffer___init() /*new Buffer*/; - variable[2] = variable[3]; - while (true) { /*while*/ - /* Register variable[3]: Result */ - variable[3] = CALL_stream___IStream___eof(variable[0])(variable[0]) /*IStream::eof*/; - if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[3])))) break; /* while*/ - /* Register variable[3]: Local variable */ - /* Register variable[4]: Result */ - variable[4] = CALL_stream___IStream___read_char(variable[0])(variable[0]) /*IStream::read_char*/; - variable[3] = variable[4]; - /* Register variable[4]: Result */ - variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*c*/)>=UNTAG_Int( TAG_Int(0))); - if (UNTAG_Bool(variable[4])) { /*if*/ - /* Register variable[4]: Result */ - variable[4] = TAG_Char(UNTAG_Int( variable[3] /*c*/)); - CALL_abstract_collection___SimpleCollection___add( variable[2] /*s*/)( variable[2] /*s*/, variable[4]) /*Buffer::add*/; +val_t stream___IStream___read_all(val_t p0){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 53; + fra.me.meth = LOCATE_stream___IStream___read_all; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = NEW_Buffer_string___Buffer___init(); + /* ./../lib/standard//stream.nit:57 */ + while(1) { + REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + REGB0 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = TAG_Int(0); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//stream.nit:59 */ + if (UNTAG_Bool(REGB1)) { + REGB0 = TAG_Char(UNTAG_Int(REGB0)); + /* ./../lib/standard//stream.nit:59 */ + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB0); + } + } else { + /* ./../lib/standard//stream.nit:57 */ + goto label1; } - continue_4: while(0); - } - break_4: while(0); - /* Register variable[3]: Result */ - variable[3] = CALL_string___Object___to_s( variable[2] /*s*/)( variable[2] /*s*/) /*Buffer::to_s*/; - variable[1] = variable[3]; - goto return_label3; - return_label3: while(false); - tracehead = trace.prev; - return variable[1]; + } + label1: while(0); + fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); + /* ./../lib/standard//stream.nit:61 */ + goto label2; + label2: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; } -void stream___IStream___append_line_to(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 64, LOCATE_stream___IStream___append_line_to}; - val_t variable[6]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Local variable */ - variable[1] = param0; - /* Register variable[2]: Method return value and escape marker */ - while (true) { /*while*/ - if (!UNTAG_Bool( TAG_Bool(true))) break; /* while*/ - /* Register variable[3]: Local variable */ - /* Register variable[4]: Result */ - variable[4] = CALL_stream___IStream___read_char(variable[0])(variable[0]) /*IStream::read_char*/; - variable[3] = variable[4]; - /* Register variable[4]: Result */ - variable[4] = TAG_Int(-UNTAG_Int( TAG_Int(1))); - /* Register variable[4]: Result */ - variable[4] = TAG_Bool(( variable[3] /*x*/)==(variable[4])); - if (UNTAG_Bool(variable[4])) { /*if*/ - /* Register variable[4]: Result */ - variable[4] = CALL_stream___IStream___eof(variable[0])(variable[0]) /*IStream::eof*/; - if (UNTAG_Bool(variable[4])) { /*if*/ - goto return_label5; +void stream___IStream___append_line_to(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 64; + fra.me.meth = LOCATE_stream___IStream___append_line_to; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//stream.nit:67 */ + while(1) { + REGB0 = TAG_Bool(true); + if (UNTAG_Bool(REGB0)) { + REGB0 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = TAG_Int(1); + REGB1 = TAG_Int(-UNTAG_Int(REGB1)); + REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); + /* ./../lib/standard//stream.nit:69 */ + if (UNTAG_Bool(REGB2)) { + } else { + REGB1 = TAG_Bool((REGB0)==(REGB1)); + REGB2 = REGB1; + /* ./../lib/standard//stream.nit:69 */ } - } else { /*if*/ - /* Register variable[4]: Local variable */ - /* Register variable[5]: Result */ - variable[5] = TAG_Char(UNTAG_Int( variable[3] /*x*/)); - variable[4] = variable[5]; - CALL_abstract_collection___IndexedCollection___push( variable[1] /*s*/)( variable[1] /*s*/, variable[4] /*c*/) /*AbstractArray::push*/; - /* Register variable[5]: Result */ - variable[5] = TAG_Bool(( variable[4] /*c*/)==( TAG_Char('\n'))); - if (UNTAG_Bool(variable[5])) { /*if*/ - goto return_label5; + if (UNTAG_Bool(REGB2)) { + REGB2 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]); + /* ./../lib/standard//stream.nit:70 */ + if (UNTAG_Bool(REGB2)) { + goto label1; + } + } else { + REGB0 = TAG_Char(UNTAG_Int(REGB0)); + /* ./../lib/standard//stream.nit:73 */ + CALL_abstract_collection___Sequence___push(fra.me.REG[1])(fra.me.REG[1], REGB0); + REGB2 = TAG_Char('\n'); + REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2)); + /* ./../lib/standard//stream.nit:74 */ + if (UNTAG_Bool(REGB1)) { + } else { + REGB2 = TAG_Bool((REGB0)==(REGB2)); + REGB1 = REGB2; + /* ./../lib/standard//stream.nit:74 */ + } + if (UNTAG_Bool(REGB1)) { + goto label1; + } } + } else { + /* ./../lib/standard//stream.nit:67 */ + goto label2; } - continue_6: while(0); } - break_6: while(0); - return_label5: while(false); - tracehead = trace.prev; + label2: while(0); + label1: while(0); + stack_frame_head = fra.me.prev; return; } -val_t stream___IStream___eof(val_t self) { - struct trace_t trace = {NULL, NULL, 79, LOCATE_stream___IStream___eof}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; +val_t stream___IStream___eof(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 79; + fra.me.meth = LOCATE_stream___IStream___eof; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//stream.nit:79 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 79); nit_exit(1); - tracehead = trace.prev; + stack_frame_head = fra.me.prev; return NIT_NULL; } -void stream___OStream___write(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 86, LOCATE_stream___OStream___write}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; +void stream___OStream___write(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 86; + fra.me.meth = LOCATE_stream___OStream___write; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//stream.nit:86 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 86); nit_exit(1); - tracehead = trace.prev; + stack_frame_head = fra.me.prev; return; } -val_t stream___OStream___is_writable(val_t self) { - struct trace_t trace = {NULL, NULL, 89, LOCATE_stream___OStream___is_writable}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; +val_t stream___OStream___is_writable(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 89; + fra.me.meth = LOCATE_stream___OStream___is_writable; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//stream.nit:89 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 89); nit_exit(1); - tracehead = trace.prev; + stack_frame_head = fra.me.prev; return NIT_NULL; } -val_t stream___BufferedIStream___read_char(val_t self) { - struct trace_t trace = {NULL, NULL, 96, LOCATE_stream___BufferedIStream___read_char}; - val_t variable[5]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Method return value and escape marker */ - /* Register variable[2]: Result */ - variable[2] = CALL_stream___IStream___eof(variable[0])(variable[0]) /*BufferedIStream::eof*/; - if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[2])))) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_stream___BufferedIStream___read_char, LOCATE_stream, 98); nit_exit(1);} - /* Register variable[2]: Result */ - variable[2] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/; - /* Register variable[3]: Result */ - variable[3] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/; - /* Register variable[3]: Result */ - variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/; - /* Register variable[2]: Result */ - variable[2] = TAG_Bool(UNTAG_Int(variable[2])>=UNTAG_Int(variable[3])); - if (UNTAG_Bool(variable[2])) { /*if*/ - CALL_stream___BufferedIStream___fill_buffer(variable[0])(variable[0]) /*BufferedIStream::fill_buffer*/; - } - /* Register variable[2]: Result */ - variable[2] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/; - /* Register variable[3]: Result */ - variable[3] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/; - /* Register variable[3]: Result */ - variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/; - /* Register variable[2]: Result */ - variable[2] = TAG_Bool(UNTAG_Int(variable[2])>=UNTAG_Int(variable[3])); - if (UNTAG_Bool(variable[2])) { /*if*/ - /* Register variable[2]: Result */ - variable[2] = TAG_Int(-UNTAG_Int( TAG_Int(1))); - variable[1] = variable[2]; - goto return_label7; - } - /* Register variable[2]: Local variable */ - /* Register variable[3]: Result */ - variable[3] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/; - /* Register variable[4]: Result */ - variable[4] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/; - /* Register variable[3]: Result */ - variable[3] = CALL_abstract_collection___MapRead_____bra(variable[3])(variable[3], variable[4]) /*AbstractString::[]*/; - variable[2] = variable[3]; - ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/ = TAG_Int(UNTAG_Int(ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/)+UNTAG_Int( TAG_Int(1))); - /* Register variable[3]: Result */ - variable[3] = TAG_Int((unsigned char)UNTAG_Char( variable[2] /*c*/)); - variable[1] = variable[3]; - goto return_label7; - return_label7: while(false); - tracehead = trace.prev; - return variable[1]; +val_t stream___BufferedIStream___read_char(val_t p0){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 96; + fra.me.meth = LOCATE_stream___BufferedIStream___read_char; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + /* ./../lib/standard//stream.nit:98 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 98); + nit_exit(1); + } + REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:99 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 99); + nit_exit(1); + } + REGB0 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + fra.me.REG[1] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]); + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 99); + nit_exit(1); + } + REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); + } + REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//stream.nit:99 */ + if (UNTAG_Bool(REGB1)) { + /* ./../lib/standard//stream.nit:100 */ + CALL_stream___BufferedIStream___fill_buffer(fra.me.REG[0])(fra.me.REG[0]); + } + REGB1 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:102 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 102); + nit_exit(1); + } + REGB1 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + fra.me.REG[1] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]); + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 102); + nit_exit(1); + } + REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); + } + REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0)); + /* ./../lib/standard//stream.nit:102 */ + if (UNTAG_Bool(REGB0)) { + REGB0 = TAG_Int(1); + REGB0 = TAG_Int(-UNTAG_Int(REGB0)); + /* ./../lib/standard//stream.nit:103 */ + goto label1; + } + fra.me.REG[1] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]); + REGB1 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:105 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 105); + nit_exit(1); + } + REGB1 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 105); + nit_exit(1); + } + REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB1); + REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + REGB3 = TAG_Int(1); + REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3)); + /* ./../lib/standard//stream.nit:106 */ + ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB3; + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1)); + REGB0 = REGB1; + /* ./../lib/standard//stream.nit:107 */ + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; } -val_t stream___BufferedIStream___read(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 110, LOCATE_stream___BufferedIStream___read}; - val_t variable[7]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Local variable */ - variable[1] = param0; - /* Register variable[2]: Method return value and escape marker */ - /* Register variable[3]: Local variable */ - /* Register variable[4]: Result */ - variable[4] = NEW_Buffer_string___Buffer___with_capacity( variable[1] /*i*/) /*new Buffer*/; - variable[3] = variable[4]; - /* Register variable[4]: Local variable */ - /* Register variable[5]: Result */ - variable[5] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/; - variable[4] = variable[5]; - /* Register variable[5]: Local variable */ - /* Register variable[6]: Result */ - variable[6] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/; - /* Register variable[6]: Result */ - variable[6] = CALL_abstract_collection___Collection___length(variable[6])(variable[6]) /*AbstractArrayRead::length*/; - variable[5] = variable[6]; - while (true) { /*while*/ - /* Register variable[6]: Result */ - variable[6] = TAG_Bool(UNTAG_Int( variable[1] /*i*/)>UNTAG_Int( TAG_Int(0))); - if (!UNTAG_Bool(variable[6])) break; /* while*/ - /* Register variable[6]: Result */ - variable[6] = TAG_Bool(UNTAG_Int( variable[4] /*j*/)>=UNTAG_Int( variable[5] /*k*/)); - if (UNTAG_Bool(variable[6])) { /*if*/ - CALL_stream___BufferedIStream___fill_buffer(variable[0])(variable[0]) /*BufferedIStream::fill_buffer*/; - /* Register variable[6]: Result */ - variable[6] = CALL_stream___IStream___eof(variable[0])(variable[0]) /*BufferedIStream::eof*/; - if (UNTAG_Bool(variable[6])) { /*if*/ - /* Register variable[6]: Result */ - variable[6] = CALL_string___Object___to_s( variable[3] /*s*/)( variable[3] /*s*/) /*Buffer::to_s*/; - variable[2] = variable[6]; - goto return_label8; +val_t stream___BufferedIStream___read(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t REGB4; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 110; + fra.me.meth = LOCATE_stream___BufferedIStream___read; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0); + REGB1 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:113 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 113); + nit_exit(1); + } + REGB1 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]); + REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + /* ./../lib/standard//stream.nit:114 */ + if (UNTAG_Bool(REGB2)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 114); + nit_exit(1); + } + REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); + } + REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]); + /* ./../lib/standard//stream.nit:115 */ + while(1) { + REGB3 = TAG_Int(0); + REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3)); + /* ./../lib/standard//stream.nit:115 */ + if (UNTAG_Bool(REGB3)) { + REGB3 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2)); + /* ./../lib/standard//stream.nit:116 */ + if (UNTAG_Bool(REGB3)) { + /* ./../lib/standard//stream.nit:117 */ + CALL_stream___BufferedIStream___fill_buffer(fra.me.REG[0])(fra.me.REG[0]); + REGB3 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]); + /* ./../lib/standard//stream.nit:118 */ + if (UNTAG_Bool(REGB3)) { + fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); + goto label1; + } + REGB3 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:119 */ + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 119); + nit_exit(1); + } + REGB3 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + REGB1 = REGB3; + fra.me.REG[3] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]); + REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./../lib/standard//stream.nit:120 */ + if (UNTAG_Bool(REGB3)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 120); + nit_exit(1); + } + REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); + } + REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]); + REGB2 = REGB3; + /* ./../lib/standard//stream.nit:120 */ } - /* Register variable[6]: Result */ - variable[6] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/; - variable[4] = variable[6] /*j=*/; - /* Register variable[6]: Result */ - variable[6] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/; - /* Register variable[6]: Result */ - variable[6] = CALL_abstract_collection___Collection___length(variable[6])(variable[6]) /*AbstractArrayRead::length*/; - variable[5] = variable[6] /*k=*/; - } - while (true) { /*while*/ - /* Register variable[6]: Result */ - variable[6] = TAG_Bool(UNTAG_Int( variable[4] /*j*/)UNTAG_Int( TAG_Int(0))); + /* ./../lib/standard//stream.nit:122 */ + while(1) { + REGB3 = TAG_Bool(UNTAG_Int(REGB1)UNTAG_Int(REGB3)); + /* ./../lib/standard//stream.nit:122 */ + } else { + REGB4 = TAG_Bool(false); + REGB3 = REGB4; + } + if (UNTAG_Bool(REGB3)) { + fra.me.REG[3] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]); + REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + /* ./../lib/standard//stream.nit:123 */ + if (UNTAG_Bool(REGB3)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 123); + nit_exit(1); + } + REGB3 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], REGB1); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB3); + REGB3 = TAG_Int(1); + REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3)); + REGB1 = REGB3; + REGB3 = TAG_Int(1); + REGB3 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB3)); + REGB0 = REGB3; + /* ./../lib/standard//stream.nit:125 */ + } else { + /* ./../lib/standard//stream.nit:122 */ + goto label2; + } } - /* Register variable[6]: Result */ - if (!UNTAG_Bool(variable[6])) break; /* while*/ - /* Register variable[6]: Result */ - variable[6] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/; - /* Register variable[6]: Result */ - variable[6] = CALL_abstract_collection___MapRead_____bra(variable[6])(variable[6], variable[4] /*j*/) /*AbstractString::[]*/; - CALL_abstract_collection___SimpleCollection___add( variable[3] /*s*/)( variable[3] /*s*/, variable[6]) /*Buffer::add*/; - variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*j*/; - variable[1] = TAG_Int(UNTAG_Int(variable[1])-UNTAG_Int( TAG_Int(1))) /*i*/; - continue_10: while(0); + label2: while(0); + } else { + /* ./../lib/standard//stream.nit:115 */ + goto label3; } - break_10: while(0); - continue_9: while(0); - } - break_9: while(0); - ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/ = variable[4] /*j*/; - /* Register variable[6]: Result */ - variable[6] = CALL_string___Object___to_s( variable[3] /*s*/)( variable[3] /*s*/) /*Buffer::to_s*/; - variable[2] = variable[6]; - goto return_label8; - return_label8: while(false); - tracehead = trace.prev; - return variable[2]; + } + label3: while(0); + /* ./../lib/standard//stream.nit:128 */ + ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB1; + fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = fra.me.REG[1]; + /* ./../lib/standard//stream.nit:129 */ + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[2]; } -val_t stream___BufferedIStream___read_all(val_t self) { - struct trace_t trace = {NULL, NULL, 132, LOCATE_stream___BufferedIStream___read_all}; - val_t variable[6]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Method return value and escape marker */ - /* Register variable[2]: Local variable */ - /* Register variable[3]: Result */ - variable[3] = NEW_Buffer_string___Buffer___init() /*new Buffer*/; - variable[2] = variable[3]; - while (true) { /*while*/ - /* Register variable[3]: Result */ - variable[3] = CALL_stream___IStream___eof(variable[0])(variable[0]) /*BufferedIStream::eof*/; - if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[3])))) break; /* while*/ - /* Register variable[3]: Local variable */ - /* Register variable[4]: Result */ - variable[4] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/; - variable[3] = variable[4]; - /* Register variable[4]: Local variable */ - /* Register variable[5]: Result */ - variable[5] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/; - /* Register variable[5]: Result */ - variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*AbstractArrayRead::length*/; - variable[4] = variable[5]; - while (true) { /*while*/ - /* Register variable[5]: Result */ - variable[5] = TAG_Bool(UNTAG_Int( variable[3] /*j*/)UNTAG_Int(variable[4])); - if (UNTAG_Bool(variable[4])) { /*if*/ - /* Register variable[4]: Result */ - variable[4] = CALL_abstract_collection___Collection___length( variable[1] /*s*/)( variable[1] /*s*/) /*AbstractArrayRead::length*/; - /* Register variable[4]: Result */ - variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( variable[3] /*i*/)); - /* Register variable[5]: Result */ - variable[5] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/; - /* Register variable[4]: Result */ - variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int(variable[5])); - CALL_array___AbstractArray___enlarge( variable[1] /*s*/)( variable[1] /*s*/, variable[4]) /*Buffer::enlarge*/; - /* Register variable[4]: Local variable */ - /* Register variable[5]: Result */ - variable[5] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/; - variable[4] = variable[5]; - while (true) { /*while*/ - /* Register variable[5]: Result */ - variable[5] = TAG_Bool(UNTAG_Int( variable[4] /*j*/)UNTAG_Int(REGB3)); + /* ./../lib/standard//stream.nit:156 */ + if (UNTAG_Bool(REGB3)) { + REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB3)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); + } + REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB3 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB0)); + REGB2 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:158 */ + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 158); + nit_exit(1); + } + REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + REGB2 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB2)); + /* ./../lib/standard//stream.nit:158 */ + CALL_array___AbstractArray___enlarge(fra.me.REG[1])(fra.me.REG[1], REGB2); + REGB2 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:161 */ + if (UNTAG_Bool(REGB2)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 161); + nit_exit(1); + } + REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + /* ./../lib/standard//stream.nit:162 */ + while(1) { + REGB3 = TAG_Bool(UNTAG_Int(REGB2)=UNTAG_Int(variable[3])); - /* Ensure var variable[2]: Left 'and' operand*/ - if (UNTAG_Bool(variable[2])) { /* and */ - /* Register variable[2]: Result */ - variable[2] = CALL_stream___BufferedIStream___end_reached(variable[0])(variable[0]) /*BufferedIStream::end_reached*/; - } - /* Register variable[2]: Result */ - variable[1] = variable[2]; - goto return_label18; - return_label18: while(false); - tracehead = trace.prev; - return variable[1]; +val_t stream___BufferedIStream___eof(val_t p0){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 184; + fra.me.meth = LOCATE_stream___BufferedIStream___eof; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:184 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 184); + nit_exit(1); + } + REGB0 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]); + fra.me.REG[1] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]); + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + fprintf(stderr, "Reciever is null"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 184); + nit_exit(1); + } + REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); + /* ./../lib/standard//collection//array.nit:23 */ + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_length"); + fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23); + nit_exit(1); + } + REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//stream.nit:184 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = CALL_stream___BufferedIStream___end_reached(fra.me.REG[0])(fra.me.REG[0]); + } else { + REGB0 = TAG_Bool(false); + REGB1 = REGB0; + } + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB1; } -void stream___BufferedIStream___fill_buffer(val_t self) { - struct trace_t trace = {NULL, NULL, 192, LOCATE_stream___BufferedIStream___fill_buffer}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; +void stream___BufferedIStream___fill_buffer(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 192; + fra.me.meth = LOCATE_stream___BufferedIStream___fill_buffer; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//stream.nit:192 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 192); nit_exit(1); - tracehead = trace.prev; + stack_frame_head = fra.me.prev; return; } -val_t stream___BufferedIStream___end_reached(val_t self) { - struct trace_t trace = {NULL, NULL, 195, LOCATE_stream___BufferedIStream___end_reached}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; +val_t stream___BufferedIStream___end_reached(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 195; + fra.me.meth = LOCATE_stream___BufferedIStream___end_reached; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//stream.nit:195 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 195); nit_exit(1); - tracehead = trace.prev; + stack_frame_head = fra.me.prev; return NIT_NULL; } -void stream___BufferedIStream___prepare_buffer(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 198, LOCATE_stream___BufferedIStream___prepare_buffer}; - val_t variable[4]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Local variable */ - variable[1] = param0; - /* Register variable[2]: Method return value and escape marker */ - /* Register variable[3]: Result */ - variable[3] = NEW_Buffer_string___Buffer___with_capacity( variable[1] /*capacity*/) /*new Buffer*/; - ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/ = variable[3]; - ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/ = TAG_Int(0); - return_label19: while(false); - tracehead = trace.prev; +void stream___BufferedIStream___prepare_buffer(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 198; + fra.me.meth = LOCATE_stream___BufferedIStream___prepare_buffer; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0); + /* ./../lib/standard//stream.nit:201 */ + ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]) = fra.me.REG[1]; + REGB0 = TAG_Int(0); + /* ./../lib/standard//stream.nit:202 */ + ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB0; + stack_frame_head = fra.me.prev; return; } -void stream___FDStream___close(val_t self) { - struct trace_t trace = {NULL, NULL, 218, LOCATE_stream___FDStream___close}; - val_t variable[3]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Method return value and escape marker */ - /* Register variable[2]: Result */ - variable[2] = ATTR_stream___FDStream____fd(variable[0]) /*FDStream::_fd*/; - CALL_stream___FDStream___native_close(variable[0])(variable[0], variable[2]) /*FDStream::native_close*/; - return_label20: while(false); - tracehead = trace.prev; +void stream___FDStream___close(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 218; + fra.me.meth = LOCATE_stream___FDStream___close; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = TAG_Bool(ATTR_stream___FDStream____fd(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:218 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_fd"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 218); + nit_exit(1); + } + REGB0 = ATTR_stream___FDStream____fd(fra.me.REG[0]); + CALL_stream___FDStream___native_close(fra.me.REG[0])(fra.me.REG[0], REGB0); + stack_frame_head = fra.me.prev; return; } -val_t stream___FDStream___native_close(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 220, LOCATE_stream___FDStream___native_close}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - tracehead = trace.prev; - return TAG_Int(stream_FDStream_FDStream_native_close_1( self, UNTAG_Int( param0))); +val_t stream___FDStream___native_close(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 220; + fra.me.meth = LOCATE_stream___FDStream___native_close; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + REGB0 = TAG_Int(stream_FDStream_FDStream_native_close_1(fra.me.REG[0], UNTAG_Int(REGB0))); + /* ./../lib/standard//stream.nit:220 */ + stack_frame_head = fra.me.prev; + return REGB0; } -val_t stream___FDStream___native_read_char(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 221, LOCATE_stream___FDStream___native_read_char}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - tracehead = trace.prev; - return TAG_Int(stream_FDStream_FDStream_native_read_char_1( self, UNTAG_Int( param0))); +val_t stream___FDStream___native_read_char(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 221; + fra.me.meth = LOCATE_stream___FDStream___native_read_char; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + REGB0 = TAG_Int(stream_FDStream_FDStream_native_read_char_1(fra.me.REG[0], UNTAG_Int(REGB0))); + /* ./../lib/standard//stream.nit:221 */ + stack_frame_head = fra.me.prev; + return REGB0; } -val_t stream___FDStream___native_read(val_t self, val_t param0, val_t param1, val_t param2) { - struct trace_t trace = {NULL, NULL, 222, LOCATE_stream___FDStream___native_read}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - tracehead = trace.prev; - return TAG_Int(stream_FDStream_FDStream_native_read_3( self, UNTAG_Int( param0), UNBOX_NativeString( param1), UNTAG_Int( param2))); +val_t stream___FDStream___native_read(val_t p0, val_t p1, val_t p2, val_t p3){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 222; + fra.me.meth = LOCATE_stream___FDStream___native_read; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = p2; + REGB1 = p3; + REGB1 = TAG_Int(stream_FDStream_FDStream_native_read_3(fra.me.REG[0], UNTAG_Int(REGB0), UNBOX_NativeString(fra.me.REG[1]), UNTAG_Int(REGB1))); + /* ./../lib/standard//stream.nit:222 */ + stack_frame_head = fra.me.prev; + return REGB1; } -val_t stream___FDStream___native_write(val_t self, val_t param0, val_t param1, val_t param2) { - struct trace_t trace = {NULL, NULL, 223, LOCATE_stream___FDStream___native_write}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - tracehead = trace.prev; - return TAG_Int(stream_FDStream_FDStream_native_write_3( self, UNTAG_Int( param0), UNBOX_NativeString( param1), UNTAG_Int( param2))); +val_t stream___FDStream___native_write(val_t p0, val_t p1, val_t p2, val_t p3){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 223; + fra.me.meth = LOCATE_stream___FDStream___native_write; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = p2; + REGB1 = p3; + REGB1 = TAG_Int(stream_FDStream_FDStream_native_write_3(fra.me.REG[0], UNTAG_Int(REGB0), UNBOX_NativeString(fra.me.REG[1]), UNTAG_Int(REGB1))); + /* ./../lib/standard//stream.nit:223 */ + stack_frame_head = fra.me.prev; + return REGB1; } -void stream___FDStream___init(val_t self, val_t param0, int* init_table) { - struct trace_t trace = {NULL, NULL, 225, LOCATE_stream___FDStream___init}; - val_t variable[3]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Local variable */ - variable[1] = param0; - if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_FDStream].i]) return; - /* Register variable[2]: Method return value and escape marker */ - ATTR_stream___FDStream____fd(variable[0]) /*FDStream::_fd*/ = variable[1] /*fd*/; - return_label21: while(false); - init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_FDStream].i] = 1; - tracehead = trace.prev; +void stream___FDStream___init(val_t p0, val_t p1, int* init_table){ + int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_FDStream].i; + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + if (init_table[itpos1]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 225; + fra.me.meth = LOCATE_stream___FDStream___init; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = fra.me.REG[0]; + /* ./../lib/standard//stream.nit:225 */ + CALL_stream___IOS___init(fra.me.REG[0])(fra.me.REG[0], init_table); + ATTR_stream___FDStream____fd(fra.me.REG[1]) = REGB0; + stack_frame_head = fra.me.prev; + init_table[itpos1] = 1; return; } -val_t stream___FDIStream___read_char(val_t self) { - struct trace_t trace = {NULL, NULL, 233, LOCATE_stream___FDIStream___read_char}; - val_t variable[4]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Method return value and escape marker */ - /* Register variable[2]: Local variable */ - /* Register variable[3]: Result */ - variable[3] = ATTR_stream___FDStream____fd(variable[0]) /*FDStream::_fd*/; - /* Register variable[3]: Result */ - variable[3] = CALL_stream___FDStream___native_read_char(variable[0])(variable[0], variable[3]) /*FDStream::native_read_char*/; - variable[2] = variable[3]; - /* Register variable[3]: Result */ - variable[3] = TAG_Int(-UNTAG_Int( TAG_Int(1))); - /* Register variable[3]: Result */ - variable[3] = TAG_Bool(( variable[2] /*nb*/)==(variable[3])); - if (UNTAG_Bool(variable[3])) { /*if*/ - ATTR_stream___FDIStream____eof(variable[0]) /*FDIStream::_eof*/ = TAG_Bool(true); - } - variable[1] = variable[2] /*nb*/; - goto return_label22; - return_label22: while(false); - tracehead = trace.prev; - return variable[1]; +val_t stream___FDIStream___read_char(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 233; + fra.me.meth = LOCATE_stream___FDIStream___read_char; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = TAG_Bool(ATTR_stream___FDStream____fd(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:235 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_fd"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 235); + nit_exit(1); + } + REGB0 = ATTR_stream___FDStream____fd(fra.me.REG[0]); + REGB0 = CALL_stream___FDStream___native_read_char(fra.me.REG[0])(fra.me.REG[0], REGB0); + REGB1 = TAG_Int(1); + REGB1 = TAG_Int(-UNTAG_Int(REGB1)); + REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); + /* ./../lib/standard//stream.nit:236 */ + if (UNTAG_Bool(REGB2)) { + } else { + REGB1 = TAG_Bool((REGB0)==(REGB1)); + REGB2 = REGB1; + /* ./../lib/standard//stream.nit:236 */ + } + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(true); + ATTR_stream___FDIStream____eof(fra.me.REG[0]) = REGB2; + } + /* ./../lib/standard//stream.nit:237 */ + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; } -val_t stream___FDIStream___eof(val_t self) { - struct trace_t trace = {NULL, NULL, 231, LOCATE_stream___FDIStream___eof}; - val_t *variable = NULL; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - tracehead = trace.prev; - return ATTR_stream___FDIStream____eof( self) /*FDIStream::_eof*/; +val_t stream___FDIStream___eof(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 231; + fra.me.meth = LOCATE_stream___FDIStream___eof; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = TAG_Bool(ATTR_stream___FDIStream____eof(fra.me.REG[0])!=NIT_NULL); + /* ./../lib/standard//stream.nit:231 */ + if (UNTAG_Bool(REGB0)) { + } else { + fprintf(stderr, "Uninitialized attribute %s", "_eof"); + fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 231); + nit_exit(1); + } + REGB0 = ATTR_stream___FDIStream____eof(fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return REGB0; } -void stream___FDIStream___init(val_t self, val_t param0, int* init_table) { - struct trace_t trace = {NULL, NULL, 240, LOCATE_stream___FDIStream___init}; - val_t variable[3]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Local variable */ - variable[1] = param0; - if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_FDIStream].i]) return; - /* Register variable[2]: Method return value and escape marker */ - CALL_stream___FDStream___init(variable[0])(variable[0], variable[1], init_table /*YYY*/) /*FDStream::init*/; - return_label23: while(false); - init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_FDIStream].i] = 1; - tracehead = trace.prev; +void stream___FDIStream___init(val_t p0, val_t p1, int* init_table){ + int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_FDIStream].i; + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + if (init_table[itpos2]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 240; + fra.me.meth = LOCATE_stream___FDIStream___init; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + /* ./../lib/standard//stream.nit:240 */ + CALL_stream___FDStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table); + stack_frame_head = fra.me.prev; + init_table[itpos2] = 1; return; } -void stream___FDOStream___write(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 248, LOCATE_stream___FDOStream___write}; - val_t variable[7]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Local variable */ - variable[1] = param0; - /* Register variable[2]: Method return value and escape marker */ - /* Register variable[3]: Local variable */ - /* Register variable[4]: Result */ - variable[4] = ATTR_stream___FDStream____fd(variable[0]) /*FDStream::_fd*/; - /* Register variable[5]: Result */ - variable[5] = CALL_string___String___to_cstring( variable[1] /*s*/)( variable[1] /*s*/) /*String::to_cstring*/; - /* Register variable[6]: Result */ - variable[6] = CALL_abstract_collection___Collection___length( variable[1] /*s*/)( variable[1] /*s*/) /*AbstractArrayRead::length*/; - /* Register variable[4]: Result */ - variable[4] = CALL_stream___FDStream___native_write(variable[0])(variable[0], variable[4], variable[5], variable[6]) /*FDStream::native_write*/; - variable[3] = variable[4]; - /* Register variable[4]: Result */ - variable[4] = CALL_abstract_collection___Collection___length( variable[1] /*s*/)( variable[1] /*s*/) /*AbstractArrayRead::length*/; - /* Register variable[4]: Result */ - variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*nb*/)vft[INIT_TABLE_POS_FDOStream].i]) return; - /* Register variable[2]: Method return value and escape marker */ - CALL_stream___FDStream___init(variable[0])(variable[0], variable[1], init_table /*YYY*/) /*FDStream::init*/; - ATTR_stream___FDOStream____is_writable(variable[0]) /*FDOStream::_is_writable*/ = TAG_Bool(true); - return_label25: while(false); - init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_FDOStream].i] = 1; - tracehead = trace.prev; +void stream___FDOStream___init(val_t p0, val_t p1, int* init_table){ + int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_FDOStream].i; + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + if (init_table[itpos3]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 254; + fra.me.meth = LOCATE_stream___FDOStream___init; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = fra.me.REG[0]; + /* ./../lib/standard//stream.nit:254 */ + CALL_stream___FDStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table); + REGB0 = TAG_Bool(true); + /* ./../lib/standard//stream.nit:256 */ + ATTR_stream___FDOStream____is_writable(fra.me.REG[1]) = REGB0; + stack_frame_head = fra.me.prev; + init_table[itpos3] = 1; return; } -void stream___FDIOStream___init(val_t self, val_t param0, int* init_table) { - struct trace_t trace = {NULL, NULL, 264, LOCATE_stream___FDIOStream___init}; - val_t variable[3]; - struct WBT_ **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_stream; - /* Register variable[0]: Local variable */ - variable[0] = self; - /* Register variable[1]: Local variable */ - variable[1] = param0; - if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_FDIOStream].i]) return; - /* Register variable[2]: Method return value and escape marker */ - CALL_stream___FDIStream___init(variable[0])(variable[0], variable[1], init_table /*YYY*/) /*FDIStream::init*/; - CALL_stream___FDOStream___init(variable[0])(variable[0], variable[1], init_table /*YYY*/) /*FDOStream::init*/; - ATTR_stream___FDStream____fd(variable[0]) /*FDStream::_fd*/ = variable[1] /*fd*/; - ATTR_stream___FDOStream____is_writable(variable[0]) /*FDOStream::_is_writable*/ = TAG_Bool(true); - return_label26: while(false); - init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_FDIOStream].i] = 1; - tracehead = trace.prev; +void stream___FDIOStream___init(val_t p0, val_t p1, int* init_table){ + int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_FDIOStream].i; + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + if (init_table[itpos4]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_stream; + fra.me.line = 264; + fra.me.meth = LOCATE_stream___FDIOStream___init; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + fra.me.REG[1] = fra.me.REG[0]; + REGB1 = REGB0; + /* ./../lib/standard//stream.nit:264 */ + CALL_stream___FDIStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table); + CALL_stream___FDOStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table); + /* ./../lib/standard//stream.nit:266 */ + ATTR_stream___FDStream____fd(fra.me.REG[1]) = REGB1; + REGB1 = TAG_Bool(true); + /* ./../lib/standard//stream.nit:267 */ + ATTR_stream___FDOStream____is_writable(fra.me.REG[1]) = REGB1; + stack_frame_head = fra.me.prev; + init_table[itpos4] = 1; return; }