/* 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;
- fprintf(stderr, "Deferred method called");
- fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 20);
- nit_exit(1);
- tracehead = trace.prev;
+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 */
+ nit_abort("Deferred method called", NULL, LOCATE_stream, 20);
+ 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;
- fprintf(stderr, "Deferred method called");
- fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 27);
- nit_exit(1);
- tracehead = trace.prev;
+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 */
+ nit_abort("Deferred method called", NULL, LOCATE_stream, 27);
+ 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;
+ /* ./../lib/standard//stream.nit:33 */
+ fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0);
+ /* ./../lib/standard//stream.nit:34 */
+ while(1) {
+ REGB1 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:214 */
+ 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)) {
+ /* ./../lib/standard//stream.nit:35 */
+ REGB1 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./../lib/standard//stream.nit:36 */
+ REGB2 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
+ /* ./../lib/standard//stream.nit:36 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//kernel.nit:277 */
+ 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);
+ /* ./../lib/standard//stream.nit:38 */
+ REGB1 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
+ /* ./../lib/standard//stream.nit:38 */
+ REGB0 = REGB1;
+ }
+ } 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);
+ /* ./../lib/standard//stream.nit:41 */
+ fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+ 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;
+ /* ./../lib/standard//stream.nit:47 */
+ REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_stream, 47);
+ }
+ /* ./../lib/standard//stream.nit:48 */
+ 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]);
+ /* ./../lib/standard//stream.nit:50 */
+ fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+ 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;
+ /* ./../lib/standard//stream.nit:56 */
+ 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)) {
+ /* ./../lib/standard//stream.nit:58 */
+ REGB0 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./../lib/standard//stream.nit:59 */
+ REGB1 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
+ /* ./../lib/standard//stream.nit:59 */
+ if (UNTAG_Bool(REGB1)) {
+ /* ./../lib/standard//kernel.nit:277 */
+ 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);
+ /* ./../lib/standard//stream.nit:61 */
+ fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+ 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) {
+ /* ./../lib/standard//stream.nit:68 */
+ REGB0 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./../lib/standard//stream.nit:69 */
+ REGB1 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB1 = TAG_Int(-UNTAG_Int(REGB1));
+ /* ./../lib/standard//stream.nit:69 */
+ REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ /* ./../lib/standard//kernel.nit:207 */
+ REGB1 = TAG_Bool((REGB0)==(REGB1));
+ /* ./../lib/standard//stream.nit:69 */
+ REGB2 = REGB1;
+ }
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//stream.nit:70 */
+ REGB2 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
+ if (UNTAG_Bool(REGB2)) {
+ goto label1;
+ }
+ } else {
+ /* ./../lib/standard//kernel.nit:277 */
+ 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);
+ /* ./../lib/standard//stream.nit:74 */
+ REGB2 = TAG_Char('\n');
+ REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ /* ./../lib/standard//kernel.nit:347 */
+ REGB2 = TAG_Bool((REGB0)==(REGB2));
+ /* ./../lib/standard//stream.nit:74 */
+ REGB1 = REGB2;
}
- } 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(REGB1)) {
+ goto label1;
}
}
- continue_6: while(0);
}
- break_6: while(0);
- return_label5: while(false);
- tracehead = trace.prev;
+ 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;
- fprintf(stderr, "Deferred method called");
- fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 79);
- nit_exit(1);
- tracehead = trace.prev;
+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 */
+ nit_abort("Deferred method called", NULL, LOCATE_stream, 79);
+ 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;
- fprintf(stderr, "Deferred method called");
- fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 86);
- nit_exit(1);
- tracehead = trace.prev;
+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 */
+ nit_abort("Deferred method called", NULL, LOCATE_stream, 86);
+ 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;
- fprintf(stderr, "Deferred method called");
- fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 89);
- nit_exit(1);
- tracehead = trace.prev;
+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 */
+ nit_abort("Deferred method called", NULL, LOCATE_stream, 89);
+ 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;
+ /* ./../lib/standard//stream.nit:98 */
+ REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_stream, 98);
+ }
+ /* ./../lib/standard//stream.nit:99 */
+ REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 99);
+ }
+ 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)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 99);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+ /* ./../lib/standard//kernel.nit:213 */
+ 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]);
+ }
+ /* ./../lib/standard//stream.nit:102 */
+ REGB1 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 102);
+ }
+ 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)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 102);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
+ /* ./../lib/standard//stream.nit:102 */
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//stream.nit:103 */
+ REGB0 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB0 = TAG_Int(-UNTAG_Int(REGB0));
+ /* ./../lib/standard//stream.nit:103 */
+ goto label1;
+ }
+ /* ./../lib/standard//stream.nit:105 */
+ 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);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 105);
+ }
+ REGB1 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 105);
+ }
+ REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB1);
+ /* ./../lib/standard//stream.nit:106 */
+ REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ REGB3 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
+ /* ./../lib/standard//stream.nit:106 */
+ ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB3;
+ /* ./../lib/standard//kernel.nit:382 */
+ REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
+ /* ./../lib/standard//stream.nit:107 */
+ REGB0 = REGB1;
+ 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;
+ /* ./../lib/standard//stream.nit:112 */
+ fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0);
+ /* ./../lib/standard//stream.nit:113 */
+ REGB1 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 113);
+ }
+ REGB1 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ /* ./../lib/standard//stream.nit:114 */
+ fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 114);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
+ /* ./../lib/standard//stream.nit:115 */
+ while(1) {
+ REGB3 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:214 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3));
+ /* ./../lib/standard//stream.nit:115 */
+ if (UNTAG_Bool(REGB3)) {
+ /* ./../lib/standard//kernel.nit:213 */
+ 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]);
+ /* ./../lib/standard//stream.nit:118 */
+ REGB3 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
+ if (UNTAG_Bool(REGB3)) {
+ fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+ goto label1;
+ }
+ /* ./../lib/standard//stream.nit:119 */
+ REGB3 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 119);
+ }
+ REGB3 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ REGB1 = REGB3;
+ /* ./../lib/standard//stream.nit:120 */
+ fra.me.REG[3] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 120);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
+ /* ./../lib/standard//stream.nit:120 */
+ REGB2 = REGB3;
}
- /* 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( variable[5] /*k*/));
- /* Ensure var variable[6]: Left 'and' operand*/
- if (UNTAG_Bool(variable[6])) { /* and */
- /* Register variable[6]: Result */
- variable[6] = TAG_Bool(UNTAG_Int( variable[1] /*i*/)>UNTAG_Int( TAG_Int(0)));
+ /* ./../lib/standard//stream.nit:122 */
+ while(1) {
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
+ /* ./../lib/standard//stream.nit:122 */
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Int(0);
+ /* ./../lib/standard//kernel.nit:214 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3));
+ } else {
+ /* ./../lib/standard//stream.nit:122 */
+ REGB4 = TAG_Bool(false);
+ REGB3 = REGB4;
+ }
+ if (UNTAG_Bool(REGB3)) {
+ /* ./../lib/standard//stream.nit:123 */
+ fra.me.REG[3] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 123);
+ }
+ 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);
+ /* ./../lib/standard//stream.nit:124 */
+ REGB3 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
+ /* ./../lib/standard//stream.nit:124 */
+ REGB1 = REGB3;
+ /* ./../lib/standard//stream.nit:125 */
+ REGB3 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:217 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB3));
+ /* ./../lib/standard//stream.nit:125 */
+ REGB0 = REGB3;
+ } 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;
+ /* ./../lib/standard//stream.nit:129 */
+ 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];
+ 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] /*k*/));
- if (!UNTAG_Bool(variable[5])) break; /* while*/
- /* Register variable[5]: Result */
- variable[5] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_abstract_collection___MapRead_____bra(variable[5])(variable[5], variable[3] /*j*/) /*AbstractString::[]*/;
- CALL_abstract_collection___SimpleCollection___add( variable[2] /*s*/)( variable[2] /*s*/, variable[5]) /*Buffer::add*/;
- variable[3] = TAG_Int(UNTAG_Int(variable[3])+UNTAG_Int( TAG_Int(1))) /*j*/;
- continue_13: while(0);
+val_t stream___BufferedIStream___read_all(val_t p0){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} 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 = 132;
+ fra.me.meth = LOCATE_stream___BufferedIStream___read_all;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//stream.nit:134 */
+ fra.me.REG[1] = NEW_Buffer_string___Buffer___init();
+ /* ./../lib/standard//stream.nit:135 */
+ 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)) {
+ /* ./../lib/standard//stream.nit:136 */
+ REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 136);
+ }
+ REGB0 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ /* ./../lib/standard//stream.nit:137 */
+ fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 137);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
+ /* ./../lib/standard//stream.nit:138 */
+ while(1) {
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//stream.nit:138 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//stream.nit:139 */
+ fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 139);
+ }
+ REGB2 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB2);
+ /* ./../lib/standard//stream.nit:140 */
+ REGB2 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
+ /* ./../lib/standard//stream.nit:140 */
+ REGB0 = REGB2;
+ } else {
+ /* ./../lib/standard//stream.nit:138 */
+ goto label1;
+ }
+ }
+ label1: while(0);
+ /* ./../lib/standard//stream.nit:142 */
+ ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB0;
+ /* ./../lib/standard//stream.nit:143 */
+ CALL_stream___BufferedIStream___fill_buffer(fra.me.REG[0])(fra.me.REG[0]);
+ } else {
+ /* ./../lib/standard//stream.nit:135 */
+ goto label2;
}
- break_13: while(0);
- ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/ = variable[3] /*j*/;
- CALL_stream___BufferedIStream___fill_buffer(variable[0])(variable[0]) /*BufferedIStream::fill_buffer*/;
- continue_12: while(0);
- }
- break_12: 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_label11;
- return_label11: while(false);
- tracehead = trace.prev;
- return variable[1];
+ }
+ label2: while(0);
+ /* ./../lib/standard//stream.nit:145 */
+ fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+ goto label3;
+ label3: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
}
-void stream___BufferedIStream___append_line_to(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 148, LOCATE_stream___BufferedIStream___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] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/;
- variable[3] = variable[4];
- while (true) { /*while*/
- /* Register variable[4]: Result */
- variable[4] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
- /* Register variable[4]: Result */
- variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*i*/)<UNTAG_Int(variable[4]));
- /* Ensure var variable[4]: Left 'and' operand*/
- if (UNTAG_Bool(variable[4])) { /* and */
- /* Register variable[4]: Result */
- variable[4] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_abstract_collection___MapRead_____bra(variable[4])(variable[4], variable[3] /*i*/) /*AbstractString::[]*/;
- /* Register variable[4]: Result */
- variable[4] = TAG_Bool((variable[4])!=( TAG_Char('\n')));
+void stream___BufferedIStream___append_line_to(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} 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 = 148;
+ fra.me.meth = LOCATE_stream___BufferedIStream___append_line_to;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//stream.nit:150 */
+ while(1) {
+ /* ./../lib/standard//stream.nit:152 */
+ REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 152);
+ }
+ REGB0 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ /* ./../lib/standard//stream.nit:153 */
+ while(1) {
+ fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 153);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./../lib/standard//stream.nit:153 */
+ if (UNTAG_Bool(REGB1)) {
+ fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 153);
+ }
+ REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
+ REGB2 = TAG_Char('\n');
+ REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ /* ./../lib/standard//kernel.nit:347 */
+ REGB2 = TAG_Bool((REGB1)==(REGB2));
+ /* ./../lib/standard//stream.nit:153 */
+ REGB3 = REGB2;
+ }
+ REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
+ } else {
+ REGB2 = TAG_Bool(false);
+ REGB3 = REGB2;
}
- /* Register variable[4]: Result */
- if (!UNTAG_Bool(variable[4])) break; /* while*/
- variable[3] = TAG_Int(UNTAG_Int(variable[3])+UNTAG_Int( TAG_Int(1))) /*i*/;
- continue_16: while(0);
+ if (UNTAG_Bool(REGB3)) {
+ REGB3 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
+ /* ./../lib/standard//stream.nit:153 */
+ REGB0 = REGB3;
+ } else {
+ goto label1;
+ }
+ }
+ label1: while(0);
+ /* ./../lib/standard//stream.nit:156 */
+ REGB3 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 156);
}
- break_16: while(0);
- /* Register variable[4]: Result */
- variable[4] = ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/;
- /* Register variable[4]: Result */
- variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*i*/)>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( variable[3] /*i*/));
- if (!UNTAG_Bool(variable[5])) break; /* while*/
- /* Register variable[5]: Result */
- variable[5] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_abstract_collection___MapRead_____bra(variable[5])(variable[5], variable[4] /*j*/) /*AbstractString::[]*/;
- CALL_abstract_collection___SimpleCollection___add( variable[1] /*s*/)( variable[1] /*s*/, variable[5]) /*Buffer::add*/;
- variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*j*/;
- continue_17: while(0);
+ REGB3 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ /* ./../lib/standard//kernel.nit:214 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3));
+ /* ./../lib/standard//stream.nit:156 */
+ if (UNTAG_Bool(REGB3)) {
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB0));
+ /* ./../lib/standard//stream.nit:158 */
+ REGB2 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 158);
}
- break_17: while(0);
+ REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ /* ./../lib/standard//kernel.nit:217 */
+ 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);
+ /* ./../lib/standard//stream.nit:161 */
+ REGB2 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 161);
+ }
+ REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
+ /* ./../lib/standard//stream.nit:162 */
+ while(1) {
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
+ /* ./../lib/standard//stream.nit:162 */
+ if (UNTAG_Bool(REGB3)) {
+ /* ./../lib/standard//stream.nit:163 */
+ fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 163);
+ }
+ REGB3 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB2);
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB3);
+ /* ./../lib/standard//stream.nit:164 */
+ REGB3 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
+ /* ./../lib/standard//stream.nit:164 */
+ REGB2 = REGB3;
+ } else {
+ /* ./../lib/standard//stream.nit:162 */
+ goto label2;
+ }
+ }
+ label2: while(0);
+ }
+ /* ./../lib/standard//stream.nit:168 */
+ fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
+ REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 168);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
}
- /* Register variable[4]: Result */
- variable[4] = ATTR_stream___BufferedIStream____buffer(variable[0]) /*BufferedIStream::_buffer*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
- /* Register variable[4]: Result */
- variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*i*/)<UNTAG_Int(variable[4]));
- if (UNTAG_Bool(variable[4])) { /*if*/
- /* Register variable[4]: Result */
- variable[4] = TAG_Int(UNTAG_Int( variable[3] /*i*/)+UNTAG_Int( TAG_Int(1)));
- ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/ = variable[4];
- goto return_label14;
- } else { /*if*/
- ATTR_stream___BufferedIStream____buffer_pos(variable[0]) /*BufferedIStream::_buffer_pos*/ = variable[3] /*i*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_stream___BufferedIStream___end_reached(variable[0])(variable[0]) /*BufferedIStream::end_reached*/;
- if (UNTAG_Bool(variable[4])) { /*if*/
- goto return_label14;
- } else { /*if*/
- CALL_stream___BufferedIStream___fill_buffer(variable[0])(variable[0]) /*BufferedIStream::fill_buffer*/;
+ REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
+ /* ./../lib/standard//stream.nit:168 */
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//stream.nit:170 */
+ REGB2 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
+ /* ./../lib/standard//stream.nit:170 */
+ ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB2;
+ /* ./../lib/standard//stream.nit:171 */
+ goto label3;
+ } else {
+ /* ./../lib/standard//stream.nit:174 */
+ ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB0;
+ /* ./../lib/standard//stream.nit:175 */
+ REGB0 = CALL_stream___BufferedIStream___end_reached(fra.me.REG[0])(fra.me.REG[0]);
+ if (UNTAG_Bool(REGB0)) {
+ /* ./../lib/standard//stream.nit:176 */
+ goto label3;
+ } else {
+ /* ./../lib/standard//stream.nit:178 */
+ CALL_stream___BufferedIStream___fill_buffer(fra.me.REG[0])(fra.me.REG[0]);
}
}
- continue_15: while(0);
}
- break_15: while(0);
- return_label14: while(false);
- tracehead = trace.prev;
+ label3: while(0);
+ stack_frame_head = fra.me.prev;
return;
}
-val_t stream___BufferedIStream___eof(val_t self) {
- struct trace_t trace = {NULL, NULL, 184, LOCATE_stream___BufferedIStream___eof};
- 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] = 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]));
- /* 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;
+ /* ./../lib/standard//stream.nit:184 */
+ REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_buffer_pos", LOCATE_stream, 184);
+ }
+ 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)) {
+ nit_abort("Reciever is null", NULL, LOCATE_stream, 184);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+ /* ./../lib/standard//kernel.nit:213 */
+ 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;
- fprintf(stderr, "Deferred method called");
- fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 192);
- nit_exit(1);
- tracehead = trace.prev;
+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 */
+ nit_abort("Deferred method called", NULL, LOCATE_stream, 192);
+ 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;
- fprintf(stderr, "Deferred method called");
- fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 195);
- nit_exit(1);
- tracehead = trace.prev;
+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 */
+ nit_abort("Deferred method called", NULL, LOCATE_stream, 195);
+ 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;
+ /* ./../lib/standard//stream.nit:201 */
+ fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0);
+ ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]) = fra.me.REG[1];
+ /* ./../lib/standard//stream.nit:202 */
+ REGB0 = TAG_Int(0);
+ 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;
+ /* ./../lib/standard//stream.nit:218 */
+ REGB0 = TAG_Bool(ATTR_stream___FDStream____fd(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_fd", LOCATE_stream, 218);
+ }
+ 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;
+ /* ./../lib/standard//stream.nit:220 */
+ REGB0 = TAG_Int(stream_FDStream_FDStream_native_close_1(fra.me.REG[0], UNTAG_Int(REGB0)));
+ 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;
+ /* ./../lib/standard//stream.nit:221 */
+ REGB0 = TAG_Int(stream_FDStream_FDStream_native_read_char_1(fra.me.REG[0], UNTAG_Int(REGB0)));
+ 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;
+ /* ./../lib/standard//stream.nit:222 */
+ 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)));
+ 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;
+ /* ./../lib/standard//stream.nit:223 */
+ 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)));
+ 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;
+ /* ./../lib/standard//stream.nit:225 */
+ fra.me.REG[1] = fra.me.REG[0];
+ 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___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;
+ /* ./../lib/standard//stream.nit:231 */
+ REGB0 = TAG_Bool(ATTR_stream___FDIStream____eof(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_eof", LOCATE_stream, 231);
+ }
+ REGB0 = ATTR_stream___FDIStream____eof(fra.me.REG[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___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;
+ /* ./../lib/standard//stream.nit:235 */
+ REGB0 = TAG_Bool(ATTR_stream___FDStream____fd(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_fd", LOCATE_stream, 235);
+ }
+ 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);
+ /* ./../lib/standard//stream.nit:236 */
+ REGB1 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:216 */
+ REGB1 = TAG_Int(-UNTAG_Int(REGB1));
+ /* ./../lib/standard//stream.nit:236 */
+ REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ /* ./../lib/standard//kernel.nit:207 */
+ REGB1 = TAG_Bool((REGB0)==(REGB1));
+ /* ./../lib/standard//stream.nit:236 */
+ REGB2 = REGB1;
+ }
+ 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;
}
-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*/)<UNTAG_Int(variable[4]));
- if (UNTAG_Bool(variable[4])) { /*if*/
- ATTR_stream___FDOStream____is_writable(variable[0]) /*FDOStream::_is_writable*/ = TAG_Bool(false);
- }
- return_label24: while(false);
- tracehead = trace.prev;
- return;
+val_t stream___FDOStream___is_writable(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 = 246;
+ fra.me.meth = LOCATE_stream___FDOStream___is_writable;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./../lib/standard//stream.nit:246 */
+ REGB0 = TAG_Bool(ATTR_stream___FDOStream____is_writable(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_is_writable", LOCATE_stream, 246);
+ }
+ REGB0 = ATTR_stream___FDOStream____is_writable(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
}
-val_t stream___FDOStream___is_writable(val_t self) {
- struct trace_t trace = {NULL, NULL, 246, LOCATE_stream___FDOStream___is_writable};
- val_t *variable = NULL;
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_stream;
- tracehead = trace.prev;
- return ATTR_stream___FDOStream____is_writable( self) /*FDOStream::_is_writable*/;
+void stream___FDOStream___write(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} 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 = 248;
+ fra.me.meth = LOCATE_stream___FDOStream___write;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ /* ./../lib/standard//stream.nit:250 */
+ REGB0 = TAG_Bool(ATTR_stream___FDStream____fd(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_fd", LOCATE_stream, 250);
+ }
+ REGB0 = ATTR_stream___FDStream____fd(fra.me.REG[0]);
+ fra.me.REG[2] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+ /* ./../lib/standard//stream.nit:250 */
+ REGB1 = CALL_stream___FDStream___native_write(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[2], REGB1);
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
+ /* ./../lib/standard//stream.nit:251 */
+ if (UNTAG_Bool(REGB0)) {
+ REGB0 = TAG_Bool(false);
+ ATTR_stream___FDOStream____is_writable(fra.me.REG[0]) = REGB0;
+ }
+ stack_frame_head = fra.me.prev;
+ return;
}
-void stream___FDOStream___init(val_t self, val_t param0, int* init_table) {
- struct trace_t trace = {NULL, NULL, 254, LOCATE_stream___FDOStream___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_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;
+ /* ./../lib/standard//stream.nit:254 */
+ fra.me.REG[1] = fra.me.REG[0];
+ CALL_stream___FDStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table);
+ /* ./../lib/standard//stream.nit:256 */
+ REGB0 = TAG_Bool(true);
+ 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;
+ /* ./../lib/standard//stream.nit:264 */
+ fra.me.REG[1] = fra.me.REG[0];
+ REGB1 = REGB0;
+ 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;
+ /* ./../lib/standard//stream.nit:267 */
+ REGB1 = TAG_Bool(true);
+ ATTR_stream___FDOStream____is_writable(fra.me.REG[1]) = REGB1;
+ stack_frame_head = fra.me.prev;
+ init_table[itpos4] = 1;
return;
}