X-Git-Url: http://nitlanguage.org diff --git a/c_src/location._sep.c b/c_src/location._sep.c index b3ffb5f..0173183 100644 --- a/c_src/location._sep.c +++ b/c_src/location._sep.c @@ -1,5 +1,181 @@ /* This C file is generated by NIT to compile module location. */ #include "location._sep.h" +val_t location___Location___file(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_location; + fra.me.line = 23; + fra.me.meth = LOCATE_location___Location___file; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./location.nit:23 */ + REGB0 = TAG_Bool(ATTR_location___Location____file(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + nit_abort("Uninitialized attribute %s", "_file", LOCATE_location, 23); + } + fra.me.REG[0] = ATTR_location___Location____file(fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} +val_t location___Location___line_start(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_location; + fra.me.line = 24; + fra.me.meth = LOCATE_location___Location___line_start; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./location.nit:24 */ + REGB0 = TAG_Bool(ATTR_location___Location____line_start(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + nit_abort("Uninitialized attribute %s", "_line_start", LOCATE_location, 24); + } + REGB0 = ATTR_location___Location____line_start(fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t location___Location___line_end(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_location; + fra.me.line = 25; + fra.me.meth = LOCATE_location___Location___line_end; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./location.nit:25 */ + REGB0 = TAG_Bool(ATTR_location___Location____line_end(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + nit_abort("Uninitialized attribute %s", "_line_end", LOCATE_location, 25); + } + REGB0 = ATTR_location___Location____line_end(fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t location___Location___column_start(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_location; + fra.me.line = 26; + fra.me.meth = LOCATE_location___Location___column_start; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./location.nit:26 */ + REGB0 = TAG_Bool(ATTR_location___Location____column_start(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + nit_abort("Uninitialized attribute %s", "_column_start", LOCATE_location, 26); + } + REGB0 = ATTR_location___Location____column_start(fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t location___Location___column_end(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_location; + fra.me.line = 27; + fra.me.meth = LOCATE_location___Location___column_end; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./location.nit:27 */ + REGB0 = TAG_Bool(ATTR_location___Location____column_end(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + nit_abort("Uninitialized attribute %s", "_column_end", LOCATE_location, 27); + } + REGB0 = ATTR_location___Location____column_end(fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return REGB0; +} +void location___Location___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){ + int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Location].i; + 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; + if (init_table[itpos0]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_location; + fra.me.line = 29; + fra.me.meth = LOCATE_location___Location___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; + fra.me.REG[1] = p1; + REGB0 = p2; + REGB1 = p3; + REGB2 = p4; + REGB3 = p5; + /* ./location.nit:30 */ + ATTR_location___Location____file(fra.me.REG[0]) = fra.me.REG[1]; + /* ./location.nit:31 */ + ATTR_location___Location____line_start(fra.me.REG[0]) = REGB0; + /* ./location.nit:32 */ + ATTR_location___Location____line_end(fra.me.REG[0]) = REGB1; + /* ./location.nit:33 */ + ATTR_location___Location____column_start(fra.me.REG[0]) = REGB2; + /* ./location.nit:34 */ + ATTR_location___Location____column_end(fra.me.REG[0]) = REGB3; + stack_frame_head = fra.me.prev; + init_table[itpos0] = 1; + return; +} +void location___Location___with_file(val_t p0, val_t p1, int* init_table){ + int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Location].i; + 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; + if (init_table[itpos1]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_location; + fra.me.line = 37; + fra.me.meth = LOCATE_location___Location___with_file; + 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; + /* ./location.nit:37 */ + REGB0 = TAG_Int(0); + REGB1 = TAG_Int(0); + REGB2 = TAG_Int(0); + REGB3 = TAG_Int(0); + CALL_location___Location___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], REGB0, REGB1, REGB2, REGB3, init_table); + stack_frame_head = fra.me.prev; + init_table[itpos1] = 1; + return; +} val_t location___Location_____eqeq(val_t p0, val_t p1){ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; val_t REGB0; @@ -19,8 +195,8 @@ val_t location___Location_____eqeq(val_t p0, val_t p1){ fra.me.REG[3] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); /* ./location.nit:40 */ + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); @@ -36,20 +212,18 @@ val_t location___Location_____eqeq(val_t p0, val_t p1){ REGB0 = TAG_Bool(false); goto label1; } + /* ./location.nit:41 */ REGB1 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_Location, ID_Location)) /*cast Location*/; REGB1 = TAG_Bool(!UNTAG_Bool(REGB1)); - /* ./location.nit:41 */ if (UNTAG_Bool(REGB1)) { REGB1 = TAG_Bool(false); REGB0 = REGB1; goto label1; } - REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); /* ./location.nit:43 */ + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB1)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 43); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_location, 43); } fra.me.REG[2] = CALL_location___Location___file(fra.me.REG[1])(fra.me.REG[1]); fra.me.REG[3] = CALL_location___Location___file(fra.me.REG[0])(fra.me.REG[0]); @@ -65,21 +239,20 @@ val_t location___Location_____eqeq(val_t p0, val_t p1){ REGB0 = REGB1; goto label1; } - REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); /* ./location.nit:44 */ + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB1)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 44); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_location, 44); } REGB1 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]); REGB2 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2)); if (UNTAG_Bool(REGB3)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB2 = TAG_Bool((REGB1)==(REGB2)); + /* ./location.nit:44 */ REGB3 = REGB2; - /* ./location.nit:44 */ } REGB3 = TAG_Bool(!UNTAG_Bool(REGB3)); if (UNTAG_Bool(REGB3)) { @@ -87,21 +260,20 @@ val_t location___Location_____eqeq(val_t p0, val_t p1){ REGB0 = REGB3; goto label1; } - REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL); /* ./location.nit:45 */ + REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB3)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 45); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_location, 45); } REGB3 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]); REGB2 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); REGB1 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB2)); if (UNTAG_Bool(REGB1)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB2 = TAG_Bool((REGB3)==(REGB2)); + /* ./location.nit:45 */ REGB1 = REGB2; - /* ./location.nit:45 */ } REGB1 = TAG_Bool(!UNTAG_Bool(REGB1)); if (UNTAG_Bool(REGB1)) { @@ -109,21 +281,20 @@ val_t location___Location_____eqeq(val_t p0, val_t p1){ REGB0 = REGB1; goto label1; } - REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); /* ./location.nit:46 */ + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB1)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 46); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_location, 46); } REGB1 = CALL_location___Location___column_start(fra.me.REG[1])(fra.me.REG[1]); REGB2 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2)); if (UNTAG_Bool(REGB3)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB2 = TAG_Bool((REGB1)==(REGB2)); + /* ./location.nit:46 */ REGB3 = REGB2; - /* ./location.nit:46 */ } REGB3 = TAG_Bool(!UNTAG_Bool(REGB3)); if (UNTAG_Bool(REGB3)) { @@ -131,21 +302,20 @@ val_t location___Location_____eqeq(val_t p0, val_t p1){ REGB0 = REGB3; goto label1; } - REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL); /* ./location.nit:47 */ + REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB3)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 47); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_location, 47); } REGB3 = CALL_location___Location___column_end(fra.me.REG[1])(fra.me.REG[1]); REGB2 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]); REGB1 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB2)); if (UNTAG_Bool(REGB1)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB2 = TAG_Bool((REGB3)==(REGB2)); + /* ./location.nit:47 */ REGB1 = REGB2; - /* ./location.nit:47 */ } REGB1 = TAG_Bool(!UNTAG_Bool(REGB1)); if (UNTAG_Bool(REGB1)) { @@ -153,15 +323,15 @@ val_t location___Location_____eqeq(val_t p0, val_t p1){ REGB0 = REGB1; goto label1; } + /* ./location.nit:49 */ REGB1 = TAG_Bool(true); REGB0 = REGB1; - /* ./location.nit:49 */ goto label1; label1: while(0); stack_frame_head = fra.me.prev; return REGB0; } -val_t location___Location_____l(val_t p0, val_t p1){ +val_t location___Location___located_in(val_t p0, val_t p1){ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; val_t REGB0; val_t REGB1; @@ -170,101 +340,160 @@ val_t location___Location_____l(val_t p0, val_t p1){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_location; - fra.me.line = 95; - fra.me.meth = LOCATE_location___Location_____l; + fra.me.line = 52; + fra.me.meth = LOCATE_location___Location___located_in; 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; - REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[1])); - /* ./location.nit:96 */ + /* ./location.nit:53 */ + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - REGB0 = REGB1; + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL); + REGB0 = REGB1; + } } if (UNTAG_Bool(REGB0)) { REGB0 = TAG_Bool(false); goto label1; } - REGB1 = CALL_location___Location___located_in(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - /* ./location.nit:97 */ - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(true); - REGB0 = REGB1; + /* ./location.nit:55 */ + REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + nit_abort("Reciever is null", NULL, LOCATE_location, 55); + } + REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:212 */ + REGB2 = TAG_Bool(UNTAG_Int(REGB1)UNTAG_Int(REGB1)); + /* ./location.nit:56 */ if (UNTAG_Bool(REGB1)) { REGB1 = TAG_Bool(false); REGB0 = REGB1; goto label1; } - REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); - REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]); - REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2)); - /* ./location.nit:100 */ - if (UNTAG_Bool(REGB3)) { - } else { - REGB2 = TAG_Bool((REGB1)==(REGB2)); - REGB3 = REGB2; - /* ./location.nit:100 */ + /* ./location.nit:58 */ + REGB1 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + nit_abort("Reciever is null", NULL, LOCATE_location, 58); } - REGB3 = TAG_Bool(!UNTAG_Bool(REGB3)); - if (UNTAG_Bool(REGB3)) { - REGB3 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); - REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]); - REGB2 = TAG_Bool(UNTAG_Int(REGB3)UNTAG_Int(REGB2)); + /* ./location.nit:58 */ + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(false); + REGB0 = REGB2; goto label1; } - REGB2 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); - REGB3 = CALL_location___Location___column_start(fra.me.REG[1])(fra.me.REG[1]); - REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3)); - /* ./location.nit:101 */ + /* ./location.nit:60 */ + REGB2 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB1)) { + nit_abort("Reciever is null", NULL, LOCATE_location, 60); + } + REGB1 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]); + REGB3 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1)); + if (UNTAG_Bool(REGB3)) { } else { - REGB3 = TAG_Bool((REGB2)==(REGB3)); - REGB1 = REGB3; - /* ./location.nit:101 */ + /* ./../lib/standard//kernel.nit:207 */ + REGB1 = TAG_Bool((REGB2)==(REGB1)); + /* ./location.nit:60 */ + REGB3 = REGB1; } - REGB1 = TAG_Bool(!UNTAG_Bool(REGB1)); - if (UNTAG_Bool(REGB1)) { + if (UNTAG_Bool(REGB3)) { + /* ./location.nit:61 */ + REGB3 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + nit_abort("Reciever is null", NULL, LOCATE_location, 61); + } + REGB1 = CALL_location___Location___column_start(fra.me.REG[1])(fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:212 */ + REGB1 = TAG_Bool(UNTAG_Int(REGB3)UNTAG_Int(REGB3)); + /* ./location.nit:62 */ + if (UNTAG_Bool(REGB3)) { + REGB3 = TAG_Bool(false); + REGB0 = REGB3; + goto label1; + } } + /* ./location.nit:65 */ REGB3 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + nit_abort("Reciever is null", NULL, LOCATE_location, 65); + } REGB1 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]); REGB2 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB1)); - /* ./location.nit:102 */ if (UNTAG_Bool(REGB2)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB1 = TAG_Bool((REGB3)==(REGB1)); + /* ./location.nit:65 */ REGB2 = REGB1; - /* ./location.nit:102 */ } - REGB2 = TAG_Bool(!UNTAG_Bool(REGB2)); if (UNTAG_Bool(REGB2)) { - REGB2 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); - REGB1 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]); - REGB1 = TAG_Bool(UNTAG_Int(REGB2)UNTAG_Int(REGB1)); + } else { + /* ./location.nit:65 */ + REGB2 = TAG_Bool(false); + REGB1 = REGB2; + } + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); REGB0 = REGB1; - /* ./location.nit:102 */ goto label1; } - REGB1 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]); - REGB2 = CALL_location___Location___column_end(fra.me.REG[1])(fra.me.REG[1]); - REGB2 = TAG_Bool(UNTAG_Int(REGB1)UNTAG_Int(REGB1)); /* ./location.nit:72 */ if (UNTAG_Bool(REGB1)) { @@ -325,34 +555,37 @@ val_t location___Location___to_s(val_t p0){ once_value_1 = fra.me.REG[2]; register_static_object(&once_value_1); } else fra.me.REG[2] = once_value_1; + fra.me.REG[2] = fra.me.REG[2]; fra.me.REG[2] = CALL_string___String_____plus(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); fra.me.REG[1] = fra.me.REG[2]; } + /* ./location.nit:74 */ REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); REGB0 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB0)); - /* ./location.nit:74 */ if (UNTAG_Bool(REGB2)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB0 = TAG_Bool((REGB1)==(REGB0)); + /* ./location.nit:74 */ REGB2 = REGB0; - /* ./location.nit:74 */ } if (UNTAG_Bool(REGB2)) { + /* ./location.nit:75 */ REGB2 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); REGB0 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]); REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB0)); - /* ./location.nit:75 */ if (UNTAG_Bool(REGB1)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB0 = TAG_Bool((REGB2)==(REGB0)); + /* ./location.nit:75 */ REGB1 = REGB0; - /* ./location.nit:75 */ } if (UNTAG_Bool(REGB1)) { + /* ./location.nit:76 */ REGB1 = TAG_Int(7); fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB1); - /* ./location.nit:76 */ if (!once_value_2) { fra.me.REG[3] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -360,8 +593,9 @@ val_t location___Location___to_s(val_t p0){ once_value_2 = fra.me.REG[3]; register_static_object(&once_value_2); } else fra.me.REG[3] = once_value_2; - array___Array___add(fra.me.REG[2], fra.me.REG[3]); - array___Array___add(fra.me.REG[2], fra.me.REG[1]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]); if (!once_value_3) { fra.me.REG[3] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -369,10 +603,11 @@ val_t location___Location___to_s(val_t p0){ once_value_3 = fra.me.REG[3]; register_static_object(&once_value_3); } else fra.me.REG[3] = once_value_3; - array___Array___add(fra.me.REG[2], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[3] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[2], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); if (!once_value_4) { fra.me.REG[3] = BOX_NativeString(","); REGB1 = TAG_Int(1); @@ -380,10 +615,11 @@ val_t location___Location___to_s(val_t p0){ once_value_4 = fra.me.REG[3]; register_static_object(&once_value_4); } else fra.me.REG[3] = once_value_4; - array___Array___add(fra.me.REG[2], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[3] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[2], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); if (!once_value_5) { fra.me.REG[3] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -391,13 +627,14 @@ val_t location___Location___to_s(val_t p0){ once_value_5 = fra.me.REG[3]; register_static_object(&once_value_5); } else fra.me.REG[3] = once_value_5; - array___Array___add(fra.me.REG[2], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); goto label6; } else { + /* ./location.nit:78 */ REGB1 = TAG_Int(9); fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1); - /* ./location.nit:78 */ if (!once_value_7) { fra.me.REG[4] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -405,8 +642,9 @@ val_t location___Location___to_s(val_t p0){ once_value_7 = fra.me.REG[4]; register_static_object(&once_value_7); } else fra.me.REG[4] = once_value_7; - array___Array___add(fra.me.REG[3], fra.me.REG[4]); - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + fra.me.REG[4] = fra.me.REG[4]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); if (!once_value_8) { fra.me.REG[4] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -414,10 +652,11 @@ val_t location___Location___to_s(val_t p0){ once_value_8 = fra.me.REG[4]; register_static_object(&once_value_8); } else fra.me.REG[4] = once_value_8; - array___Array___add(fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[4] = fra.me.REG[4]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[3], fra.me.REG[4]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); if (!once_value_9) { fra.me.REG[4] = BOX_NativeString(","); REGB1 = TAG_Int(1); @@ -425,10 +664,11 @@ val_t location___Location___to_s(val_t p0){ once_value_9 = fra.me.REG[4]; register_static_object(&once_value_9); } else fra.me.REG[4] = once_value_9; - array___Array___add(fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[4] = fra.me.REG[4]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[3], fra.me.REG[4]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); if (!once_value_10) { fra.me.REG[4] = BOX_NativeString("--"); REGB1 = TAG_Int(2); @@ -436,10 +676,11 @@ val_t location___Location___to_s(val_t p0){ once_value_10 = fra.me.REG[4]; register_static_object(&once_value_10); } else fra.me.REG[4] = once_value_10; - array___Array___add(fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[4] = fra.me.REG[4]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); REGB1 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[3], fra.me.REG[4]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); if (!once_value_11) { fra.me.REG[4] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -447,15 +688,16 @@ val_t location___Location___to_s(val_t p0){ once_value_11 = fra.me.REG[4]; register_static_object(&once_value_11); } else fra.me.REG[4] = once_value_11; - array___Array___add(fra.me.REG[3], fra.me.REG[4]); + fra.me.REG[4] = fra.me.REG[4]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); fra.me.REG[2] = fra.me.REG[3]; goto label6; } } else { + /* ./location.nit:81 */ REGB1 = TAG_Int(11); fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1); - /* ./location.nit:81 */ if (!once_value_12) { fra.me.REG[4] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -463,8 +705,9 @@ val_t location___Location___to_s(val_t p0){ once_value_12 = fra.me.REG[4]; register_static_object(&once_value_12); } else fra.me.REG[4] = once_value_12; - array___Array___add(fra.me.REG[3], fra.me.REG[4]); - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + fra.me.REG[4] = fra.me.REG[4]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); if (!once_value_13) { fra.me.REG[1] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -472,10 +715,11 @@ val_t location___Location___to_s(val_t p0){ once_value_13 = fra.me.REG[1]; register_static_object(&once_value_13); } else fra.me.REG[1] = once_value_13; - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + fra.me.REG[1] = fra.me.REG[1]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[1] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); if (!once_value_14) { fra.me.REG[1] = BOX_NativeString(","); REGB1 = TAG_Int(1); @@ -483,10 +727,11 @@ val_t location___Location___to_s(val_t p0){ once_value_14 = fra.me.REG[1]; register_static_object(&once_value_14); } else fra.me.REG[1] = once_value_14; - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + fra.me.REG[1] = fra.me.REG[1]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[1] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); if (!once_value_15) { fra.me.REG[1] = BOX_NativeString("--"); REGB1 = TAG_Int(2); @@ -494,10 +739,11 @@ val_t location___Location___to_s(val_t p0){ once_value_15 = fra.me.REG[1]; register_static_object(&once_value_15); } else fra.me.REG[1] = once_value_15; - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + fra.me.REG[1] = fra.me.REG[1]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); REGB1 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[1] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); if (!once_value_16) { fra.me.REG[1] = BOX_NativeString(","); REGB1 = TAG_Int(1); @@ -505,10 +751,11 @@ val_t location___Location___to_s(val_t p0){ once_value_16 = fra.me.REG[1]; register_static_object(&once_value_16); } else fra.me.REG[1] = once_value_16; - array___Array___add(fra.me.REG[3], fra.me.REG[1]); + fra.me.REG[1] = fra.me.REG[1]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); REGB1 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[0] = CALL_string___Object___to_s(REGB1)(REGB1); - array___Array___add(fra.me.REG[3], fra.me.REG[0]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]); if (!once_value_17) { fra.me.REG[0] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -516,7 +763,8 @@ val_t location___Location___to_s(val_t p0){ once_value_17 = fra.me.REG[0]; register_static_object(&once_value_17); } else fra.me.REG[0] = once_value_17; - array___Array___add(fra.me.REG[3], fra.me.REG[0]); + fra.me.REG[0] = fra.me.REG[0]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); fra.me.REG[2] = fra.me.REG[3]; goto label6; @@ -525,448 +773,202 @@ val_t location___Location___to_s(val_t p0){ stack_frame_head = fra.me.prev; return fra.me.REG[2]; } -val_t location___Location___file(val_t p0){ - struct {struct stack_frame_t me;} fra; +val_t location___Location___relative_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; + static val_t once_value_1; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_location; - fra.me.line = 23; - fra.me.meth = LOCATE_location___Location___file; + fra.me.line = 85; + fra.me.meth = LOCATE_location___Location___relative_to; fra.me.has_broke = 0; - fra.me.REG_size = 1; + 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; - REGB0 = TAG_Bool(ATTR_location___Location____file(fra.me.REG[0])!=NIT_NULL); - /* ./location.nit:23 */ + fra.me.REG[1] = p1; + /* ./location.nit:87 */ + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_file"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 23); - nit_exit(1); + REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL); + REGB0 = REGB1; + } } - fra.me.REG[0] = ATTR_location___Location____file(fra.me.REG[0]); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -} -val_t location___Location___line_start(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_location; - fra.me.line = 24; - fra.me.meth = LOCATE_location___Location___line_start; - 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_location___Location____line_start(fra.me.REG[0])!=NIT_NULL); - /* ./location.nit:24 */ + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); if (UNTAG_Bool(REGB0)) { + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + nit_abort("Reciever is null", NULL, LOCATE_location, 87); + } + fra.me.REG[1] = CALL_location___Location___file(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[2] = CALL_location___Location___file(fra.me.REG[0])(fra.me.REG[0]); + REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2])); + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + REGB0 = REGB1; + } } else { - fprintf(stderr, "Uninitialized attribute %s", "_line_start"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 24); - nit_exit(1); + REGB1 = TAG_Bool(false); + REGB0 = REGB1; } - REGB0 = ATTR_location___Location____line_start(fra.me.REG[0]); - stack_frame_head = fra.me.prev; - return REGB0; -} -val_t location___Location___line_end(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_location; - fra.me.line = 25; - fra.me.meth = LOCATE_location___Location___line_end; - 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_location___Location____line_end(fra.me.REG[0])!=NIT_NULL); - /* ./location.nit:25 */ if (UNTAG_Bool(REGB0)) { + /* ./location.nit:88 */ + if (!once_value_1) { + fra.me.REG[2] = BOX_NativeString(""); + REGB0 = TAG_Int(0); + fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0); + once_value_1 = fra.me.REG[2]; + register_static_object(&once_value_1); + } else fra.me.REG[2] = once_value_1; + fra.me.REG[2] = fra.me.REG[2]; + REGB0 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); + REGB3 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]); + fra.me.REG[2] = NEW_Location_location___Location___init(fra.me.REG[2], REGB0, REGB1, REGB2, REGB3); } else { - fprintf(stderr, "Uninitialized attribute %s", "_line_end"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 25); - nit_exit(1); + /* ./location.nit:90 */ + fra.me.REG[1] = CALL_location___Location___file(fra.me.REG[0])(fra.me.REG[0]); + REGB3 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]); + REGB0 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]); + fra.me.REG[1] = NEW_Location_location___Location___init(fra.me.REG[1], REGB3, REGB2, REGB1, REGB0); + fra.me.REG[2] = fra.me.REG[1]; } - REGB0 = ATTR_location___Location____line_end(fra.me.REG[0]); + /* ./location.nit:92 */ + fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); + goto label2; + label2: while(0); stack_frame_head = fra.me.prev; - return REGB0; + return fra.me.REG[2]; } -val_t location___Location___column_start(val_t p0){ - struct {struct stack_frame_t me;} fra; +val_t location___Location_____l(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 REGB3; val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_location; - fra.me.line = 26; - fra.me.meth = LOCATE_location___Location___column_start; + fra.me.line = 95; + fra.me.meth = LOCATE_location___Location_____l; fra.me.has_broke = 0; - fra.me.REG_size = 1; + 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_location___Location____column_start(fra.me.REG[0])!=NIT_NULL); - /* ./location.nit:26 */ + fra.me.REG[1] = p1; + /* ./location.nit:96 */ + REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[1])); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_column_start"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 26); - nit_exit(1); + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + REGB0 = REGB1; } - REGB0 = ATTR_location___Location____column_start(fra.me.REG[0]); - stack_frame_head = fra.me.prev; - return REGB0; -} -val_t location___Location___column_end(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_location; - fra.me.line = 27; - fra.me.meth = LOCATE_location___Location___column_end; - 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_location___Location____column_end(fra.me.REG[0])!=NIT_NULL); - /* ./location.nit:27 */ if (UNTAG_Bool(REGB0)) { - } else { - fprintf(stderr, "Uninitialized attribute %s", "_column_end"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 27); - nit_exit(1); + REGB0 = TAG_Bool(false); + goto label1; } - REGB0 = ATTR_location___Location____column_end(fra.me.REG[0]); - stack_frame_head = fra.me.prev; - return REGB0; -} -void location___Location___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){ - int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Location].i; - 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; - if (init_table[itpos0]) return; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_location; - fra.me.line = 29; - fra.me.meth = LOCATE_location___Location___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; - fra.me.REG[1] = p1; - REGB0 = p2; - REGB1 = p3; - REGB2 = p4; - REGB3 = p5; - /* ./location.nit:30 */ - ATTR_location___Location____file(fra.me.REG[0]) = fra.me.REG[1]; - /* ./location.nit:31 */ - ATTR_location___Location____line_start(fra.me.REG[0]) = REGB0; - /* ./location.nit:32 */ - ATTR_location___Location____line_end(fra.me.REG[0]) = REGB1; - /* ./location.nit:33 */ - ATTR_location___Location____column_start(fra.me.REG[0]) = REGB2; - /* ./location.nit:34 */ - ATTR_location___Location____column_end(fra.me.REG[0]) = REGB3; - stack_frame_head = fra.me.prev; - init_table[itpos0] = 1; - return; -} -void location___Location___with_file(val_t p0, val_t p1, int* init_table){ - int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Location].i; - 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; - if (init_table[itpos1]) return; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_location; - fra.me.line = 37; - fra.me.meth = LOCATE_location___Location___with_file; - 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; - REGB0 = TAG_Int(0); - REGB1 = TAG_Int(0); - REGB2 = TAG_Int(0); - REGB3 = TAG_Int(0); - /* ./location.nit:37 */ - CALL_location___Location___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], REGB0, REGB1, REGB2, REGB3, init_table); - stack_frame_head = fra.me.prev; - init_table[itpos1] = 1; - return; -} -val_t location___Location___located_in(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 REGB3; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_location; - fra.me.line = 52; - fra.me.meth = LOCATE_location___Location___located_in; - 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; - REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - /* ./location.nit:53 */ - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(false); - REGB0 = REGB1; - } else { - REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL); - REGB0 = REGB1; - } - } - if (UNTAG_Bool(REGB0)) { - REGB0 = TAG_Bool(false); - goto label1; - } - REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); - REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - /* ./location.nit:55 */ - if (UNTAG_Bool(REGB2)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 55); - nit_exit(1); - } - REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]); - REGB2 = TAG_Bool(UNTAG_Int(REGB1)UNTAG_Int(REGB1)); - /* ./location.nit:56 */ + /* ./location.nit:98 */ + REGB1 = CALL_location___Location___located_in(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); if (UNTAG_Bool(REGB1)) { REGB1 = TAG_Bool(false); REGB0 = REGB1; goto label1; } - REGB1 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); - REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - /* ./location.nit:58 */ - if (UNTAG_Bool(REGB2)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_location, 58); - nit_exit(1); + /* ./location.nit:100 */ + REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]); + REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2)); + if (UNTAG_Bool(REGB3)) { + } else { + /* ./../lib/standard//kernel.nit:207 */ + REGB2 = TAG_Bool((REGB1)==(REGB2)); + /* ./location.nit:100 */ + REGB3 = REGB2; } - REGB2 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]); - REGB2 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB2)); - /* ./location.nit:58 */ - if (UNTAG_Bool(REGB2)) { - REGB2 = TAG_Bool(false); + REGB3 = TAG_Bool(!UNTAG_Bool(REGB3)); + if (UNTAG_Bool(REGB3)) { + REGB3 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]); + REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:212 */ + REGB2 = TAG_Bool(UNTAG_Int(REGB3)UNTAG_Int(REGB3)); - /* ./location.nit:62 */ - if (UNTAG_Bool(REGB3)) { - REGB3 = TAG_Bool(false); - REGB0 = REGB3; - goto label1; - } + REGB3 = CALL_location___Location___column_start(fra.me.REG[1])(fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:212 */ + REGB3 = TAG_Bool(UNTAG_Int(REGB1)UNTAG_Int(REGB1)); - /* ./location.nit:65 */ - } else { - REGB2 = TAG_Bool(false); - REGB1 = REGB2; - } - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(false); + REGB2 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]); + REGB1 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:212 */ + REGB1 = TAG_Bool(UNTAG_Int(REGB2)