X-Git-Url: http://nitlanguage.org diff --git a/c_src/syntax_base._sep.c b/c_src/syntax_base._sep.c index 3cf8070..3357bff 100644 --- a/c_src/syntax_base._sep.c +++ b/c_src/syntax_base._sep.c @@ -1,112 +1,5 @@ /* This C file is generated by NIT to compile module syntax_base. */ #include "syntax_base._sep.h" -val_t syntax_base___MMSrcModule___nodes(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_syntax_base; - fra.me.line = 47; - fra.me.meth = LOCATE_syntax_base___MMSrcModule___nodes; - 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; - fra.me.REG[2] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - /* ./syntax//syntax_base.nit:49 */ - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(false); - REGB0 = REGB1; - } else { - REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); - REGB0 = REGB1; - } - } - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - if (UNTAG_Bool(REGB0)) { - fra.me.REG[2] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 49); - nit_exit(1); - } - REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]); - } else { - REGB1 = TAG_Bool(false); - REGB0 = REGB1; - } - if (UNTAG_Bool(REGB0)) { - fra.me.REG[0] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL); - if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 49); - nit_exit(1); - } - fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - goto label1; - } else { - fra.me.REG[1] = NIT_NULL; - goto label1; - } - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[1]; -} -void syntax_base___MMSrcModule___nodes__eq(val_t p0, val_t p1, val_t p2){ - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_syntax_base; - fra.me.line = 51; - fra.me.meth = LOCATE_syntax_base___MMSrcModule___nodes__eq; - 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; - fra.me.REG[1] = p1; - fra.me.REG[2] = p2; - fra.me.REG[3] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); - /* ./syntax//syntax_base.nit:53 */ - if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 53); - nit_exit(1); - } - REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - if (UNTAG_Bool(REGB0)) { - } else { - fprintf(stderr, "Assert failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 53); - nit_exit(1); - } - fra.me.REG[0] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL); - /* ./syntax//syntax_base.nit:54 */ - if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 54); - nit_exit(1); - } - CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]); - stack_frame_head = fra.me.prev; - return; -} void syntax_base___MMSrcModule___clear_ast(val_t p0){ struct {struct stack_frame_t me;} fra; val_t tmp; @@ -135,14 +28,12 @@ val_t syntax_base___MMSrcModule___node(val_t p0){ fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:35 */ fra.me.REG[0] = CALL_syntax_base___MMModule___nodes(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[0]); REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AModule, ID_AModule)) /*cast AModule*/; - /* ./syntax//syntax_base.nit:35 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Cast failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 35); - nit_exit(1); + nit_abort("Cast failed", NULL, LOCATE_syntax_base, 35); } goto label1; label1: while(0); @@ -161,13 +52,11 @@ val_t syntax_base___MMSrcModule___src_local_classes(val_t p0){ fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - REGB0 = TAG_Bool(ATTR_syntax_base___MMSrcModule____src_local_classes(fra.me.REG[0])!=NIT_NULL); /* ./syntax//syntax_base.nit:37 */ + REGB0 = TAG_Bool(ATTR_syntax_base___MMSrcModule____src_local_classes(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_src_local_classes"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 37); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_src_local_classes", LOCATE_syntax_base, 37); } fra.me.REG[0] = ATTR_syntax_base___MMSrcModule____src_local_classes(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -197,18 +86,116 @@ void syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3, va fra.me.REG[3] = p3; fra.me.REG[4] = p4; fra.me.REG[5] = p5; + /* ./syntax//syntax_base.nit:40 */ fra.me.REG[6] = fra.me.REG[0]; /* ./syntax//syntax_base.nit:42 */ CALL_abstractmetamodel___MMModule___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3], fra.me.REG[1], fra.me.REG[5], init_table); /* ./syntax//syntax_base.nit:43 */ CALL_syntax_base___MMModule___nodes__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[6], fra.me.REG[2]); - fra.me.REG[2] = NEW_HashMap_hash_collection___HashMap___init(); /* ./syntax//syntax_base.nit:44 */ + fra.me.REG[2] = NEW_HashMap_hash_collection___HashMap___init(); ATTR_syntax_base___MMSrcModule____src_local_classes(fra.me.REG[6]) = fra.me.REG[2]; stack_frame_head = fra.me.prev; init_table[itpos0] = 1; return; } +val_t syntax_base___MMSrcModule___nodes(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_syntax_base; + fra.me.line = 47; + fra.me.meth = LOCATE_syntax_base___MMSrcModule___nodes; + 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; + /* ./syntax//syntax_base.nit:49 */ + fra.me.REG[2] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); + REGB0 = REGB1; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + fra.me.REG[2] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); + REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 49); + } + REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]); + } else { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } + if (UNTAG_Bool(REGB0)) { + fra.me.REG[0] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); + REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 49); + } + fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + goto label1; + } else { + fra.me.REG[1] = NIT_NULL; + goto label1; + } + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; +} +void syntax_base___MMSrcModule___nodes__eq(val_t p0, val_t p1, val_t p2){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_syntax_base; + fra.me.line = 51; + fra.me.meth = LOCATE_syntax_base___MMSrcModule___nodes__eq; + 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; + fra.me.REG[1] = p1; + fra.me.REG[2] = p2; + /* ./syntax//syntax_base.nit:53 */ + fra.me.REG[3] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); + REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 53); + } + REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + } else { + nit_abort("Assert failed", NULL, LOCATE_syntax_base, 53); + } + /* ./syntax//syntax_base.nit:54 */ + fra.me.REG[0] = ATTR_syntax_base___MMSrcModule____nodes(fra.me.REG[0]); + REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 54); + } + CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]); + stack_frame_head = fra.me.prev; + return; +} val_t syntax_base___MMModule___nodes(val_t p0, val_t p1){ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; val_t tmp; @@ -222,8 +209,8 @@ val_t syntax_base___MMModule___nodes(val_t p0, val_t p1){ fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - fra.me.REG[1] = NIT_NULL; /* ./syntax//syntax_base.nit:60 */ + fra.me.REG[1] = NIT_NULL; goto label1; label1: while(0); stack_frame_head = fra.me.prev; @@ -245,9 +232,7 @@ void syntax_base___MMModule___nodes__eq(val_t p0, val_t p1, val_t p2){ fra.me.REG[1] = p1; fra.me.REG[2] = p2; /* ./syntax//syntax_base.nit:62 */ - fprintf(stderr, "Aborted"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 62); - nit_exit(1); + nit_abort("Aborted", NULL, LOCATE_syntax_base, 62); stack_frame_head = fra.me.prev; return; } @@ -279,44 +264,46 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t p0, val_t p1, val_t p fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; + /* ./syntax//syntax_base.nit:68 */ fra.me.REG[4] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[4] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[4])(fra.me.REG[4]); - REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/; + fra.me.REG[4] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[4])(fra.me.REG[4]); /* ./syntax//syntax_base.nit:69 */ + REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/; if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Assert failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 69); - nit_exit(1); + nit_abort("Assert failed", NULL, LOCATE_syntax_base, 69); } + /* ./syntax//syntax_base.nit:70 */ REGB0 = CALL_abstractmetamodel___MMModule___visibility_for(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:71 */ REGB1 = TAG_Int(3); REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); - /* ./syntax//syntax_base.nit:71 */ if (UNTAG_Bool(REGB2)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB1 = TAG_Bool((REGB0)==(REGB1)); + /* ./syntax//syntax_base.nit:71 */ REGB2 = REGB1; - /* ./syntax//syntax_base.nit:71 */ } if (UNTAG_Bool(REGB2)) { - REGB2 = TAG_Bool(true); /* ./syntax//syntax_base.nit:72 */ + REGB2 = TAG_Bool(true); goto label1; } else { + /* ./syntax//syntax_base.nit:73 */ REGB1 = TAG_Int(0); REGB3 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); - /* ./syntax//syntax_base.nit:73 */ if (UNTAG_Bool(REGB3)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB1 = TAG_Bool((REGB0)==(REGB1)); + /* ./syntax//syntax_base.nit:73 */ REGB3 = REGB1; - /* ./syntax//syntax_base.nit:73 */ } if (UNTAG_Bool(REGB3)) { + /* ./syntax//syntax_base.nit:74 */ REGB3 = TAG_Int(5); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB3); - /* ./syntax//syntax_base.nit:74 */ if (!once_value_2) { fra.me.REG[5] = BOX_NativeString("Visibility error: Class "); REGB3 = TAG_Int(24); @@ -324,9 +311,10 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t p0, val_t p1, val_t p once_value_2 = fra.me.REG[5]; register_static_object(&once_value_2); } else fra.me.REG[5] = once_value_2; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]); - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); if (!once_value_3) { fra.me.REG[5] = BOX_NativeString(" comes from the hidden module "); REGB3 = TAG_Int(30); @@ -334,9 +322,10 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t p0, val_t p1, val_t p once_value_3 = fra.me.REG[5]; register_static_object(&once_value_3); } else fra.me.REG[5] = once_value_3; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); - array___Array___add(fra.me.REG[4], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); if (!once_value_4) { fra.me.REG[3] = BOX_NativeString("."); REGB3 = TAG_Int(1); @@ -344,22 +333,25 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t p0, val_t p1, val_t p 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[4], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:75 */ REGB3 = TAG_Bool(false); REGB2 = REGB3; - /* ./syntax//syntax_base.nit:75 */ goto label1; } else { + /* ./syntax//syntax_base.nit:76 */ REGB3 = CALL_abstractmetamodel___MMGlobalClass___visibility_level(fra.me.REG[0])(fra.me.REG[0]); REGB1 = TAG_Int(3); + /* ./../lib/standard//kernel.nit:213 */ REGB1 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB1)); /* ./syntax//syntax_base.nit:76 */ if (UNTAG_Bool(REGB1)) { + /* ./syntax//syntax_base.nit:77 */ REGB1 = TAG_Int(3); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1); - /* ./syntax//syntax_base.nit:77 */ if (!once_value_5) { fra.me.REG[3] = BOX_NativeString("Visibility error: Class "); REGB1 = TAG_Int(24); @@ -367,9 +359,10 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t p0, val_t p1, val_t p 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[4], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]); - array___Array___add(fra.me.REG[4], fra.me.REG[0]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]); if (!once_value_6) { fra.me.REG[0] = BOX_NativeString(" is private."); REGB1 = TAG_Int(12); @@ -377,19 +370,20 @@ val_t syntax_base___MMGlobalClass___check_visibility(val_t p0, val_t p1, val_t p once_value_6 = fra.me.REG[0]; register_static_object(&once_value_6); } else fra.me.REG[0] = once_value_6; - array___Array___add(fra.me.REG[4], fra.me.REG[0]); + fra.me.REG[0] = fra.me.REG[0]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:78 */ REGB1 = TAG_Bool(false); REGB2 = REGB1; - /* ./syntax//syntax_base.nit:78 */ goto label1; } } } + /* ./syntax//syntax_base.nit:80 */ REGB1 = TAG_Bool(true); REGB2 = REGB1; - /* ./syntax//syntax_base.nit:80 */ goto label1; label1: while(0); stack_frame_head = fra.me.prev; @@ -408,15 +402,13 @@ val_t syntax_base___MMSrcLocalClass___node(val_t p0){ fra.me.REG[0] = NIT_NULL; fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; - fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[0])(fra.me.REG[0]); + /* ./syntax//syntax_base.nit:88 */ + fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[0] = CALL_syntax_base___MMModule___nodes(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); REGB0 = TAG_Bool((fra.me.REG[0]==NIT_NULL) || VAL_ISA(fra.me.REG[0], COLOR_AClassdef, ID_AClassdef)) /*cast nullable AClassdef*/; - /* ./syntax//syntax_base.nit:88 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Cast failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 88); - nit_exit(1); + nit_abort("Cast failed", NULL, LOCATE_syntax_base, 88); } goto label1; label1: while(0); @@ -435,13 +427,11 @@ val_t syntax_base___MMSrcLocalClass___formal_dict(val_t p0){ fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - REGB0 = TAG_Bool(ATTR_syntax_base___MMSrcLocalClass____formal_dict(fra.me.REG[0])!=NIT_NULL); /* ./syntax//syntax_base.nit:90 */ + REGB0 = TAG_Bool(ATTR_syntax_base___MMSrcLocalClass____formal_dict(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_formal_dict"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 90); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_formal_dict", LOCATE_syntax_base, 90); } fra.me.REG[0] = ATTR_syntax_base___MMSrcLocalClass____formal_dict(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -459,13 +449,11 @@ val_t syntax_base___MMSrcLocalClass___src_local_properties(val_t p0){ fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - REGB0 = TAG_Bool(ATTR_syntax_base___MMSrcLocalClass____src_local_properties(fra.me.REG[0])!=NIT_NULL); /* ./syntax//syntax_base.nit:93 */ + REGB0 = TAG_Bool(ATTR_syntax_base___MMSrcLocalClass____src_local_properties(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_src_local_properties"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 93); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_src_local_properties", LOCATE_syntax_base, 93); } fra.me.REG[0] = ATTR_syntax_base___MMSrcLocalClass____src_local_properties(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -493,13 +481,14 @@ void syntax_base___MMSrcLocalClass___init(val_t p0, val_t p1, val_t p2, val_t p3 fra.me.REG[2] = p2; fra.me.REG[3] = p3; REGB0 = p4; + /* ./syntax//syntax_base.nit:96 */ fra.me.REG[4] = fra.me.REG[0]; /* ./syntax//syntax_base.nit:98 */ CALL_abstractmetamodel___MMLocalClass___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], REGB0, init_table); /* ./syntax//syntax_base.nit:99 */ CALL_syntax_base___MMModule___nodes__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[3]); - fra.me.REG[3] = NEW_HashMap_hash_collection___HashMap___init(); /* ./syntax//syntax_base.nit:100 */ + fra.me.REG[3] = NEW_HashMap_hash_collection___HashMap___init(); ATTR_syntax_base___MMSrcLocalClass____src_local_properties(fra.me.REG[4]) = fra.me.REG[3]; stack_frame_head = fra.me.prev; init_table[itpos1] = 1; @@ -537,44 +526,46 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ fra.me.REG[2] = p2; fra.me.REG[3] = p3; REGB0 = p4; + /* ./syntax//syntax_base.nit:107 */ fra.me.REG[4] = CALL_abstractmetamodel___MMGlobalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[4] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[4])(fra.me.REG[4]); - REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/; + fra.me.REG[4] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[4])(fra.me.REG[4]); /* ./syntax//syntax_base.nit:108 */ + REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/; if (UNTAG_Bool(REGB1)) { } else { - fprintf(stderr, "Assert failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 108); - nit_exit(1); + nit_abort("Assert failed", NULL, LOCATE_syntax_base, 108); } + /* ./syntax//syntax_base.nit:109 */ REGB1 = CALL_abstractmetamodel___MMModule___visibility_for(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:110 */ REGB2 = TAG_Int(3); REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2)); - /* ./syntax//syntax_base.nit:110 */ if (UNTAG_Bool(REGB3)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB2 = TAG_Bool((REGB1)==(REGB2)); + /* ./syntax//syntax_base.nit:110 */ REGB3 = REGB2; - /* ./syntax//syntax_base.nit:110 */ } if (UNTAG_Bool(REGB3)) { - REGB3 = TAG_Bool(true); /* ./syntax//syntax_base.nit:111 */ + REGB3 = TAG_Bool(true); goto label1; } else { + /* ./syntax//syntax_base.nit:112 */ REGB2 = TAG_Int(0); REGB4 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2)); - /* ./syntax//syntax_base.nit:112 */ if (UNTAG_Bool(REGB4)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB2 = TAG_Bool((REGB1)==(REGB2)); + /* ./syntax//syntax_base.nit:112 */ REGB4 = REGB2; - /* ./syntax//syntax_base.nit:112 */ } if (UNTAG_Bool(REGB4)) { + /* ./syntax//syntax_base.nit:114 */ REGB4 = TAG_Int(5); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB4); - /* ./syntax//syntax_base.nit:114 */ if (!once_value_2) { fra.me.REG[5] = BOX_NativeString("Visibility error: Property "); REGB4 = TAG_Int(27); @@ -582,9 +573,10 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ once_value_2 = fra.me.REG[5]; register_static_object(&once_value_2); } else fra.me.REG[5] = once_value_2; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]); - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); if (!once_value_3) { fra.me.REG[5] = BOX_NativeString(" comes from the hidden module "); REGB4 = TAG_Int(30); @@ -592,9 +584,10 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ once_value_3 = fra.me.REG[5]; register_static_object(&once_value_3); } else fra.me.REG[5] = once_value_3; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); - array___Array___add(fra.me.REG[4], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); if (!once_value_4) { fra.me.REG[3] = BOX_NativeString("."); REGB4 = TAG_Int(1); @@ -602,22 +595,25 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ 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[4], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:115 */ REGB4 = TAG_Bool(false); REGB3 = REGB4; - /* ./syntax//syntax_base.nit:115 */ goto label1; } else { + /* ./syntax//syntax_base.nit:116 */ REGB4 = CALL_abstractmetamodel___MMGlobalProperty___visibility_level(fra.me.REG[0])(fra.me.REG[0]); REGB2 = TAG_Int(3); + /* ./../lib/standard//kernel.nit:213 */ REGB2 = TAG_Bool(UNTAG_Int(REGB4)>=UNTAG_Int(REGB2)); /* ./syntax//syntax_base.nit:116 */ if (UNTAG_Bool(REGB2)) { + /* ./syntax//syntax_base.nit:117 */ REGB2 = TAG_Int(3); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB2); - /* ./syntax//syntax_base.nit:117 */ if (!once_value_5) { fra.me.REG[3] = BOX_NativeString("Visibility error: Property "); REGB2 = TAG_Int(27); @@ -625,9 +621,10 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ 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[4], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]); - array___Array___add(fra.me.REG[4], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); if (!once_value_6) { fra.me.REG[3] = BOX_NativeString(" is private."); REGB2 = TAG_Int(12); @@ -635,16 +632,19 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ once_value_6 = fra.me.REG[3]; register_static_object(&once_value_6); } else fra.me.REG[3] = once_value_6; - array___Array___add(fra.me.REG[4], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:118 */ REGB2 = TAG_Bool(false); REGB3 = REGB2; - /* ./syntax//syntax_base.nit:118 */ goto label1; } else { + /* ./syntax//syntax_base.nit:119 */ REGB2 = CALL_abstractmetamodel___MMGlobalProperty___visibility_level(fra.me.REG[0])(fra.me.REG[0]); REGB4 = TAG_Int(2); + /* ./../lib/standard//kernel.nit:213 */ REGB4 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB4)); /* ./syntax//syntax_base.nit:119 */ if (UNTAG_Bool(REGB4)) { @@ -654,9 +654,9 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ REGB0 = REGB4; } if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:120 */ REGB0 = TAG_Int(3); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0); - /* ./syntax//syntax_base.nit:120 */ if (!once_value_7) { fra.me.REG[3] = BOX_NativeString("Visibility error: Property "); REGB0 = TAG_Int(27); @@ -664,9 +664,10 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ once_value_7 = fra.me.REG[3]; register_static_object(&once_value_7); } else fra.me.REG[3] = once_value_7; - array___Array___add(fra.me.REG[4], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]); - array___Array___add(fra.me.REG[4], fra.me.REG[0]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]); if (!once_value_8) { fra.me.REG[0] = BOX_NativeString(" is protected and can only acceded by self."); REGB0 = TAG_Int(43); @@ -674,20 +675,21 @@ val_t syntax_base___MMGlobalProperty___check_visibility(val_t p0, val_t p1, val_ once_value_8 = fra.me.REG[0]; register_static_object(&once_value_8); } else fra.me.REG[0] = once_value_8; - array___Array___add(fra.me.REG[4], fra.me.REG[0]); + fra.me.REG[0] = fra.me.REG[0]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:121 */ REGB0 = TAG_Bool(false); REGB3 = REGB0; - /* ./syntax//syntax_base.nit:121 */ goto label1; } } } } + /* ./syntax//syntax_base.nit:123 */ REGB0 = TAG_Bool(true); REGB3 = REGB0; - /* ./syntax//syntax_base.nit:123 */ goto label1; label1: while(0); stack_frame_head = fra.me.prev; @@ -704,8 +706,8 @@ val_t syntax_base___MMLocalProperty___node(val_t p0){ fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - fra.me.REG[0] = NIT_NULL; /* ./syntax//syntax_base.nit:129 */ + fra.me.REG[0] = NIT_NULL; goto label1; label1: while(0); stack_frame_head = fra.me.prev; @@ -723,8 +725,8 @@ val_t syntax_base___MMLocalProperty___is_init(val_t p0){ fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - REGB0 = TAG_Bool(false); /* ./syntax//syntax_base.nit:132 */ + REGB0 = TAG_Bool(false); goto label1; label1: while(0); stack_frame_head = fra.me.prev; @@ -743,15 +745,13 @@ val_t syntax_base___MMSrcAttribute___node(val_t p0){ fra.me.REG[0] = NIT_NULL; fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; - fra.me.REG[1] = CALL_abstractmetamodel___MMLocalProperty___module(fra.me.REG[0])(fra.me.REG[0]); + /* ./syntax//syntax_base.nit:138 */ + fra.me.REG[1] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[0] = CALL_syntax_base___MMModule___nodes(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); REGB0 = TAG_Bool((fra.me.REG[0]==NIT_NULL) || VAL_ISA(fra.me.REG[0], COLOR_AAttrPropdef, ID_AAttrPropdef)) /*cast nullable AAttrPropdef*/; - /* ./syntax//syntax_base.nit:138 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Cast failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 138); - nit_exit(1); + nit_abort("Cast failed", NULL, LOCATE_syntax_base, 138); } goto label1; label1: while(0); @@ -778,11 +778,12 @@ void syntax_base___MMSrcAttribute___init(val_t p0, val_t p1, val_t p2, val_t p3, fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; + /* ./syntax//syntax_base.nit:139 */ fra.me.REG[4] = fra.me.REG[0]; /* ./syntax//syntax_base.nit:141 */ CALL_abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); - fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[2])(fra.me.REG[2]); /* ./syntax//syntax_base.nit:142 */ + fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[2])(fra.me.REG[2]); CALL_syntax_base___MMModule___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4], fra.me.REG[3]); stack_frame_head = fra.me.prev; init_table[itpos2] = 1; @@ -800,8 +801,8 @@ val_t syntax_base___MMSrcMethod___is_intern(val_t p0){ fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - REGB0 = TAG_Bool(false); /* ./syntax//syntax_base.nit:149 */ + REGB0 = TAG_Bool(false); goto label1; label1: while(0); stack_frame_head = fra.me.prev; @@ -819,35 +820,51 @@ val_t syntax_base___MMSrcMethod___is_abstract(val_t p0){ fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - REGB0 = TAG_Bool(false); /* ./syntax//syntax_base.nit:150 */ + REGB0 = TAG_Bool(false); goto label1; label1: while(0); stack_frame_head = fra.me.prev; return REGB0; } +val_t syntax_base___MMSrcMethod___extern_name(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_syntax_base; + fra.me.line = 151; + fra.me.meth = LOCATE_syntax_base___MMSrcMethod___extern_name; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:151 */ + fra.me.REG[0] = NIT_NULL; + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} val_t syntax_base___MMAttrImplementationMethod___node(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_syntax_base; - fra.me.line = 156; + fra.me.line = 157; fra.me.meth = LOCATE_syntax_base___MMAttrImplementationMethod___node; 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] = CALL_abstractmetamodel___MMLocalProperty___module(fra.me.REG[0])(fra.me.REG[0]); + /* ./syntax//syntax_base.nit:157 */ + fra.me.REG[1] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[0] = CALL_syntax_base___MMModule___nodes(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); REGB0 = TAG_Bool((fra.me.REG[0]==NIT_NULL) || VAL_ISA(fra.me.REG[0], COLOR_AAttrPropdef, ID_AAttrPropdef)) /*cast nullable AAttrPropdef*/; - /* ./syntax//syntax_base.nit:156 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Cast failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 156); - nit_exit(1); + nit_abort("Cast failed", NULL, LOCATE_syntax_base, 157); } goto label1; label1: while(0); @@ -861,7 +878,7 @@ void syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p if (init_table[itpos3]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 157; + fra.me.line = 158; fra.me.meth = LOCATE_syntax_base___MMAttrImplementationMethod___init; fra.me.has_broke = 0; fra.me.REG_size = 5; @@ -874,11 +891,12 @@ void syntax_base___MMAttrImplementationMethod___init(val_t p0, val_t p1, val_t p fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; + /* ./syntax//syntax_base.nit:158 */ fra.me.REG[4] = fra.me.REG[0]; - /* ./syntax//syntax_base.nit:159 */ - CALL_abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); - fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[2])(fra.me.REG[2]); /* ./syntax//syntax_base.nit:160 */ + CALL_abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); + /* ./syntax//syntax_base.nit:161 */ + fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[2])(fra.me.REG[2]); CALL_syntax_base___MMModule___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4], fra.me.REG[3]); stack_frame_head = fra.me.prev; init_table[itpos3] = 1; @@ -891,7 +909,7 @@ void syntax_base___MMReadImplementationMethod___init(val_t p0, val_t p1, val_t p if (init_table[itpos4]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 167; + fra.me.line = 168; fra.me.meth = LOCATE_syntax_base___MMReadImplementationMethod___init; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -903,7 +921,7 @@ void syntax_base___MMReadImplementationMethod___init(val_t p0, val_t p1, val_t p fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; - /* ./syntax//syntax_base.nit:169 */ + /* ./syntax//syntax_base.nit:170 */ CALL_syntax_base___MMAttrImplementationMethod___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3], init_table); stack_frame_head = fra.me.prev; init_table[itpos4] = 1; @@ -916,7 +934,7 @@ void syntax_base___MMWriteImplementationMethod___init(val_t p0, val_t p1, val_t if (init_table[itpos5]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 176; + fra.me.line = 177; fra.me.meth = LOCATE_syntax_base___MMWriteImplementationMethod___init; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -928,111 +946,137 @@ void syntax_base___MMWriteImplementationMethod___init(val_t p0, val_t p1, val_t fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; - /* ./syntax//syntax_base.nit:178 */ + /* ./syntax//syntax_base.nit:179 */ CALL_syntax_base___MMAttrImplementationMethod___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3], init_table); stack_frame_head = fra.me.prev; init_table[itpos5] = 1; return; } -val_t syntax_base___MMMethSrcMethod___is_intern(val_t p0){ +val_t syntax_base___MMMethSrcMethod___is_init(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_syntax_base; fra.me.line = 186; - fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___is_intern; + fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___is_init; 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_syntax_base___MMMethSrcMethod____is_intern(fra.me.REG[0])!=NIT_NULL); /* ./syntax//syntax_base.nit:186 */ + REGB0 = TAG_Bool(ATTR_syntax_base___MMMethSrcMethod____is_init(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_is_intern"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 186); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_is_init", LOCATE_syntax_base, 186); } - REGB0 = ATTR_syntax_base___MMMethSrcMethod____is_intern(fra.me.REG[0]); + REGB0 = ATTR_syntax_base___MMMethSrcMethod____is_init(fra.me.REG[0]); stack_frame_head = fra.me.prev; return REGB0; } -val_t syntax_base___MMMethSrcMethod___is_abstract(val_t p0){ +val_t syntax_base___MMMethSrcMethod___is_intern(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_syntax_base; fra.me.line = 187; - fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___is_abstract; + fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___is_intern; 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_syntax_base___MMMethSrcMethod____is_abstract(fra.me.REG[0])!=NIT_NULL); /* ./syntax//syntax_base.nit:187 */ + REGB0 = TAG_Bool(ATTR_syntax_base___MMMethSrcMethod____is_intern(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_is_abstract"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 187); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_is_intern", LOCATE_syntax_base, 187); } - REGB0 = ATTR_syntax_base___MMMethSrcMethod____is_abstract(fra.me.REG[0]); + REGB0 = ATTR_syntax_base___MMMethSrcMethod____is_intern(fra.me.REG[0]); stack_frame_head = fra.me.prev; return REGB0; } -val_t syntax_base___MMMethSrcMethod___node(val_t p0){ - struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; +val_t syntax_base___MMMethSrcMethod___is_abstract(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_syntax_base; fra.me.line = 188; - fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___node; + fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___is_abstract; fra.me.has_broke = 0; - fra.me.REG_size = 2; + fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; - fra.me.REG[1] = CALL_abstractmetamodel___MMLocalProperty___module(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[0] = CALL_syntax_base___MMModule___nodes(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); - REGB0 = TAG_Bool((fra.me.REG[0]==NIT_NULL) || VAL_ISA(fra.me.REG[0], COLOR_AMethPropdef, ID_AMethPropdef)) /*cast nullable AMethPropdef*/; /* ./syntax//syntax_base.nit:188 */ + REGB0 = TAG_Bool(ATTR_syntax_base___MMMethSrcMethod____is_abstract(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Cast failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 188); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_is_abstract", LOCATE_syntax_base, 188); } - goto label1; - label1: while(0); + REGB0 = ATTR_syntax_base___MMMethSrcMethod____is_abstract(fra.me.REG[0]); stack_frame_head = fra.me.prev; - return fra.me.REG[0]; + return REGB0; } -val_t syntax_base___MMMethSrcMethod___is_init(val_t p0){ +val_t syntax_base___MMMethSrcMethod___extern_name(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_syntax_base; - fra.me.line = 185; - fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___is_init; + fra.me.line = 189; + fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___extern_name; 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_syntax_base___MMMethSrcMethod____is_init(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:185 */ + /* ./syntax//syntax_base.nit:189 */ + fra.me.REG[0] = ATTR_syntax_base___MMMethSrcMethod____extern_name(fra.me.REG[0]); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} +void syntax_base___MMMethSrcMethod___extern_name__eq(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_syntax_base; + fra.me.line = 189; + fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___extern_name__eq; + 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; + /* ./syntax//syntax_base.nit:189 */ + ATTR_syntax_base___MMMethSrcMethod____extern_name(fra.me.REG[0]) = fra.me.REG[1]; + stack_frame_head = fra.me.prev; + return; +} +val_t syntax_base___MMMethSrcMethod___node(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_syntax_base; + fra.me.line = 190; + fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___node; + 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; + /* ./syntax//syntax_base.nit:190 */ + fra.me.REG[1] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[0])(fra.me.REG[0]); + fra.me.REG[0] = CALL_syntax_base___MMModule___nodes(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + REGB0 = TAG_Bool((fra.me.REG[0]==NIT_NULL) || VAL_ISA(fra.me.REG[0], COLOR_AMethPropdef, ID_AMethPropdef)) /*cast nullable AMethPropdef*/; if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_is_init"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 185); - nit_exit(1); + nit_abort("Cast failed", NULL, LOCATE_syntax_base, 190); } - REGB0 = ATTR_syntax_base___MMMethSrcMethod____is_init(fra.me.REG[0]); + goto label1; + label1: while(0); stack_frame_head = fra.me.prev; - return REGB0; + return fra.me.REG[0]; } void syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){ int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMMethSrcMethod].i; @@ -1042,7 +1086,7 @@ void syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2, val_t p3 if (init_table[itpos6]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 189; + fra.me.line = 191; fra.me.meth = LOCATE_syntax_base___MMMethSrcMethod___init; fra.me.has_broke = 0; fra.me.REG_size = 5; @@ -1055,24 +1099,27 @@ void syntax_base___MMMethSrcMethod___init(val_t p0, val_t p1, val_t p2, val_t p3 fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; - fra.me.REG[4] = fra.me.REG[0]; /* ./syntax//syntax_base.nit:191 */ + fra.me.REG[4] = fra.me.REG[0]; + /* ./syntax//syntax_base.nit:193 */ CALL_abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); - fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[2])(fra.me.REG[2]); - /* ./syntax//syntax_base.nit:192 */ + /* ./syntax//syntax_base.nit:194 */ + fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[2])(fra.me.REG[2]); CALL_syntax_base___MMModule___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4], fra.me.REG[3]); + /* ./syntax//syntax_base.nit:195 */ fra.me.REG[3] = CALL_syntax_base___MMLocalProperty___node(fra.me.REG[4])(fra.me.REG[4]); REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/; - /* ./syntax//syntax_base.nit:193 */ ATTR_syntax_base___MMMethSrcMethod____is_init(fra.me.REG[4]) = REGB0; + /* ./syntax//syntax_base.nit:196 */ fra.me.REG[3] = CALL_syntax_base___MMLocalProperty___node(fra.me.REG[4])(fra.me.REG[4]); REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_AInternMethPropdef, ID_AInternMethPropdef)) /*cast AInternMethPropdef*/; - /* ./syntax//syntax_base.nit:194 */ ATTR_syntax_base___MMMethSrcMethod____is_intern(fra.me.REG[4]) = REGB0; + /* ./syntax//syntax_base.nit:197 */ fra.me.REG[3] = CALL_syntax_base___MMLocalProperty___node(fra.me.REG[4])(fra.me.REG[4]); REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_ADeferredMethPropdef, ID_ADeferredMethPropdef)) /*cast ADeferredMethPropdef*/; - /* ./syntax//syntax_base.nit:195 */ ATTR_syntax_base___MMMethSrcMethod____is_abstract(fra.me.REG[4]) = REGB0; + /* ./syntax//syntax_base.nit:198 */ + ATTR_syntax_base___MMMethSrcMethod____extern_name(fra.me.REG[4]) = NIT_NULL; stack_frame_head = fra.me.prev; init_table[itpos6] = 1; return; @@ -1084,7 +1131,7 @@ void syntax_base___MMSrcTypeProperty___init(val_t p0, val_t p1, val_t p2, val_t if (init_table[itpos7]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 203; + fra.me.line = 206; fra.me.meth = LOCATE_syntax_base___MMSrcTypeProperty___init; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -1096,66 +1143,62 @@ void syntax_base___MMSrcTypeProperty___init(val_t p0, val_t p1, val_t p2, val_t fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; - /* ./syntax//syntax_base.nit:205 */ + /* ./syntax//syntax_base.nit:208 */ CALL_abstractmetamodel___MMLocalProperty___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); stack_frame_head = fra.me.prev; init_table[itpos7] = 1; return; } +val_t syntax_base___MMImplicitInit___super_init(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_syntax_base; + fra.me.line = 215; + fra.me.meth = LOCATE_syntax_base___MMImplicitInit___super_init; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./syntax//syntax_base.nit:215 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 215); + stack_frame_head = fra.me.prev; + return NIT_NULL; +} val_t syntax_base___MMImplicitInit___is_init(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_syntax_base; - fra.me.line = 213; + fra.me.line = 216; fra.me.meth = LOCATE_syntax_base___MMImplicitInit___is_init; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:216 */ REGB0 = TAG_Bool(true); - /* ./syntax//syntax_base.nit:213 */ goto label1; label1: while(0); stack_frame_head = fra.me.prev; return REGB0; } -val_t syntax_base___MMImplicitInit___super_init(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_syntax_base; - fra.me.line = 212; - fra.me.meth = LOCATE_syntax_base___MMImplicitInit___super_init; - fra.me.has_broke = 0; - fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:212 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 212); - nit_exit(1); - stack_frame_head = fra.me.prev; - return NIT_NULL; -} val_t syntax_base___MMImplicitInit___unassigned_attributes(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_syntax_base; - fra.me.line = 214; + fra.me.line = 217; fra.me.meth = LOCATE_syntax_base___MMImplicitInit___unassigned_attributes; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:217 */ REGB0 = TAG_Bool(ATTR_syntax_base___MMImplicitInit____unassigned_attributes(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:214 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_unassigned_attributes"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 214); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_unassigned_attributes", LOCATE_syntax_base, 217); } fra.me.REG[0] = ATTR_syntax_base___MMImplicitInit____unassigned_attributes(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -1167,19 +1210,17 @@ val_t syntax_base___MMImplicitInit___super_inits(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 215; + fra.me.line = 218; fra.me.meth = LOCATE_syntax_base___MMImplicitInit___super_inits; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:218 */ REGB0 = TAG_Bool(ATTR_syntax_base___MMImplicitInit____super_inits(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:215 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_super_inits"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 215); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_super_inits", LOCATE_syntax_base, 218); } fra.me.REG[0] = ATTR_syntax_base___MMImplicitInit____super_inits(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -1195,7 +1236,7 @@ void syntax_base___MMImplicitInit___init(val_t p0, val_t p1, val_t p2, val_t p3, if (init_table[itpos8]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 216; + fra.me.line = 219; fra.me.meth = LOCATE_syntax_base___MMImplicitInit___init; fra.me.has_broke = 0; fra.me.REG_size = 6; @@ -1209,8 +1250,9 @@ void syntax_base___MMImplicitInit___init(val_t p0, val_t p1, val_t p2, val_t p3, fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; + /* ./syntax//syntax_base.nit:219 */ fra.me.REG[4] = fra.me.REG[0]; - /* ./syntax//syntax_base.nit:218 */ + /* ./syntax//syntax_base.nit:221 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[5] = BOX_NativeString("init"); @@ -1219,65 +1261,38 @@ void syntax_base___MMImplicitInit___init(val_t p0, val_t p1, val_t p2, val_t p3, once_value_2 = fra.me.REG[5]; register_static_object(&once_value_2); } else fra.me.REG[5] = once_value_2; + fra.me.REG[5] = fra.me.REG[5]; fra.me.REG[5] = CALL_symbol___String___to_symbol(fra.me.REG[5])(fra.me.REG[5]); once_value_1 = fra.me.REG[5]; register_static_object(&once_value_1); } else fra.me.REG[5] = once_value_1; + fra.me.REG[5] = fra.me.REG[5]; CALL_syntax_base___MMMethSrcMethod___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[1], NIT_NULL, init_table); - /* ./syntax//syntax_base.nit:219 */ + /* ./syntax//syntax_base.nit:222 */ ATTR_syntax_base___MMImplicitInit____unassigned_attributes(fra.me.REG[4]) = fra.me.REG[2]; - /* ./syntax//syntax_base.nit:220 */ + /* ./syntax//syntax_base.nit:223 */ ATTR_syntax_base___MMImplicitInit____super_inits(fra.me.REG[4]) = fra.me.REG[3]; stack_frame_head = fra.me.prev; init_table[itpos8] = 1; return; } -val_t syntax_base___Variable___to_s(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_syntax_base; - fra.me.line = 240; - fra.me.meth = LOCATE_syntax_base___Variable___to_s; - 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_syntax_base___Variable____name(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:240 */ - if (UNTAG_Bool(REGB0)) { - } else { - fprintf(stderr, "Uninitialized attribute %s", "_name"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 240); - nit_exit(1); - } - fra.me.REG[0] = ATTR_syntax_base___Variable____name(fra.me.REG[0]); - fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]); - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -} val_t syntax_base___Variable___name(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_syntax_base; - fra.me.line = 226; + fra.me.line = 229; fra.me.meth = LOCATE_syntax_base___Variable___name; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:229 */ REGB0 = TAG_Bool(ATTR_syntax_base___Variable____name(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:226 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_name"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 226); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax_base, 229); } fra.me.REG[0] = ATTR_syntax_base___Variable____name(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -1288,63 +1303,30 @@ val_t syntax_base___Variable___decl(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 229; + fra.me.line = 232; fra.me.meth = LOCATE_syntax_base___Variable___decl; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:232 */ fra.me.REG[0] = ATTR_syntax_base___Variable____decl(fra.me.REG[0]); - /* ./syntax//syntax_base.nit:229 */ stack_frame_head = fra.me.prev; return fra.me.REG[0]; } -val_t syntax_base___Variable___is_typed(val_t p0){ - struct {struct stack_frame_t me;} 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_syntax_base; - fra.me.line = 232; - fra.me.meth = LOCATE_syntax_base___Variable___is_typed; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[0] = ATTR_syntax_base___Variable____stype(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL); - /* ./syntax//syntax_base.nit:235 */ - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL); - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(false); - REGB0 = REGB1; - } else { - REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL); - REGB0 = REGB1; - } - } - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB0; -} val_t syntax_base___Variable___stype(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_syntax_base; - fra.me.line = 237; + fra.me.line = 235; fra.me.meth = LOCATE_syntax_base___Variable___stype; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:235 */ fra.me.REG[0] = ATTR_syntax_base___Variable____stype(fra.me.REG[0]); - /* ./syntax//syntax_base.nit:237 */ stack_frame_head = fra.me.prev; return fra.me.REG[0]; } @@ -1353,7 +1335,7 @@ void syntax_base___Variable___stype__eq(val_t p0, val_t p1){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 237; + fra.me.line = 235; fra.me.meth = LOCATE_syntax_base___Variable___stype__eq; fra.me.has_broke = 0; fra.me.REG_size = 2; @@ -1361,24 +1343,47 @@ void syntax_base___Variable___stype__eq(val_t p0, val_t p1){ fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - /* ./syntax//syntax_base.nit:237 */ + /* ./syntax//syntax_base.nit:235 */ ATTR_syntax_base___Variable____stype(fra.me.REG[0]) = fra.me.REG[1]; stack_frame_head = fra.me.prev; - return; + return; +} +val_t syntax_base___Variable___to_s(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_syntax_base; + fra.me.line = 238; + fra.me.meth = LOCATE_syntax_base___Variable___to_s; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:238 */ + REGB0 = TAG_Bool(ATTR_syntax_base___Variable____name(fra.me.REG[0])!=NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax_base, 238); + } + fra.me.REG[0] = ATTR_syntax_base___Variable____name(fra.me.REG[0]); + fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; } val_t syntax_base___Variable___kind(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_syntax_base; - fra.me.line = 242; + fra.me.line = 240; fra.me.meth = LOCATE_syntax_base___Variable___kind; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:242 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 242); - nit_exit(1); + /* ./syntax//syntax_base.nit:240 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 240); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -1389,7 +1394,7 @@ void syntax_base___Variable___init(val_t p0, val_t p1, val_t p2, int* init_table if (init_table[itpos9]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 244; + fra.me.line = 242; fra.me.meth = LOCATE_syntax_base___Variable___init; fra.me.has_broke = 0; fra.me.REG_size = 3; @@ -1399,9 +1404,9 @@ void syntax_base___Variable___init(val_t p0, val_t p1, val_t p2, int* init_table fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; - /* ./syntax//syntax_base.nit:246 */ + /* ./syntax//syntax_base.nit:244 */ ATTR_syntax_base___Variable____name(fra.me.REG[0]) = fra.me.REG[1]; - /* ./syntax//syntax_base.nit:247 */ + /* ./syntax//syntax_base.nit:245 */ ATTR_syntax_base___Variable____decl(fra.me.REG[0]) = fra.me.REG[2]; stack_frame_head = fra.me.prev; init_table[itpos9] = 1; @@ -1415,13 +1420,13 @@ val_t syntax_base___VarVariable___kind(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 254; + fra.me.line = 252; fra.me.meth = LOCATE_syntax_base___VarVariable___kind; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - /* ./syntax//syntax_base.nit:254 */ + /* ./syntax//syntax_base.nit:252 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[0] = BOX_NativeString("variable"); @@ -1430,9 +1435,11 @@ val_t syntax_base___VarVariable___kind(val_t p0){ once_value_2 = fra.me.REG[0]; register_static_object(&once_value_2); } else fra.me.REG[0] = once_value_2; + fra.me.REG[0] = fra.me.REG[0]; once_value_1 = fra.me.REG[0]; register_static_object(&once_value_1); } else fra.me.REG[0] = once_value_1; + fra.me.REG[0] = fra.me.REG[0]; goto label3; label3: while(0); stack_frame_head = fra.me.prev; @@ -1445,7 +1452,7 @@ void syntax_base___VarVariable___init(val_t p0, val_t p1, val_t p2, int* init_ta if (init_table[itpos10]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 255; + fra.me.line = 253; fra.me.meth = LOCATE_syntax_base___VarVariable___init; fra.me.has_broke = 0; fra.me.REG_size = 3; @@ -1455,7 +1462,7 @@ void syntax_base___VarVariable___init(val_t p0, val_t p1, val_t p2, int* init_ta fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; - /* ./syntax//syntax_base.nit:255 */ + /* ./syntax//syntax_base.nit:253 */ CALL_syntax_base___Variable___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); stack_frame_head = fra.me.prev; init_table[itpos10] = 1; @@ -1469,13 +1476,13 @@ val_t syntax_base___ParamVariable___kind(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 261; + fra.me.line = 259; fra.me.meth = LOCATE_syntax_base___ParamVariable___kind; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - /* ./syntax//syntax_base.nit:261 */ + /* ./syntax//syntax_base.nit:259 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[0] = BOX_NativeString("parameter"); @@ -1484,9 +1491,11 @@ val_t syntax_base___ParamVariable___kind(val_t p0){ once_value_2 = fra.me.REG[0]; register_static_object(&once_value_2); } else fra.me.REG[0] = once_value_2; + fra.me.REG[0] = fra.me.REG[0]; once_value_1 = fra.me.REG[0]; register_static_object(&once_value_1); } else fra.me.REG[0] = once_value_1; + fra.me.REG[0] = fra.me.REG[0]; goto label3; label3: while(0); stack_frame_head = fra.me.prev; @@ -1499,7 +1508,7 @@ void syntax_base___ParamVariable___init(val_t p0, val_t p1, val_t p2, int* init_ if (init_table[itpos11]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 262; + fra.me.line = 260; fra.me.meth = LOCATE_syntax_base___ParamVariable___init; fra.me.has_broke = 0; fra.me.REG_size = 3; @@ -1509,7 +1518,7 @@ void syntax_base___ParamVariable___init(val_t p0, val_t p1, val_t p2, int* init_ fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; - /* ./syntax//syntax_base.nit:262 */ + /* ./syntax//syntax_base.nit:260 */ CALL_syntax_base___Variable___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); stack_frame_head = fra.me.prev; init_table[itpos11] = 1; @@ -1523,13 +1532,13 @@ val_t syntax_base___AutoVariable___kind(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 268; + fra.me.line = 266; fra.me.meth = LOCATE_syntax_base___AutoVariable___kind; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - /* ./syntax//syntax_base.nit:268 */ + /* ./syntax//syntax_base.nit:266 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[0] = BOX_NativeString("automatic variable"); @@ -1538,9 +1547,11 @@ val_t syntax_base___AutoVariable___kind(val_t p0){ once_value_2 = fra.me.REG[0]; register_static_object(&once_value_2); } else fra.me.REG[0] = once_value_2; + fra.me.REG[0] = fra.me.REG[0]; once_value_1 = fra.me.REG[0]; register_static_object(&once_value_1); } else fra.me.REG[0] = once_value_1; + fra.me.REG[0] = fra.me.REG[0]; goto label3; label3: while(0); stack_frame_head = fra.me.prev; @@ -1553,7 +1564,7 @@ void syntax_base___AutoVariable___init(val_t p0, val_t p1, val_t p2, int* init_t if (init_table[itpos12]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 269; + fra.me.line = 267; fra.me.meth = LOCATE_syntax_base___AutoVariable___init; fra.me.has_broke = 0; fra.me.REG_size = 3; @@ -1563,7 +1574,7 @@ void syntax_base___AutoVariable___init(val_t p0, val_t p1, val_t p2, int* init_t fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; - /* ./syntax//syntax_base.nit:269 */ + /* ./syntax//syntax_base.nit:267 */ CALL_syntax_base___Variable___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); stack_frame_head = fra.me.prev; init_table[itpos12] = 1; @@ -1577,13 +1588,13 @@ val_t syntax_base___ClosureVariable___kind(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 276; + fra.me.line = 274; fra.me.meth = LOCATE_syntax_base___ClosureVariable___kind; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; - /* ./syntax//syntax_base.nit:276 */ + /* ./syntax//syntax_base.nit:274 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[0] = BOX_NativeString("closure"); @@ -1592,9 +1603,11 @@ val_t syntax_base___ClosureVariable___kind(val_t p0){ once_value_2 = fra.me.REG[0]; register_static_object(&once_value_2); } else fra.me.REG[0] = once_value_2; + fra.me.REG[0] = fra.me.REG[0]; once_value_1 = fra.me.REG[0]; register_static_object(&once_value_1); } else fra.me.REG[0] = once_value_1; + fra.me.REG[0] = fra.me.REG[0]; goto label3; label3: while(0); stack_frame_head = fra.me.prev; @@ -1606,19 +1619,17 @@ val_t syntax_base___ClosureVariable___closure(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 278; + fra.me.line = 276; fra.me.meth = LOCATE_syntax_base___ClosureVariable___closure; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:276 */ REGB0 = TAG_Bool(ATTR_syntax_base___ClosureVariable____closure(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:278 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_closure"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 278); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax_base, 276); } fra.me.REG[0] = ATTR_syntax_base___ClosureVariable____closure(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -1631,7 +1642,7 @@ void syntax_base___ClosureVariable___init(val_t p0, val_t p1, val_t p2, val_t p3 if (init_table[itpos13]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 281; + fra.me.line = 279; fra.me.meth = LOCATE_syntax_base___ClosureVariable___init; fra.me.has_broke = 0; fra.me.REG_size = 5; @@ -1644,10 +1655,11 @@ void syntax_base___ClosureVariable___init(val_t p0, val_t p1, val_t p2, val_t p3 fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; + /* ./syntax//syntax_base.nit:279 */ fra.me.REG[4] = fra.me.REG[0]; - /* ./syntax//syntax_base.nit:283 */ + /* ./syntax//syntax_base.nit:281 */ CALL_syntax_base___Variable___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table); - /* ./syntax//syntax_base.nit:284 */ + /* ./syntax//syntax_base.nit:282 */ ATTR_syntax_base___ClosureVariable____closure(fra.me.REG[4]) = fra.me.REG[3]; stack_frame_head = fra.me.prev; init_table[itpos13] = 1; @@ -1661,7 +1673,7 @@ val_t syntax_base___AbsSyntaxVisitor___get_type_by_name(val_t p0, val_t p1){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 293; + fra.me.line = 291; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___get_type_by_name; fra.me.has_broke = 0; fra.me.REG_size = 6; @@ -1673,34 +1685,28 @@ val_t syntax_base___AbsSyntaxVisitor___get_type_by_name(val_t p0, val_t p1){ fra.me.REG[5] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:295 */ + /* ./syntax//syntax_base.nit:293 */ + REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_module"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 295); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax_base, 293); } - fra.me.REG[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0]); + fra.me.REG[2] = ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]); REGB0 = CALL_abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]); REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); if (UNTAG_Bool(REGB0)) { REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_tc"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 295); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax_base, 293); } fra.me.REG[2] = ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]); - REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0])!=NIT_NULL); + REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_module"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 295); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax_base, 293); } - fra.me.REG[3] = ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0]); + fra.me.REG[3] = ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]); fra.me.REG[3] = CALL_abstractmetamodel___MMModule___location(fra.me.REG[3])(fra.me.REG[3]); REGB0 = TAG_Int(3); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0); @@ -1711,9 +1717,10 @@ val_t syntax_base___AbsSyntaxVisitor___get_type_by_name(val_t p0, val_t p1){ once_value_1 = fra.me.REG[5]; register_static_object(&once_value_1); } else fra.me.REG[5] = once_value_1; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); if (!once_value_2) { fra.me.REG[5] = BOX_NativeString("\""); REGB0 = TAG_Int(1); @@ -1721,22 +1728,21 @@ val_t syntax_base___AbsSyntaxVisitor___get_type_by_name(val_t p0, val_t p1){ once_value_2 = fra.me.REG[5]; register_static_object(&once_value_2); } else fra.me.REG[5] = once_value_2; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_mmloader___ToolContext___fatal_error(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4]); } - REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:296 */ + /* ./syntax//syntax_base.nit:294 */ + REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_module"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 296); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax_base, 294); } - fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0]); + fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]); fra.me.REG[1] = CALL_abstractmetamodel___MMModule___class_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./syntax//syntax_base.nit:295 */ fra.me.REG[1] = CALL_static_type___MMLocalClass___get_type(fra.me.REG[1])(fra.me.REG[1]); - /* ./syntax//syntax_base.nit:297 */ goto label3; label3: while(0); stack_frame_head = fra.me.prev; @@ -1750,7 +1756,7 @@ val_t syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(val_t p0, v static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 300; + fra.me.line = 298; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name; fra.me.has_broke = 0; fra.me.REG_size = 7; @@ -1764,34 +1770,28 @@ val_t syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(val_t p0, v fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; - REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:302 */ + /* ./syntax//syntax_base.nit:300 */ + REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_module"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 302); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax_base, 300); } - fra.me.REG[3] = ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0]); + fra.me.REG[3] = ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]); REGB0 = CALL_abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); if (UNTAG_Bool(REGB0)) { REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_tc"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 302); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax_base, 300); } fra.me.REG[3] = ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]); - REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0])!=NIT_NULL); + REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_module"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 302); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax_base, 300); } - fra.me.REG[4] = ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0]); + fra.me.REG[4] = ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]); fra.me.REG[4] = CALL_abstractmetamodel___MMModule___location(fra.me.REG[4])(fra.me.REG[4]); REGB0 = TAG_Int(3); fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB0); @@ -1802,9 +1802,10 @@ val_t syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(val_t p0, v once_value_1 = fra.me.REG[6]; register_static_object(&once_value_1); } else fra.me.REG[6] = once_value_1; - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); if (!once_value_2) { fra.me.REG[6] = BOX_NativeString("\""); REGB0 = TAG_Int(1); @@ -1812,22 +1813,21 @@ val_t syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(val_t p0, v once_value_2 = fra.me.REG[6]; register_static_object(&once_value_2); } else fra.me.REG[6] = once_value_2; - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]); CALL_mmloader___ToolContext___fatal_error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]); } - REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:303 */ + /* ./syntax//syntax_base.nit:301 */ + REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_module"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 303); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax_base, 301); } - fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0]); + fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]); fra.me.REG[1] = CALL_abstractmetamodel___MMModule___class_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./syntax//syntax_base.nit:302 */ fra.me.REG[2] = CALL_genericity___MMLocalClass___get_instantiate_type(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); - /* ./syntax//syntax_base.nit:304 */ goto label3; label3: while(0); stack_frame_head = fra.me.prev; @@ -1841,14 +1841,14 @@ val_t syntax_base___AbsSyntaxVisitor___type_object(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 307; + fra.me.line = 305; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_object; 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; - /* ./syntax//syntax_base.nit:310 */ + /* ./syntax//syntax_base.nit:308 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("Object"); @@ -1857,10 +1857,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_object(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); goto label3; label3: while(0); @@ -1875,14 +1877,14 @@ val_t syntax_base___AbsSyntaxVisitor___type_bool(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 313; + fra.me.line = 311; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_bool; 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; - /* ./syntax//syntax_base.nit:316 */ + /* ./syntax//syntax_base.nit:314 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("Bool"); @@ -1891,10 +1893,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_bool(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); goto label3; label3: while(0); @@ -1909,14 +1913,14 @@ val_t syntax_base___AbsSyntaxVisitor___type_int(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 319; + fra.me.line = 317; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_int; 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; - /* ./syntax//syntax_base.nit:322 */ + /* ./syntax//syntax_base.nit:320 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("Int"); @@ -1925,10 +1929,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_int(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); goto label3; label3: while(0); @@ -1943,14 +1949,14 @@ val_t syntax_base___AbsSyntaxVisitor___type_float(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 325; + fra.me.line = 323; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_float; 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; - /* ./syntax//syntax_base.nit:328 */ + /* ./syntax//syntax_base.nit:326 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("Float"); @@ -1959,10 +1965,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_float(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); goto label3; label3: while(0); @@ -1977,14 +1985,14 @@ val_t syntax_base___AbsSyntaxVisitor___type_char(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 331; + fra.me.line = 329; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_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; - /* ./syntax//syntax_base.nit:334 */ + /* ./syntax//syntax_base.nit:332 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("Char"); @@ -1993,10 +2001,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_char(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); goto label3; label3: while(0); @@ -2011,14 +2021,14 @@ val_t syntax_base___AbsSyntaxVisitor___type_string(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 337; + fra.me.line = 335; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_string; 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; - /* ./syntax//syntax_base.nit:340 */ + /* ./syntax//syntax_base.nit:338 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("String"); @@ -2027,10 +2037,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_string(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); goto label3; label3: while(0); @@ -2045,7 +2057,7 @@ val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 343; + fra.me.line = 341; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_collection; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -2054,7 +2066,7 @@ val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t p0){ fra.me.REG[2] = NIT_NULL; fra.me.REG[3] = NIT_NULL; fra.me.REG[0] = p0; - /* ./syntax//syntax_base.nit:346 */ + /* ./syntax//syntax_base.nit:344 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("Collection"); @@ -2063,15 +2075,17 @@ val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; REGB0 = TAG_Int(1); fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0); fra.me.REG[3] = CALL_syntax_base___AbsSyntaxVisitor___type_object(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[3] = CALL_static_type___MMType___as_nullable(fra.me.REG[3])(fra.me.REG[3]); - 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]); fra.me.REG[2] = CALL_syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]); goto label3; label3: while(0); @@ -2086,14 +2100,14 @@ val_t syntax_base___AbsSyntaxVisitor___type_nativestring(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 349; + fra.me.line = 347; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_nativestring; 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; - /* ./syntax//syntax_base.nit:352 */ + /* ./syntax//syntax_base.nit:350 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("NativeString"); @@ -2102,10 +2116,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_nativestring(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); goto label3; label3: while(0); @@ -2120,7 +2136,7 @@ val_t syntax_base___AbsSyntaxVisitor___type_array(val_t p0, val_t p1){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 355; + fra.me.line = 353; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_array; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -2130,7 +2146,7 @@ val_t syntax_base___AbsSyntaxVisitor___type_array(val_t p0, val_t p1){ fra.me.REG[3] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - /* ./syntax//syntax_base.nit:358 */ + /* ./syntax//syntax_base.nit:356 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[2] = BOX_NativeString("Array"); @@ -2139,13 +2155,15 @@ val_t syntax_base___AbsSyntaxVisitor___type_array(val_t p0, val_t p1){ once_value_2 = fra.me.REG[2]; register_static_object(&once_value_2); } else fra.me.REG[2] = once_value_2; + fra.me.REG[2] = fra.me.REG[2]; fra.me.REG[2] = CALL_symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]); 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 = TAG_Int(1); fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0); - 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]); fra.me.REG[3] = CALL_syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]); goto label3; label3: while(0); @@ -2160,14 +2178,14 @@ val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t p0){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 361; + fra.me.line = 359; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete; 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; - /* ./syntax//syntax_base.nit:364 */ + /* ./syntax//syntax_base.nit:362 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[1] = BOX_NativeString("Discrete"); @@ -2176,10 +2194,12 @@ val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t p0){ once_value_2 = fra.me.REG[1]; register_static_object(&once_value_2); } else fra.me.REG[1] = once_value_2; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]); once_value_1 = fra.me.REG[1]; register_static_object(&once_value_1); } else fra.me.REG[1] = once_value_1; + fra.me.REG[1] = fra.me.REG[1]; fra.me.REG[1] = CALL_syntax_base___AbsSyntaxVisitor___get_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); goto label3; label3: while(0); @@ -2194,7 +2214,7 @@ val_t syntax_base___AbsSyntaxVisitor___type_range(val_t p0, val_t p1){ static val_t once_value_2; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 367; + fra.me.line = 365; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_range; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -2204,7 +2224,7 @@ val_t syntax_base___AbsSyntaxVisitor___type_range(val_t p0, val_t p1){ fra.me.REG[3] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - /* ./syntax//syntax_base.nit:370 */ + /* ./syntax//syntax_base.nit:368 */ if (!once_value_1) { if (!once_value_2) { fra.me.REG[2] = BOX_NativeString("Range"); @@ -2213,13 +2233,15 @@ val_t syntax_base___AbsSyntaxVisitor___type_range(val_t p0, val_t p1){ once_value_2 = fra.me.REG[2]; register_static_object(&once_value_2); } else fra.me.REG[2] = once_value_2; + fra.me.REG[2] = fra.me.REG[2]; fra.me.REG[2] = CALL_symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]); 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 = TAG_Int(1); fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0); - 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]); fra.me.REG[3] = CALL_syntax_base___AbsSyntaxVisitor___get_instantiated_type_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]); goto label3; label3: while(0); @@ -2232,21 +2254,19 @@ val_t syntax_base___AbsSyntaxVisitor___type_none(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 373; + fra.me.line = 371; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___type_none; 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_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:376 */ + /* ./syntax//syntax_base.nit:374 */ + REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_module"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 376); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax_base, 374); } - fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0]); + fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]); fra.me.REG[0] = CALL_static_type___MMModule___type_none(fra.me.REG[0])(fra.me.REG[0]); goto label1; label1: while(0); @@ -2262,7 +2282,7 @@ val_t syntax_base___AbsSyntaxVisitor___get_method(val_t p0, val_t p1, val_t p2){ static val_t once_value_3; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 379; + fra.me.line = 377; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___get_method; fra.me.has_broke = 0; fra.me.REG_size = 6; @@ -2275,15 +2295,15 @@ val_t syntax_base___AbsSyntaxVisitor___get_method(val_t p0, val_t p1, val_t p2){ fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; + /* ./syntax//syntax_base.nit:379 */ fra.me.REG[3] = CALL_static_type___MMType___local_class(fra.me.REG[1])(fra.me.REG[1]); REGB0 = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - /* ./syntax//syntax_base.nit:381 */ if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:380 */ fra.me.REG[3] = CALL_parser_prod___Visitor___current_node(fra.me.REG[0])(fra.me.REG[0]); REGB0 = TAG_Int(5); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0); - /* ./syntax//syntax_base.nit:382 */ if (!once_value_1) { fra.me.REG[5] = BOX_NativeString("Fatal Error: "); REGB0 = TAG_Int(13); @@ -2291,9 +2311,10 @@ val_t syntax_base___AbsSyntaxVisitor___get_method(val_t p0, val_t p1, val_t p2){ once_value_1 = fra.me.REG[5]; register_static_object(&once_value_1); } else fra.me.REG[5] = once_value_1; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); if (!once_value_2) { fra.me.REG[5] = BOX_NativeString(" must have a property named "); REGB0 = TAG_Int(28); @@ -2301,9 +2322,10 @@ val_t syntax_base___AbsSyntaxVisitor___get_method(val_t p0, val_t p1, val_t p2){ once_value_2 = fra.me.REG[5]; register_static_object(&once_value_2); } else fra.me.REG[5] = once_value_2; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); if (!once_value_3) { fra.me.REG[5] = BOX_NativeString("."); REGB0 = TAG_Int(1); @@ -2311,39 +2333,38 @@ val_t syntax_base___AbsSyntaxVisitor___get_method(val_t p0, val_t p1, val_t p2){ once_value_3 = fra.me.REG[5]; register_static_object(&once_value_3); } else fra.me.REG[5] = once_value_3; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_syntax_base___AbsSyntaxVisitor___fatal_error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[4]); } + /* ./syntax//syntax_base.nit:382 */ fra.me.REG[1] = CALL_static_type___MMType___local_class(fra.me.REG[1])(fra.me.REG[1]); fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___select_method(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); - /* ./syntax//syntax_base.nit:384 */ goto label4; label4: while(0); stack_frame_head = fra.me.prev; return fra.me.REG[2]; } -val_t syntax_base___AbsSyntaxVisitor___module(val_t p0){ +val_t syntax_base___AbsSyntaxVisitor___mmmodule(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_syntax_base; - fra.me.line = 387; - fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___module; + fra.me.line = 385; + fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___mmmodule; 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_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:387 */ + /* ./syntax//syntax_base.nit:385 */ + REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL); if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_module"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 387); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_syntax_base, 385); } - fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[0]); + fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[0]); stack_frame_head = fra.me.prev; return fra.me.REG[0]; } @@ -2353,20 +2374,18 @@ val_t syntax_base___AbsSyntaxVisitor___local_class(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 390; + fra.me.line = 388; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___local_class; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:389 */ fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____local_class(fra.me.REG[0]); REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL); - /* ./syntax//syntax_base.nit:391 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Cast failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 391); - nit_exit(1); + nit_abort("Cast failed", NULL, LOCATE_syntax_base, 389); } goto label1; label1: while(0); @@ -2378,7 +2397,7 @@ void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t p0, val_t p1){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 392; + fra.me.line = 390; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq; fra.me.has_broke = 0; fra.me.REG_size = 2; @@ -2386,7 +2405,7 @@ void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t p0, val_t p1){ fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - /* ./syntax//syntax_base.nit:392 */ + /* ./syntax//syntax_base.nit:390 */ ATTR_syntax_base___AbsSyntaxVisitor____local_class(fra.me.REG[0]) = fra.me.REG[1]; stack_frame_head = fra.me.prev; return; @@ -2397,20 +2416,18 @@ val_t syntax_base___AbsSyntaxVisitor___local_property(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 394; + fra.me.line = 392; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___local_property; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:393 */ fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____local_property(fra.me.REG[0]); REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL); - /* ./syntax//syntax_base.nit:395 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Cast failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 395); - nit_exit(1); + nit_abort("Cast failed", NULL, LOCATE_syntax_base, 393); } goto label1; label1: while(0); @@ -2422,7 +2439,7 @@ void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t p0, val_t p1){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 396; + fra.me.line = 394; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq; fra.me.has_broke = 0; fra.me.REG_size = 2; @@ -2430,7 +2447,7 @@ void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t p0, val_t p1){ fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - /* ./syntax//syntax_base.nit:396 */ + /* ./syntax//syntax_base.nit:394 */ ATTR_syntax_base___AbsSyntaxVisitor____local_property(fra.me.REG[0]) = fra.me.REG[1]; stack_frame_head = fra.me.prev; return; @@ -2441,19 +2458,17 @@ val_t syntax_base___AbsSyntaxVisitor___tc(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 398; + fra.me.line = 396; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___tc; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:396 */ REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:398 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_tc"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 398); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax_base, 396); } fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -2466,7 +2481,7 @@ void syntax_base___AbsSyntaxVisitor___error(val_t p0, val_t p1, val_t p2){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 401; + fra.me.line = 399; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___error; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -2477,13 +2492,11 @@ void syntax_base___AbsSyntaxVisitor___error(val_t p0, val_t p1, val_t p2){ fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; + /* ./syntax//syntax_base.nit:402 */ REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:404 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_tc"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 404); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax_base, 402); } fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]); REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); @@ -2503,9 +2516,7 @@ void syntax_base___AbsSyntaxVisitor___error(val_t p0, val_t p1, val_t p2){ } else { REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 404); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 402); } fra.me.REG[1] = CALL_parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]); fra.me.REG[3] = fra.me.REG[1]; @@ -2521,7 +2532,7 @@ void syntax_base___AbsSyntaxVisitor___fatal_error(val_t p0, val_t p1, val_t p2){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 407; + fra.me.line = 405; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___fatal_error; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -2532,13 +2543,11 @@ void syntax_base___AbsSyntaxVisitor___fatal_error(val_t p0, val_t p1, val_t p2){ fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; + /* ./syntax//syntax_base.nit:408 */ REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:410 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_tc"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 410); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax_base, 408); } fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]); REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); @@ -2558,9 +2567,7 @@ void syntax_base___AbsSyntaxVisitor___fatal_error(val_t p0, val_t p1, val_t p2){ } else { REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 410); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 408); } fra.me.REG[1] = CALL_parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]); fra.me.REG[3] = fra.me.REG[1]; @@ -2576,7 +2583,7 @@ void syntax_base___AbsSyntaxVisitor___warning(val_t p0, val_t p1, val_t p2){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 413; + fra.me.line = 411; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___warning; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -2587,13 +2594,11 @@ void syntax_base___AbsSyntaxVisitor___warning(val_t p0, val_t p1, val_t p2){ fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; + /* ./syntax//syntax_base.nit:414 */ REGB0 = TAG_Bool(ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:416 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_tc"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 416); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_tc", LOCATE_syntax_base, 414); } fra.me.REG[0] = ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[0]); REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); @@ -2613,9 +2618,7 @@ void syntax_base___AbsSyntaxVisitor___warning(val_t p0, val_t p1, val_t p2){ } else { REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 416); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 414); } fra.me.REG[1] = CALL_parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]); fra.me.REG[3] = fra.me.REG[1]; @@ -2635,7 +2638,7 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t p0, val_t p1, val_t p static val_t once_value_4; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 419; + fra.me.line = 417; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___check_conform; fra.me.has_broke = 0; fra.me.REG_size = 6; @@ -2649,8 +2652,8 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t p0, val_t p1, val_t p fra.me.REG[1] = p1; fra.me.REG[2] = p2; fra.me.REG[3] = p3; + /* ./syntax//syntax_base.nit:420 */ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL); - /* ./syntax//syntax_base.nit:422 */ if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); @@ -2680,27 +2683,25 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t p0, val_t p1, val_t p REGB0 = REGB1; } if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:421 */ REGB0 = TAG_Bool(false); - /* ./syntax//syntax_base.nit:423 */ goto label1; } + /* ./syntax//syntax_base.nit:423 */ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - /* ./syntax//syntax_base.nit:425 */ if (UNTAG_Bool(REGB1)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 425); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 423); } REGB1 = CALL_static_type___MMType_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); if (UNTAG_Bool(REGB1)) { + /* ./syntax//syntax_base.nit:424 */ REGB1 = TAG_Bool(true); REGB0 = REGB1; - /* ./syntax//syntax_base.nit:426 */ goto label1; } + /* ./syntax//syntax_base.nit:426 */ REGB1 = TAG_Int(5); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1); - /* ./syntax//syntax_base.nit:428 */ if (!once_value_2) { fra.me.REG[5] = BOX_NativeString("Type error: expected "); REGB1 = TAG_Int(21); @@ -2708,9 +2709,10 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t p0, val_t p1, val_t p once_value_2 = fra.me.REG[5]; register_static_object(&once_value_2); } else fra.me.REG[5] = once_value_2; - array___Array___add(fra.me.REG[4], fra.me.REG[5]); + fra.me.REG[5] = fra.me.REG[5]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); - array___Array___add(fra.me.REG[4], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); if (!once_value_3) { fra.me.REG[3] = BOX_NativeString(", got "); REGB1 = TAG_Int(6); @@ -2718,9 +2720,10 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t p0, val_t p1, val_t p 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[4], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); - array___Array___add(fra.me.REG[4], fra.me.REG[2]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); if (!once_value_4) { fra.me.REG[2] = BOX_NativeString(""); REGB1 = TAG_Int(0); @@ -2728,12 +2731,13 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t p0, val_t p1, val_t p once_value_4 = fra.me.REG[2]; register_static_object(&once_value_4); } else fra.me.REG[2] = once_value_4; - array___Array___add(fra.me.REG[4], fra.me.REG[2]); + fra.me.REG[2] = fra.me.REG[2]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:427 */ REGB1 = TAG_Bool(false); REGB0 = REGB1; - /* ./syntax//syntax_base.nit:429 */ goto label1; label1: while(0); stack_frame_head = fra.me.prev; @@ -2750,7 +2754,7 @@ val_t syntax_base___AbsSyntaxVisitor___check_expr(val_t p0, val_t p1){ static val_t once_value_4; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 432; + fra.me.line = 430; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___check_expr; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -2760,25 +2764,26 @@ val_t syntax_base___AbsSyntaxVisitor___check_expr(val_t p0, val_t p1){ fra.me.REG[3] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; + /* ./syntax//syntax_base.nit:435 */ REGB0 = CALL_syntax_base___AExpr___is_typed(fra.me.REG[1])(fra.me.REG[1]); REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - /* ./syntax//syntax_base.nit:437 */ if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:436 */ fra.me.REG[2] = CALL_syntax_base___AbsSyntaxVisitor___tc(fra.me.REG[0])(fra.me.REG[0]); REGB0 = CALL_mmloader___ToolContext___error_count(fra.me.REG[2])(fra.me.REG[2]); REGB1 = TAG_Int(0); REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); - /* ./syntax//syntax_base.nit:438 */ if (UNTAG_Bool(REGB2)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB1 = TAG_Bool((REGB0)==(REGB1)); + /* ./syntax//syntax_base.nit:436 */ REGB2 = REGB1; - /* ./syntax//syntax_base.nit:438 */ } if (UNTAG_Bool(REGB2)) { + /* ./syntax//syntax_base.nit:437 */ REGB2 = TAG_Int(3); fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB2); - /* ./syntax//syntax_base.nit:439 */ if (!once_value_1) { fra.me.REG[3] = BOX_NativeString(""); REGB2 = TAG_Int(0); @@ -2786,10 +2791,11 @@ val_t syntax_base___AbsSyntaxVisitor___check_expr(val_t p0, val_t p1){ once_value_1 = fra.me.REG[3]; register_static_object(&once_value_1); } else fra.me.REG[3] = once_value_1; - 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[3] = CALL_parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); - 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_2) { fra.me.REG[3] = BOX_NativeString(" not typed but not error"); REGB2 = TAG_Int(24); @@ -2797,22 +2803,21 @@ val_t syntax_base___AbsSyntaxVisitor___check_expr(val_t p0, val_t p1){ 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]); + 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]); CALL_file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]); - /* ./syntax//syntax_base.nit:440 */ - fprintf(stderr, "Aborted"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 440); - nit_exit(1); + /* ./syntax//syntax_base.nit:438 */ + nit_abort("Aborted", NULL, LOCATE_syntax_base, 438); } + /* ./syntax//syntax_base.nit:442 */ REGB2 = TAG_Bool(false); - /* ./syntax//syntax_base.nit:444 */ goto label3; } else { + /* ./syntax//syntax_base.nit:443 */ REGB1 = CALL_syntax_base___AExpr___is_statement(fra.me.REG[1])(fra.me.REG[1]); - /* ./syntax//syntax_base.nit:445 */ if (UNTAG_Bool(REGB1)) { - /* ./syntax//syntax_base.nit:446 */ + /* ./syntax//syntax_base.nit:444 */ if (!once_value_4) { fra.me.REG[2] = BOX_NativeString("Type error: expected expression."); REGB1 = TAG_Int(32); @@ -2820,16 +2825,17 @@ val_t syntax_base___AbsSyntaxVisitor___check_expr(val_t p0, val_t p1){ once_value_4 = fra.me.REG[2]; register_static_object(&once_value_4); } else fra.me.REG[2] = once_value_4; + fra.me.REG[2] = fra.me.REG[2]; CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]); + /* ./syntax//syntax_base.nit:445 */ REGB1 = TAG_Bool(false); REGB2 = REGB1; - /* ./syntax//syntax_base.nit:447 */ goto label3; } } + /* ./syntax//syntax_base.nit:447 */ REGB1 = TAG_Bool(true); REGB2 = REGB1; - /* ./syntax//syntax_base.nit:449 */ goto label3; label3: while(0); stack_frame_head = fra.me.prev; @@ -2842,7 +2848,7 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform_expr(val_t p0, val_t p1, va val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 452; + fra.me.line = 450; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___check_conform_expr; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -2853,8 +2859,8 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform_expr(val_t p0, val_t p1, va fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; + /* ./syntax//syntax_base.nit:453 */ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - /* ./syntax//syntax_base.nit:455 */ if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); @@ -2870,8 +2876,8 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform_expr(val_t p0, val_t p1, va REGB0 = TAG_Bool(false); goto label1; } + /* ./syntax//syntax_base.nit:454 */ REGB1 = CALL_syntax_base___AbsSyntaxVisitor___check_expr(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - /* ./syntax//syntax_base.nit:456 */ if (UNTAG_Bool(REGB1)) { fra.me.REG[3] = CALL_syntax_base___AExpr___stype(fra.me.REG[1])(fra.me.REG[1]); REGB1 = CALL_syntax_base___AbsSyntaxVisitor___check_conform(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3], fra.me.REG[2]); @@ -2887,275 +2893,320 @@ val_t syntax_base___AbsSyntaxVisitor___check_conform_expr(val_t p0, val_t p1, va return REGB0; } val_t syntax_base___AbsSyntaxVisitor___check_conform_multiexpr(val_t p0, val_t p1, val_t p2){ - struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; val_t REGB0; val_t REGB1; - val_t REGB2; val_t tmp; - static val_t once_value_3; /* Once value */ - static val_t once_value_4; /* Once value */ - static val_t once_value_5; /* Once value */ - static val_t once_value_6; /* Once value */ - static val_t once_value_7; /* Once value */ - static val_t once_value_8; /* Once value */ - static val_t once_value_9; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 459; + fra.me.line = 457; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___check_conform_multiexpr; fra.me.has_broke = 0; - fra.me.REG_size = 9; + fra.me.REG_size = 5; 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[4] = NIT_NULL; - fra.me.REG[5] = NIT_NULL; - fra.me.REG[6] = NIT_NULL; - fra.me.REG[7] = NIT_NULL; - fra.me.REG[8] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; + /* ./syntax//syntax_base.nit:469 */ fra.me.REG[3] = NIT_NULL; - fra.me.REG[4] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]); - /* ./syntax//syntax_base.nit:472 */ - while(1) { - REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[4])(fra.me.REG[4]); + CALL_abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_syntax_base___AbsSyntaxVisitor___check_conform_multiexpr_1)); + switch ((&(fra.me))->has_broke) { + case 0: break; + case 1: (&(fra.me))->has_broke = 0; goto label3; + } + /* ./syntax//syntax_base.nit:483 */ + REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); + 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; + } + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + } else { + nit_abort("Assert failed", NULL, LOCATE_syntax_base, 483); + } + CALL_abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_syntax_base___AbsSyntaxVisitor___check_conform_multiexpr_4)); + switch ((&(fra.me))->has_broke) { + case 0: break; + case 1: (&(fra.me))->has_broke = 0; goto label3; + } + /* ./syntax//syntax_base.nit:494 */ + fra.me.REG[4] = fra.me.REG[1]; + goto label3; + label3: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[4]; +} + void OC_syntax_base___AbsSyntaxVisitor___check_conform_multiexpr_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + fun_t CREG[1]; + val_t tmp; + /* ./syntax//syntax_base.nit:470 */ + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_syntax_base; + fra.me.line = 0; + fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___check_conform_multiexpr; + 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.closure_ctx = closctx_param; + fra.me.closure_funs = CREG; + fra.me.REG[0] = p0; + CREG[0] = clos_fun0; + /* ./syntax//syntax_base.nit:471 */ + REGB0 = CALL_syntax_base___AbsSyntaxVisitor___check_expr(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); if (UNTAG_Bool(REGB0)) { - fra.me.REG[5] = CALL_abstract_collection___Iterator___item(fra.me.REG[4])(fra.me.REG[4]); - REGB0 = CALL_syntax_base___AbsSyntaxVisitor___check_expr(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5]); - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - /* ./syntax//syntax_base.nit:473 */ - if (UNTAG_Bool(REGB0)) { - fra.me.REG[6] = NIT_NULL; - goto label1; - } - fra.me.REG[7] = CALL_syntax_base___AExpr___stype(fra.me.REG[5])(fra.me.REG[5]); - REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - /* ./syntax//syntax_base.nit:475 */ - if (UNTAG_Bool(REGB0)) { + closctx->REG[4] = NIT_NULL; + closctx->has_broke = 1; + goto label2; + } + /* ./syntax//syntax_base.nit:472 */ + fra.me.REG[1] = CALL_syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]); + /* ./syntax//syntax_base.nit:473 */ + REGB0 = TAG_Bool(closctx->REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(closctx->REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; } 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; - } + REGB1 = CALL_kernel___Object_____eqeq(closctx->REG[1])(closctx->REG[1], NIT_NULL); + REGB0 = REGB1; } - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { + REGB0 = TAG_Bool(closctx->REG[1]==NIT_NULL); if (UNTAG_Bool(REGB0)) { - REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 475); - nit_exit(1); - } - REGB0 = CALL_static_type___MMType___is_nullable(fra.me.REG[1])(fra.me.REG[1]); - REGB1 = CALL_static_type___MMType___is_nullable(fra.me.REG[7])(fra.me.REG[7]); - REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); - if (UNTAG_Bool(REGB2)) { - } else { - REGB1 = TAG_Bool((REGB0)==(REGB1)); - REGB2 = REGB1; - /* ./syntax//syntax_base.nit:475 */ - } - REGB2 = TAG_Bool(!UNTAG_Bool(REGB2)); - } else { - REGB1 = TAG_Bool(false); - REGB2 = REGB1; + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 473); } - if (UNTAG_Bool(REGB2)) { - REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - /* ./syntax//syntax_base.nit:477 */ - if (UNTAG_Bool(REGB2)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 477); - nit_exit(1); - } - fra.me.REG[8] = CALL_static_type___MMType___as_nullable(fra.me.REG[1])(fra.me.REG[1]); - fra.me.REG[1] = fra.me.REG[8]; - fra.me.REG[8] = CALL_static_type___MMType___as_nullable(fra.me.REG[7])(fra.me.REG[7]); - fra.me.REG[7] = fra.me.REG[8]; - /* ./syntax//syntax_base.nit:478 */ - } - REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - /* ./syntax//syntax_base.nit:480 */ + REGB0 = CALL_static_type___MMType___is_nullable(closctx->REG[1])(closctx->REG[1]); + REGB1 = CALL_static_type___MMType___is_nullable(fra.me.REG[1])(fra.me.REG[1]); + REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); if (UNTAG_Bool(REGB2)) { } else { - REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(false); - REGB2 = REGB1; - } else { - REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL); - REGB2 = REGB1; - } + /* ./../lib/standard//kernel.nit:175 */ + REGB1 = TAG_Bool((REGB0)==(REGB1)); + /* ./syntax//syntax_base.nit:473 */ + REGB2 = REGB1; } + REGB2 = TAG_Bool(!UNTAG_Bool(REGB2)); + } else { + REGB1 = TAG_Bool(false); + REGB2 = REGB1; + } + if (UNTAG_Bool(REGB2)) { + /* ./syntax//syntax_base.nit:475 */ + REGB2 = TAG_Bool(closctx->REG[1]==NIT_NULL); if (UNTAG_Bool(REGB2)) { - REGB2 = TAG_Bool(true); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 475); + } + fra.me.REG[2] = CALL_static_type___MMType___as_nullable(closctx->REG[1])(closctx->REG[1]); + closctx->REG[1] = fra.me.REG[2]; + /* ./syntax//syntax_base.nit:476 */ + fra.me.REG[2] = CALL_static_type___MMType___as_nullable(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[1] = fra.me.REG[2]; + } + /* ./syntax//syntax_base.nit:478 */ + REGB2 = TAG_Bool(closctx->REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB2)) { + } else { + REGB1 = TAG_Bool(closctx->REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB2 = REGB1; } else { - REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - if (UNTAG_Bool(REGB1)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 480); - nit_exit(1); - } - REGB1 = CALL_static_type___MMType_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]); + REGB1 = CALL_kernel___Object_____eqeq(closctx->REG[1])(closctx->REG[1], NIT_NULL); REGB2 = REGB1; } - if (UNTAG_Bool(REGB2)) { - fra.me.REG[1] = fra.me.REG[7]; - fra.me.REG[3] = fra.me.REG[5]; - /* ./syntax//syntax_base.nit:482 */ - } + } + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Bool(true); } else { - /* ./syntax//syntax_base.nit:472 */ - goto label2; + REGB1 = TAG_Bool(closctx->REG[1]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 478); + } + REGB1 = CALL_static_type___MMType_____l(closctx->REG[1])(closctx->REG[1], fra.me.REG[1]); + REGB2 = REGB1; } - CALL_abstract_collection___Iterator___next(fra.me.REG[4])(fra.me.REG[4]); - } - label2: while(0); - fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]); - /* ./syntax//syntax_base.nit:485 */ - while(1) { - REGB2 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]); if (UNTAG_Bool(REGB2)) { - fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]); - fra.me.REG[5] = CALL_syntax_base___AExpr___stype(fra.me.REG[4])(fra.me.REG[4]); - REGB2 = TAG_Bool(fra.me.REG[1]!=NIT_NULL); + /* ./syntax//syntax_base.nit:479 */ + closctx->REG[1] = fra.me.REG[1]; + /* ./syntax//syntax_base.nit:480 */ + closctx->REG[3] = fra.me.REG[0]; + } + label2: while(0); + stack_frame_head = fra.me.prev; + return; + } + void OC_syntax_base___AbsSyntaxVisitor___check_conform_multiexpr_4(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + fun_t CREG[1]; + val_t tmp; + static val_t once_value_5; /* Once value */ + static val_t once_value_6; /* Once value */ + static val_t once_value_7; /* Once value */ + static val_t once_value_8; /* Once value */ + static val_t once_value_9; /* Once value */ + static val_t once_value_10; /* Once value */ + static val_t once_value_11; /* Once value */ + /* ./syntax//syntax_base.nit:484 */ + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_syntax_base; + fra.me.line = 0; + fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___check_conform_multiexpr; + 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.closure_ctx = closctx_param; + fra.me.closure_funs = CREG; + fra.me.REG[0] = p0; + CREG[0] = clos_fun0; + /* ./syntax//syntax_base.nit:485 */ + fra.me.REG[1] = CALL_syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]); + REGB0 = CALL_static_type___MMType_____l(fra.me.REG[1])(fra.me.REG[1], closctx->REG[1]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + if (UNTAG_Bool(REGB0)) { /* ./syntax//syntax_base.nit:486 */ - if (UNTAG_Bool(REGB2)) { + REGB0 = TAG_Bool(closctx->REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Cast failed"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 486); - nit_exit(1); - } - REGB2 = CALL_static_type___MMType_____l(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[1]); - REGB2 = TAG_Bool(!UNTAG_Bool(REGB2)); - if (UNTAG_Bool(REGB2)) { - REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL); - /* ./syntax//syntax_base.nit:487 */ - if (UNTAG_Bool(REGB2)) { + REGB1 = TAG_Bool(closctx->REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; } else { - REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL); - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(false); - REGB2 = REGB1; - } else { - REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL); - REGB2 = REGB1; - } + REGB1 = CALL_kernel___Object_____eqeq(closctx->REG[3])(closctx->REG[3], NIT_NULL); + REGB0 = REGB1; } - if (UNTAG_Bool(REGB2)) { - REGB2 = TAG_Int(5); - fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB2); - /* ./syntax//syntax_base.nit:488 */ - if (!once_value_3) { - fra.me.REG[7] = BOX_NativeString("Type error: no most general type. Got "); - REGB2 = TAG_Int(38); - fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2); - once_value_3 = fra.me.REG[7]; - register_static_object(&once_value_3); - } else fra.me.REG[7] = once_value_3; - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - fra.me.REG[7] = CALL_syntax_base___AExpr___stype(fra.me.REG[4])(fra.me.REG[4]); - fra.me.REG[7] = CALL_string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]); - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - if (!once_value_4) { - fra.me.REG[7] = BOX_NativeString(" and "); - REGB2 = TAG_Int(5); - fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2); - once_value_4 = fra.me.REG[7]; - register_static_object(&once_value_4); - } else fra.me.REG[7] = once_value_4; - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - fra.me.REG[7] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - if (!once_value_5) { - fra.me.REG[7] = BOX_NativeString("."); - REGB2 = TAG_Int(1); - fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2); - once_value_5 = fra.me.REG[7]; - register_static_object(&once_value_5); - } else fra.me.REG[7] = once_value_5; - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]); - CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[5]); - } else { - REGB2 = TAG_Int(7); - fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB2); - /* ./syntax//syntax_base.nit:490 */ - if (!once_value_6) { - fra.me.REG[7] = BOX_NativeString("Type error: no most general type. Got "); - REGB2 = TAG_Int(38); - fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2); - once_value_6 = fra.me.REG[7]; - register_static_object(&once_value_6); - } else fra.me.REG[7] = once_value_6; - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - fra.me.REG[7] = CALL_syntax_base___AExpr___stype(fra.me.REG[4])(fra.me.REG[4]); - fra.me.REG[7] = CALL_string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]); - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - if (!once_value_7) { - fra.me.REG[7] = BOX_NativeString(" and "); - REGB2 = TAG_Int(5); - fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2); - once_value_7 = fra.me.REG[7]; - register_static_object(&once_value_7); - } else fra.me.REG[7] = once_value_7; - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - fra.me.REG[7] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - if (!once_value_8) { - fra.me.REG[7] = BOX_NativeString(" at "); - REGB2 = TAG_Int(4); - fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2); - once_value_8 = fra.me.REG[7]; - register_static_object(&once_value_8); - } else fra.me.REG[7] = once_value_8; - array___Array___add(fra.me.REG[5], fra.me.REG[7]); - REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL); - if (UNTAG_Bool(REGB2)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 490); - nit_exit(1); - } - fra.me.REG[7] = CALL_parser_nodes___ANode___location(fra.me.REG[3])(fra.me.REG[3]); - fra.me.REG[8] = CALL_parser_nodes___ANode___location(fra.me.REG[4])(fra.me.REG[4]); - fra.me.REG[8] = CALL_location___Location___relative_to(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]); - array___Array___add(fra.me.REG[5], fra.me.REG[8]); - if (!once_value_9) { - fra.me.REG[8] = BOX_NativeString("."); - REGB2 = TAG_Int(1); - fra.me.REG[8] = NEW_String_string___String___with_native(fra.me.REG[8], REGB2); - once_value_9 = fra.me.REG[8]; - register_static_object(&once_value_9); - } else fra.me.REG[8] = once_value_9; - array___Array___add(fra.me.REG[5], fra.me.REG[8]); - fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]); - CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[5]); + } + if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:487 */ + REGB0 = TAG_Int(5); + fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0); + if (!once_value_5) { + fra.me.REG[2] = BOX_NativeString("Type error: no most general type. Got "); + REGB0 = TAG_Int(38); + fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0); + once_value_5 = fra.me.REG[2]; + register_static_object(&once_value_5); + } else fra.me.REG[2] = once_value_5; + fra.me.REG[2] = fra.me.REG[2]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = CALL_syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]); + fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + if (!once_value_6) { + fra.me.REG[2] = BOX_NativeString(" and "); + REGB0 = TAG_Int(5); + fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0); + once_value_6 = fra.me.REG[2]; + register_static_object(&once_value_6); + } else fra.me.REG[2] = once_value_6; + fra.me.REG[2] = fra.me.REG[2]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = CALL_string___Object___to_s(closctx->REG[1])(closctx->REG[1]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + if (!once_value_7) { + fra.me.REG[2] = BOX_NativeString("."); + REGB0 = TAG_Int(1); + fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0); + once_value_7 = fra.me.REG[2]; + register_static_object(&once_value_7); + } else fra.me.REG[2] = once_value_7; + fra.me.REG[2] = fra.me.REG[2]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); + CALL_syntax_base___AbsSyntaxVisitor___error(closctx->REG[0])(closctx->REG[0], fra.me.REG[0], fra.me.REG[1]); + } else { + /* ./syntax//syntax_base.nit:489 */ + REGB0 = TAG_Int(7); + fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0); + if (!once_value_8) { + fra.me.REG[2] = BOX_NativeString("Type error: no most general type. Got "); + REGB0 = TAG_Int(38); + fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0); + once_value_8 = fra.me.REG[2]; + register_static_object(&once_value_8); + } else fra.me.REG[2] = once_value_8; + fra.me.REG[2] = fra.me.REG[2]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = CALL_syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]); + fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + if (!once_value_9) { + fra.me.REG[2] = BOX_NativeString(" and "); + REGB0 = TAG_Int(5); + fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0); + once_value_9 = fra.me.REG[2]; + register_static_object(&once_value_9); + } else fra.me.REG[2] = once_value_9; + fra.me.REG[2] = fra.me.REG[2]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + fra.me.REG[2] = CALL_string___Object___to_s(closctx->REG[1])(closctx->REG[1]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + if (!once_value_10) { + fra.me.REG[2] = BOX_NativeString(" at "); + REGB0 = TAG_Int(4); + fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0); + once_value_10 = fra.me.REG[2]; + register_static_object(&once_value_10); + } else fra.me.REG[2] = once_value_10; + fra.me.REG[2] = fra.me.REG[2]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); + REGB0 = TAG_Bool(closctx->REG[3]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 489); } - fra.me.REG[6] = NIT_NULL; - /* ./syntax//syntax_base.nit:492 */ - goto label1; + fra.me.REG[2] = CALL_parser_nodes___ANode___location(closctx->REG[3])(closctx->REG[3]); + fra.me.REG[3] = CALL_parser_nodes___ANode___location(fra.me.REG[0])(fra.me.REG[0]); + fra.me.REG[3] = CALL_location___Location___relative_to(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]); + if (!once_value_11) { + fra.me.REG[3] = BOX_NativeString("."); + REGB0 = TAG_Int(1); + fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0); + once_value_11 = fra.me.REG[3]; + register_static_object(&once_value_11); + } else fra.me.REG[3] = once_value_11; + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]); + fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]); + CALL_syntax_base___AbsSyntaxVisitor___error(closctx->REG[0])(closctx->REG[0], fra.me.REG[0], fra.me.REG[1]); } - } else { - /* ./syntax//syntax_base.nit:485 */ - goto label10; + /* ./syntax//syntax_base.nit:491 */ + closctx->REG[4] = NIT_NULL; + closctx->has_broke = 1; + goto label12; } - CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]); + label12: while(0); + stack_frame_head = fra.me.prev; + return; } - label10: while(0); - fra.me.REG[6] = fra.me.REG[1]; - /* ./syntax//syntax_base.nit:495 */ - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[6]; -} void syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){ int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AbsSyntaxVisitor].i; struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; @@ -3163,7 +3214,7 @@ void syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1, val_t p2, int* in if (init_table[itpos14]) return; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 498; + fra.me.line = 497; fra.me.meth = LOCATE_syntax_base___AbsSyntaxVisitor___init; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -3174,13 +3225,13 @@ void syntax_base___AbsSyntaxVisitor___init(val_t p0, val_t p1, val_t p2, int* in fra.me.REG[0] = p0; fra.me.REG[1] = p1; fra.me.REG[2] = p2; + /* ./syntax//syntax_base.nit:497 */ fra.me.REG[3] = fra.me.REG[0]; - /* ./syntax//syntax_base.nit:498 */ CALL_parser_prod___Visitor___init(fra.me.REG[0])(fra.me.REG[0], init_table); - /* ./syntax//syntax_base.nit:500 */ + /* ./syntax//syntax_base.nit:499 */ ATTR_syntax_base___AbsSyntaxVisitor____tc(fra.me.REG[3]) = fra.me.REG[1]; - /* ./syntax//syntax_base.nit:501 */ - ATTR_syntax_base___AbsSyntaxVisitor____module(fra.me.REG[3]) = fra.me.REG[2]; + /* ./syntax//syntax_base.nit:500 */ + ATTR_syntax_base___AbsSyntaxVisitor____mmmodule(fra.me.REG[3]) = fra.me.REG[2]; stack_frame_head = fra.me.prev; init_table[itpos14] = 1; return; @@ -3190,7 +3241,7 @@ void syntax_base___ANode___accept_abs_syntax_visitor(val_t p0, val_t p1){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 508; + fra.me.line = 507; fra.me.meth = LOCATE_syntax_base___ANode___accept_abs_syntax_visitor; fra.me.has_broke = 0; fra.me.REG_size = 2; @@ -3198,7 +3249,7 @@ void syntax_base___ANode___accept_abs_syntax_visitor(val_t p0, val_t p1){ fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - /* ./syntax//syntax_base.nit:508 */ + /* ./syntax//syntax_base.nit:507 */ CALL_parser_prod___ANode___visit_all(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); stack_frame_head = fra.me.prev; return; @@ -3210,7 +3261,7 @@ val_t syntax_base___Token___to_symbol(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 514; + fra.me.line = 513; fra.me.meth = LOCATE_syntax_base___Token___to_symbol; fra.me.has_broke = 0; fra.me.REG_size = 3; @@ -3218,9 +3269,10 @@ val_t syntax_base___Token___to_symbol(val_t p0){ fra.me.REG[1] = NIT_NULL; fra.me.REG[2] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:517 */ fra.me.REG[1] = ATTR_syntax_base___Token____symbol_cache(fra.me.REG[0]); + /* ./syntax//syntax_base.nit:518 */ REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL); - /* ./syntax//syntax_base.nit:519 */ if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL); @@ -3233,13 +3285,14 @@ val_t syntax_base___Token___to_symbol(val_t p0){ } } if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:519 */ fra.me.REG[2] = CALL_lexer___Token___text(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[2] = CALL_symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]); fra.me.REG[1] = fra.me.REG[2]; - /* ./syntax//syntax_base.nit:521 */ + /* ./syntax//syntax_base.nit:520 */ ATTR_syntax_base___Token____symbol_cache(fra.me.REG[0]) = fra.me.REG[1]; } - /* ./syntax//syntax_base.nit:523 */ + /* ./syntax//syntax_base.nit:522 */ goto label1; label1: while(0); stack_frame_head = fra.me.prev; @@ -3250,14 +3303,12 @@ val_t syntax_base___AClassdef___local_class(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 528; + fra.me.line = 527; fra.me.meth = LOCATE_syntax_base___AClassdef___local_class; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:528 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 528); - nit_exit(1); + /* ./syntax//syntax_base.nit:527 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 527); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3266,14 +3317,14 @@ val_t syntax_base___AClassdef___next_node(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 531; + fra.me.line = 530; fra.me.meth = LOCATE_syntax_base___AClassdef___next_node; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:530 */ fra.me.REG[0] = ATTR_syntax_base___AClassdef____next_node(fra.me.REG[0]); - /* ./syntax//syntax_base.nit:531 */ stack_frame_head = fra.me.prev; return fra.me.REG[0]; } @@ -3282,7 +3333,7 @@ void syntax_base___AClassdef___next_node__eq(val_t p0, val_t p1){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 531; + fra.me.line = 530; fra.me.meth = LOCATE_syntax_base___AClassdef___next_node__eq; fra.me.has_broke = 0; fra.me.REG_size = 2; @@ -3290,7 +3341,7 @@ void syntax_base___AClassdef___next_node__eq(val_t p0, val_t p1){ fra.me.REG[1] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; - /* ./syntax//syntax_base.nit:531 */ + /* ./syntax//syntax_base.nit:530 */ ATTR_syntax_base___AClassdef____next_node(fra.me.REG[0]) = fra.me.REG[1]; stack_frame_head = fra.me.prev; return; @@ -3300,14 +3351,12 @@ val_t syntax_base___APropdef___self_var(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 536; + fra.me.line = 535; fra.me.meth = LOCATE_syntax_base___APropdef___self_var; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:536 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 536); - nit_exit(1); + /* ./syntax//syntax_base.nit:535 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 535); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3316,14 +3365,12 @@ val_t syntax_base___AAttrPropdef___prop(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 541; + fra.me.line = 540; fra.me.meth = LOCATE_syntax_base___AAttrPropdef___prop; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:541 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 541); - nit_exit(1); + /* ./syntax//syntax_base.nit:540 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 540); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3332,14 +3379,12 @@ val_t syntax_base___AAttrPropdef___readmethod(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 544; + fra.me.line = 543; fra.me.meth = LOCATE_syntax_base___AAttrPropdef___readmethod; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:544 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 544); - nit_exit(1); + /* ./syntax//syntax_base.nit:543 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 543); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3348,14 +3393,12 @@ val_t syntax_base___AAttrPropdef___writemethod(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 547; + fra.me.line = 546; fra.me.meth = LOCATE_syntax_base___AAttrPropdef___writemethod; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:547 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 547); - nit_exit(1); + /* ./syntax//syntax_base.nit:546 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 546); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3365,19 +3408,17 @@ val_t syntax_base___AConcreteInitPropdef___super_init_calls(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 552; + fra.me.line = 551; fra.me.meth = LOCATE_syntax_base___AConcreteInitPropdef___super_init_calls; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:551 */ REGB0 = TAG_Bool(ATTR_syntax_base___AConcreteInitPropdef____super_init_calls(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:552 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_super_init_calls"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 552); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_super_init_calls", LOCATE_syntax_base, 551); } fra.me.REG[0] = ATTR_syntax_base___AConcreteInitPropdef____super_init_calls(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -3389,19 +3430,17 @@ val_t syntax_base___AConcreteInitPropdef___explicit_super_init_calls(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 553; + fra.me.line = 552; fra.me.meth = LOCATE_syntax_base___AConcreteInitPropdef___explicit_super_init_calls; fra.me.has_broke = 0; fra.me.REG_size = 1; fra.me.REG[0] = NIT_NULL; fra.me.REG[0] = p0; + /* ./syntax//syntax_base.nit:552 */ REGB0 = TAG_Bool(ATTR_syntax_base___AConcreteInitPropdef____explicit_super_init_calls(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:553 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_explicit_super_init_calls"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 553); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_explicit_super_init_calls", LOCATE_syntax_base, 552); } fra.me.REG[0] = ATTR_syntax_base___AConcreteInitPropdef____explicit_super_init_calls(fra.me.REG[0]); stack_frame_head = fra.me.prev; @@ -3412,14 +3451,12 @@ val_t syntax_base___AMethPropdef___method(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 557; + fra.me.line = 556; fra.me.meth = LOCATE_syntax_base___AMethPropdef___method; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:557 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 557); - nit_exit(1); + /* ./syntax//syntax_base.nit:556 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 556); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3428,14 +3465,12 @@ val_t syntax_base___ATypePropdef___prop(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 562; + fra.me.line = 561; fra.me.meth = LOCATE_syntax_base___ATypePropdef___prop; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:562 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 562); - nit_exit(1); + /* ./syntax//syntax_base.nit:561 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 561); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3444,14 +3479,12 @@ val_t syntax_base___AParam___position(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 567; + fra.me.line = 566; fra.me.meth = LOCATE_syntax_base___AParam___position; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:567 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 567); - nit_exit(1); + /* ./syntax//syntax_base.nit:566 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 566); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3460,14 +3493,12 @@ val_t syntax_base___AParam___variable(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 570; + fra.me.line = 569; fra.me.meth = LOCATE_syntax_base___AParam___variable; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:570 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 570); - nit_exit(1); + /* ./syntax//syntax_base.nit:569 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 569); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3476,14 +3507,12 @@ val_t syntax_base___AClosureDecl___position(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 575; + fra.me.line = 574; fra.me.meth = LOCATE_syntax_base___AClosureDecl___position; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:575 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 575); - nit_exit(1); + /* ./syntax//syntax_base.nit:574 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 574); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3492,14 +3521,12 @@ val_t syntax_base___AClosureDecl___variable(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 578; + fra.me.line = 577; fra.me.meth = LOCATE_syntax_base___AClosureDecl___variable; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:578 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 578); - nit_exit(1); + /* ./syntax//syntax_base.nit:577 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 577); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3508,14 +3535,12 @@ val_t syntax_base___AType___is_typed(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 583; + fra.me.line = 582; fra.me.meth = LOCATE_syntax_base___AType___is_typed; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:583 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 583); - nit_exit(1); + /* ./syntax//syntax_base.nit:582 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 582); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3524,14 +3549,12 @@ val_t syntax_base___AType___stype(val_t p0){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 588; + fra.me.line = 587; fra.me.meth = LOCATE_syntax_base___AType___stype; fra.me.has_broke = 0; fra.me.REG_size = 0; - /* ./syntax//syntax_base.nit:588 */ - fprintf(stderr, "Deferred method called"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 588); - nit_exit(1); + /* ./syntax//syntax_base.nit:587 */ + nit_abort("Deferred method called", NULL, LOCATE_syntax_base, 587); stack_frame_head = fra.me.prev; return NIT_NULL; } @@ -3547,7 +3570,7 @@ val_t syntax_base___AType___get_local_class(val_t p0, val_t p1){ static val_t once_value_6; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 594; + fra.me.line = 593; fra.me.meth = LOCATE_syntax_base___AType___get_local_class; fra.me.has_broke = 0; fra.me.REG_size = 8; @@ -3561,13 +3584,16 @@ val_t syntax_base___AType___get_local_class(val_t p0, val_t p1){ fra.me.REG[7] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; + /* ./syntax//syntax_base.nit:598 */ fra.me.REG[2] = CALL_parser_nodes___AType___n_id(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[2] = CALL_syntax_base___Token___to_symbol(fra.me.REG[2])(fra.me.REG[2]); - fra.me.REG[3] = CALL_syntax_base___AbsSyntaxVisitor___module(fra.me.REG[1])(fra.me.REG[1]); + /* ./syntax//syntax_base.nit:599 */ + fra.me.REG[3] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[1])(fra.me.REG[1]); + /* ./syntax//syntax_base.nit:600 */ fra.me.REG[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]); + /* ./syntax//syntax_base.nit:602 */ fra.me.REG[5] = CALL_syntax_base___MMSrcLocalClass___formal_dict(fra.me.REG[4])(fra.me.REG[4]); REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]); - /* ./syntax//syntax_base.nit:603 */ if (UNTAG_Bool(REGB0)) { REGB0 = TAG_Bool(true); } else { @@ -3575,10 +3601,10 @@ val_t syntax_base___AType___get_local_class(val_t p0, val_t p1){ REGB0 = REGB1; } if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:603 */ fra.me.REG[4] = CALL_parser_nodes___AType___n_id(fra.me.REG[0])(fra.me.REG[0]); REGB0 = TAG_Int(3); fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB0); - /* ./syntax//syntax_base.nit:604 */ if (!once_value_1) { fra.me.REG[6] = BOX_NativeString("Type error: "); REGB0 = TAG_Int(12); @@ -3586,9 +3612,10 @@ val_t syntax_base___AType___get_local_class(val_t p0, val_t p1){ once_value_1 = fra.me.REG[6]; register_static_object(&once_value_1); } else fra.me.REG[6] = once_value_1; - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); if (!once_value_2) { fra.me.REG[6] = BOX_NativeString(" is a formal type"); REGB0 = TAG_Int(17); @@ -3596,24 +3623,25 @@ val_t syntax_base___AType___get_local_class(val_t p0, val_t p1){ once_value_2 = fra.me.REG[6]; register_static_object(&once_value_2); } else fra.me.REG[6] = once_value_2; - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[5]); + /* ./syntax//syntax_base.nit:604 */ REGB0 = TAG_Bool(true); - /* ./syntax//syntax_base.nit:605 */ ATTR_syntax_base___AType____stype_cached(fra.me.REG[0]) = REGB0; + /* ./syntax//syntax_base.nit:605 */ fra.me.REG[5] = NIT_NULL; - /* ./syntax//syntax_base.nit:606 */ goto label3; } + /* ./syntax//syntax_base.nit:608 */ REGB0 = CALL_abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - /* ./syntax//syntax_base.nit:609 */ if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:609 */ fra.me.REG[4] = CALL_parser_nodes___AType___n_id(fra.me.REG[0])(fra.me.REG[0]); REGB0 = TAG_Int(5); fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB0); - /* ./syntax//syntax_base.nit:610 */ if (!once_value_4) { fra.me.REG[7] = BOX_NativeString("Type error: class "); REGB0 = TAG_Int(18); @@ -3621,9 +3649,10 @@ val_t syntax_base___AType___get_local_class(val_t p0, val_t p1){ once_value_4 = fra.me.REG[7]; register_static_object(&once_value_4); } else fra.me.REG[7] = once_value_4; - array___Array___add(fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[7] = fra.me.REG[7]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]); fra.me.REG[7] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); - array___Array___add(fra.me.REG[6], fra.me.REG[7]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]); if (!once_value_5) { fra.me.REG[7] = BOX_NativeString(" not found in module "); REGB0 = TAG_Int(21); @@ -3631,9 +3660,10 @@ val_t syntax_base___AType___get_local_class(val_t p0, val_t p1){ once_value_5 = fra.me.REG[7]; register_static_object(&once_value_5); } else fra.me.REG[7] = once_value_5; - array___Array___add(fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[7] = fra.me.REG[7]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]); fra.me.REG[7] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); - array___Array___add(fra.me.REG[6], fra.me.REG[7]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]); if (!once_value_6) { fra.me.REG[7] = BOX_NativeString("."); REGB0 = TAG_Int(1); @@ -3641,22 +3671,24 @@ val_t syntax_base___AType___get_local_class(val_t p0, val_t p1){ once_value_6 = fra.me.REG[7]; register_static_object(&once_value_6); } else fra.me.REG[7] = once_value_6; - array___Array___add(fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[7] = fra.me.REG[7]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]); fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[6]); + /* ./syntax//syntax_base.nit:610 */ REGB0 = TAG_Bool(true); - /* ./syntax//syntax_base.nit:611 */ ATTR_syntax_base___AType____stype_cached(fra.me.REG[0]) = REGB0; + /* ./syntax//syntax_base.nit:611 */ fra.me.REG[5] = NIT_NULL; - /* ./syntax//syntax_base.nit:612 */ goto label3; } + /* ./syntax//syntax_base.nit:614 */ fra.me.REG[2] = CALL_abstractmetamodel___MMModule___class_by_name(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]); + /* ./syntax//syntax_base.nit:615 */ fra.me.REG[6] = CALL_abstractmetamodel___MMLocalClass___global(fra.me.REG[2])(fra.me.REG[2]); - /* ./syntax//syntax_base.nit:616 */ CALL_syntax_base___MMGlobalClass___check_visibility(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]); + /* ./syntax//syntax_base.nit:616 */ fra.me.REG[5] = fra.me.REG[2]; - /* ./syntax//syntax_base.nit:617 */ goto label3; label3: while(0); stack_frame_head = fra.me.prev; @@ -3685,7 +3717,7 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ static val_t once_value_15; /* Once value */ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 620; + fra.me.line = 619; fra.me.meth = LOCATE_syntax_base___AType___get_unchecked_stype; fra.me.has_broke = 0; fra.me.REG_size = 8; @@ -3699,39 +3731,42 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ fra.me.REG[7] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; + /* ./syntax//syntax_base.nit:625 */ REGB0 = TAG_Bool(ATTR_syntax_base___AType____stype_cached(fra.me.REG[0])!=NIT_NULL); - /* ./syntax//syntax_base.nit:626 */ if (UNTAG_Bool(REGB0)) { } else { - fprintf(stderr, "Uninitialized attribute %s", "_stype_cached"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 626); - nit_exit(1); + nit_abort("Uninitialized attribute %s", "_stype_cached", LOCATE_syntax_base, 625); } REGB0 = ATTR_syntax_base___AType____stype_cached(fra.me.REG[0]); if (UNTAG_Bool(REGB0)) { fra.me.REG[2] = ATTR_syntax_base___AType____stype_cache(fra.me.REG[0]); goto label1; } + /* ./syntax//syntax_base.nit:626 */ REGB0 = TAG_Bool(true); - /* ./syntax//syntax_base.nit:627 */ ATTR_syntax_base___AType____stype_cached(fra.me.REG[0]) = REGB0; + /* ./syntax//syntax_base.nit:628 */ fra.me.REG[3] = CALL_parser_nodes___AType___n_id(fra.me.REG[0])(fra.me.REG[0]); fra.me.REG[3] = CALL_syntax_base___Token___to_symbol(fra.me.REG[3])(fra.me.REG[3]); - fra.me.REG[4] = CALL_syntax_base___AbsSyntaxVisitor___module(fra.me.REG[1])(fra.me.REG[1]); + /* ./syntax//syntax_base.nit:629 */ + fra.me.REG[4] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[1])(fra.me.REG[1]); + /* ./syntax//syntax_base.nit:630 */ fra.me.REG[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]); + /* ./syntax//syntax_base.nit:633 */ fra.me.REG[5] = CALL_syntax_base___MMSrcLocalClass___formal_dict(fra.me.REG[4])(fra.me.REG[4]); REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); - /* ./syntax//syntax_base.nit:634 */ if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:634 */ fra.me.REG[5] = CALL_parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]); REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[5])(fra.me.REG[5]); REGB1 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:214 */ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1)); - /* ./syntax//syntax_base.nit:635 */ + /* ./syntax//syntax_base.nit:634 */ if (UNTAG_Bool(REGB1)) { + /* ./syntax//syntax_base.nit:635 */ REGB1 = TAG_Int(3); fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1); - /* ./syntax//syntax_base.nit:636 */ if (!once_value_2) { fra.me.REG[6] = BOX_NativeString("Type error: formal type "); REGB1 = TAG_Int(24); @@ -3739,9 +3774,10 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_2 = fra.me.REG[6]; register_static_object(&once_value_2); } else fra.me.REG[6] = once_value_2; - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); if (!once_value_3) { fra.me.REG[6] = BOX_NativeString(" cannot have formal parameters."); REGB1 = TAG_Int(31); @@ -3749,18 +3785,20 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_3 = fra.me.REG[6]; register_static_object(&once_value_3); } else fra.me.REG[6] = once_value_3; - array___Array___add(fra.me.REG[5], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]); fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[5]); + /* ./syntax//syntax_base.nit:636 */ fra.me.REG[2] = NIT_NULL; - /* ./syntax//syntax_base.nit:637 */ goto label1; } + /* ./syntax//syntax_base.nit:638 */ fra.me.REG[5] = CALL_syntax_base___MMSrcLocalClass___formal_dict(fra.me.REG[4])(fra.me.REG[4]); fra.me.REG[5] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]); + /* ./syntax//syntax_base.nit:639 */ fra.me.REG[6] = CALL_parser_nodes___AType___n_kwnullable(fra.me.REG[0])(fra.me.REG[0]); REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL); - /* ./syntax//syntax_base.nit:640 */ if (UNTAG_Bool(REGB1)) { } else { REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL); @@ -3776,31 +3814,31 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ if (UNTAG_Bool(REGB1)) { REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); if (UNTAG_Bool(REGB1)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 640); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 639); } fra.me.REG[6] = CALL_static_type___MMType___as_nullable(fra.me.REG[5])(fra.me.REG[5]); fra.me.REG[5] = fra.me.REG[6]; } - /* ./syntax//syntax_base.nit:641 */ + /* ./syntax//syntax_base.nit:640 */ ATTR_syntax_base___AType____stype_cache(fra.me.REG[0]) = fra.me.REG[5]; + /* ./syntax//syntax_base.nit:641 */ fra.me.REG[2] = fra.me.REG[5]; - /* ./syntax//syntax_base.nit:642 */ goto label1; } + /* ./syntax//syntax_base.nit:644 */ REGB1 = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); - /* ./syntax//syntax_base.nit:645 */ if (UNTAG_Bool(REGB1)) { + /* ./syntax//syntax_base.nit:645 */ fra.me.REG[6] = CALL_parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]); REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[6])(fra.me.REG[6]); REGB0 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:214 */ REGB0 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB0)); - /* ./syntax//syntax_base.nit:646 */ + /* ./syntax//syntax_base.nit:645 */ if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:646 */ REGB0 = TAG_Int(3); fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB0); - /* ./syntax//syntax_base.nit:647 */ if (!once_value_4) { fra.me.REG[7] = BOX_NativeString("Type error: formal type "); REGB0 = TAG_Int(24); @@ -3808,9 +3846,10 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_4 = fra.me.REG[7]; register_static_object(&once_value_4); } else fra.me.REG[7] = once_value_4; - array___Array___add(fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[7] = fra.me.REG[7]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]); fra.me.REG[7] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); - array___Array___add(fra.me.REG[6], fra.me.REG[7]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]); if (!once_value_5) { fra.me.REG[7] = BOX_NativeString(" cannot have formal parameters."); REGB0 = TAG_Int(31); @@ -3818,21 +3857,23 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_5 = fra.me.REG[7]; register_static_object(&once_value_5); } else fra.me.REG[7] = once_value_5; - array___Array___add(fra.me.REG[6], fra.me.REG[7]); + fra.me.REG[7] = fra.me.REG[7]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]); fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[6]); + /* ./syntax//syntax_base.nit:647 */ fra.me.REG[2] = NIT_NULL; - /* ./syntax//syntax_base.nit:648 */ goto label1; } + /* ./syntax//syntax_base.nit:649 */ fra.me.REG[6] = CALL_static_type___MMLocalClass___get_type(fra.me.REG[4])(fra.me.REG[4]); fra.me.REG[6] = CALL_static_type___MMType___local_class(fra.me.REG[6])(fra.me.REG[6]); fra.me.REG[6] = CALL_virtualtype___MMLocalClass___select_virtual_type(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]); fra.me.REG[4] = CALL_static_type___MMLocalClass___get_type(fra.me.REG[4])(fra.me.REG[4]); fra.me.REG[4] = CALL_virtualtype___MMTypeProperty___stype_for(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]); fra.me.REG[5] = fra.me.REG[4]; + /* ./syntax//syntax_base.nit:650 */ REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); - /* ./syntax//syntax_base.nit:651 */ if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL); @@ -3845,9 +3886,9 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ } } if (UNTAG_Bool(REGB0)) { + /* ./syntax//syntax_base.nit:651 */ REGB0 = TAG_Int(3); fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0); - /* ./syntax//syntax_base.nit:652 */ if (!once_value_6) { fra.me.REG[6] = BOX_NativeString("Type error: circular definition in formal type "); REGB0 = TAG_Int(47); @@ -3855,9 +3896,10 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_6 = fra.me.REG[6]; register_static_object(&once_value_6); } else fra.me.REG[6] = once_value_6; - array___Array___add(fra.me.REG[4], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); - array___Array___add(fra.me.REG[4], fra.me.REG[3]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); if (!once_value_7) { fra.me.REG[3] = BOX_NativeString("."); REGB0 = TAG_Int(1); @@ -3865,16 +3907,17 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_7 = fra.me.REG[3]; register_static_object(&once_value_7); } else fra.me.REG[3] = once_value_7; - array___Array___add(fra.me.REG[4], fra.me.REG[3]); + fra.me.REG[3] = fra.me.REG[3]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]); + /* ./syntax//syntax_base.nit:652 */ fra.me.REG[2] = NIT_NULL; - /* ./syntax//syntax_base.nit:653 */ goto label1; } + /* ./syntax//syntax_base.nit:654 */ fra.me.REG[4] = CALL_parser_nodes___AType___n_kwnullable(fra.me.REG[0])(fra.me.REG[0]); REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); - /* ./syntax//syntax_base.nit:655 */ if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); @@ -3890,22 +3933,21 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ if (UNTAG_Bool(REGB0)) { REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL); if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 655); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 654); } fra.me.REG[4] = CALL_static_type___MMType___as_nullable(fra.me.REG[5])(fra.me.REG[5]); fra.me.REG[5] = fra.me.REG[4]; } - /* ./syntax//syntax_base.nit:656 */ + /* ./syntax//syntax_base.nit:655 */ ATTR_syntax_base___AType____stype_cache(fra.me.REG[0]) = fra.me.REG[5]; + /* ./syntax//syntax_base.nit:656 */ fra.me.REG[2] = fra.me.REG[5]; - /* ./syntax//syntax_base.nit:657 */ goto label1; } + /* ./syntax//syntax_base.nit:659 */ fra.me.REG[4] = CALL_syntax_base___AType___get_local_class(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./syntax//syntax_base.nit:660 */ REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); - /* ./syntax//syntax_base.nit:661 */ if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); @@ -3921,38 +3963,39 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ fra.me.REG[2] = NIT_NULL; goto label1; } + /* ./syntax//syntax_base.nit:662 */ fra.me.REG[3] = CALL_parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]); REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]); + /* ./syntax//syntax_base.nit:663 */ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); - /* ./syntax//syntax_base.nit:664 */ if (UNTAG_Bool(REGB1)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 664); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 663); } REGB1 = CALL_abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]); REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB0)); if (UNTAG_Bool(REGB2)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB1 = TAG_Bool((REGB1)==(REGB0)); + /* ./syntax//syntax_base.nit:663 */ REGB2 = REGB1; - /* ./syntax//syntax_base.nit:664 */ } REGB2 = TAG_Bool(!UNTAG_Bool(REGB2)); if (UNTAG_Bool(REGB2)) { + /* ./syntax//syntax_base.nit:664 */ REGB2 = TAG_Int(0); REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2)); - /* ./syntax//syntax_base.nit:665 */ if (UNTAG_Bool(REGB1)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB2 = TAG_Bool((REGB0)==(REGB2)); + /* ./syntax//syntax_base.nit:664 */ REGB1 = REGB2; - /* ./syntax//syntax_base.nit:665 */ } if (UNTAG_Bool(REGB1)) { + /* ./syntax//syntax_base.nit:665 */ REGB1 = TAG_Int(3); fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1); - /* ./syntax//syntax_base.nit:666 */ if (!once_value_8) { fra.me.REG[6] = BOX_NativeString("Type error: '"); REGB1 = TAG_Int(13); @@ -3960,9 +4003,10 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_8 = fra.me.REG[6]; register_static_object(&once_value_8); } else fra.me.REG[6] = once_value_8; - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); if (!once_value_9) { fra.me.REG[6] = BOX_NativeString("' is a generic class."); REGB1 = TAG_Int(21); @@ -3970,30 +4014,30 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_9 = fra.me.REG[6]; register_static_object(&once_value_9); } else fra.me.REG[6] = once_value_9; - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]); } else { + /* ./syntax//syntax_base.nit:666 */ REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL); - /* ./syntax//syntax_base.nit:667 */ if (UNTAG_Bool(REGB1)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 667); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 666); } REGB1 = CALL_abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]); REGB2 = TAG_Int(0); REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2)); if (UNTAG_Bool(REGB3)) { } else { + /* ./../lib/standard//kernel.nit:207 */ REGB2 = TAG_Bool((REGB1)==(REGB2)); + /* ./syntax//syntax_base.nit:666 */ REGB3 = REGB2; - /* ./syntax//syntax_base.nit:667 */ } if (UNTAG_Bool(REGB3)) { + /* ./syntax//syntax_base.nit:667 */ REGB3 = TAG_Int(3); fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB3); - /* ./syntax//syntax_base.nit:668 */ if (!once_value_10) { fra.me.REG[6] = BOX_NativeString("Type error: '"); REGB3 = TAG_Int(13); @@ -4001,9 +4045,10 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_10 = fra.me.REG[6]; register_static_object(&once_value_10); } else fra.me.REG[6] = once_value_10; - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); if (!once_value_11) { fra.me.REG[6] = BOX_NativeString("' is not a generic class."); REGB3 = TAG_Int(25); @@ -4011,13 +4056,14 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_11 = fra.me.REG[6]; register_static_object(&once_value_11); } else fra.me.REG[6] = once_value_11; - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]); } else { + /* ./syntax//syntax_base.nit:669 */ REGB3 = TAG_Int(7); fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB3); - /* ./syntax//syntax_base.nit:670 */ if (!once_value_12) { fra.me.REG[6] = BOX_NativeString("Type error: '"); REGB3 = TAG_Int(13); @@ -4025,9 +4071,10 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_12 = fra.me.REG[6]; register_static_object(&once_value_12); } else fra.me.REG[6] = once_value_12; - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]); - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); if (!once_value_13) { fra.me.REG[6] = BOX_NativeString("' has "); REGB3 = TAG_Int(6); @@ -4035,16 +4082,15 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_13 = fra.me.REG[6]; register_static_object(&once_value_13); } else fra.me.REG[6] = once_value_13; - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL); if (UNTAG_Bool(REGB3)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 670); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 669); } REGB3 = CALL_abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]); fra.me.REG[6] = CALL_string___Object___to_s(REGB3)(REGB3); - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); if (!once_value_14) { fra.me.REG[6] = BOX_NativeString(" parameters ("); REGB3 = TAG_Int(13); @@ -4052,9 +4098,10 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_14 = fra.me.REG[6]; register_static_object(&once_value_14); } else fra.me.REG[6] = once_value_14; - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); fra.me.REG[6] = CALL_string___Object___to_s(REGB0)(REGB0); - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); if (!once_value_15) { fra.me.REG[6] = BOX_NativeString(" are provided)."); REGB3 = TAG_Int(15); @@ -4062,77 +4109,50 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ once_value_15 = fra.me.REG[6]; register_static_object(&once_value_15); } else fra.me.REG[6] = once_value_15; - array___Array___add(fra.me.REG[3], fra.me.REG[6]); + fra.me.REG[6] = fra.me.REG[6]; + CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]); CALL_syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]); } } + /* ./syntax//syntax_base.nit:671 */ fra.me.REG[2] = NIT_NULL; - /* ./syntax//syntax_base.nit:672 */ goto label1; } + /* ./syntax//syntax_base.nit:674 */ REGB3 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:214 */ REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3)); - /* ./syntax//syntax_base.nit:675 */ + /* ./syntax//syntax_base.nit:674 */ if (UNTAG_Bool(REGB3)) { + /* ./syntax//syntax_base.nit:675 */ fra.me.REG[3] = NEW_Array_array___Array___init(); + /* ./syntax//syntax_base.nit:676 */ fra.me.REG[6] = CALL_parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[6] = CALL_abstract_collection___Collection___iterator(fra.me.REG[6])(fra.me.REG[6]); - /* ./syntax//syntax_base.nit:677 */ - while(1) { - REGB3 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[6])(fra.me.REG[6]); - if (UNTAG_Bool(REGB3)) { - fra.me.REG[7] = CALL_abstract_collection___Iterator___item(fra.me.REG[6])(fra.me.REG[6]); - fra.me.REG[7] = CALL_syntax_base___AType___get_unchecked_stype(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[1]); - REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL); - /* ./syntax//syntax_base.nit:679 */ - if (UNTAG_Bool(REGB3)) { - } else { - REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL); - if (UNTAG_Bool(REGB0)) { - REGB0 = TAG_Bool(false); - REGB3 = REGB0; - } else { - REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL); - REGB3 = REGB0; - } - } - if (UNTAG_Bool(REGB3)) { - fra.me.REG[2] = NIT_NULL; - goto label1; - } - /* ./syntax//syntax_base.nit:680 */ - array___Array___add(fra.me.REG[3], fra.me.REG[7]); - } else { - /* ./syntax//syntax_base.nit:677 */ - goto label16; - } - CALL_abstract_collection___Iterator___next(fra.me.REG[6])(fra.me.REG[6]); + CALL_abstract_collection___Collection___iterate(fra.me.REG[6])(fra.me.REG[6], (&(fra.me)), ((fun_t)OC_syntax_base___AType___get_unchecked_stype_16)); + switch ((&(fra.me))->has_broke) { + case 0: break; + case 1: (&(fra.me))->has_broke = 0; goto label1; } - label16: while(0); + /* ./syntax//syntax_base.nit:681 */ REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL); - /* ./syntax//syntax_base.nit:682 */ if (UNTAG_Bool(REGB3)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 682); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 681); } fra.me.REG[3] = CALL_genericity___MMLocalClass___get_instantiate_type(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]); fra.me.REG[5] = fra.me.REG[3]; } else { + /* ./syntax//syntax_base.nit:683 */ REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL); - /* ./syntax//syntax_base.nit:684 */ if (UNTAG_Bool(REGB3)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 684); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 683); } fra.me.REG[4] = CALL_static_type___MMLocalClass___get_type(fra.me.REG[4])(fra.me.REG[4]); fra.me.REG[5] = fra.me.REG[4]; } + /* ./syntax//syntax_base.nit:685 */ fra.me.REG[4] = CALL_parser_nodes___AType___n_kwnullable(fra.me.REG[0])(fra.me.REG[0]); REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL); - /* ./syntax//syntax_base.nit:686 */ if (UNTAG_Bool(REGB3)) { } else { REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL); @@ -4148,22 +4168,63 @@ val_t syntax_base___AType___get_unchecked_stype(val_t p0, val_t p1){ if (UNTAG_Bool(REGB3)) { REGB3 = TAG_Bool(fra.me.REG[5]==NIT_NULL); if (UNTAG_Bool(REGB3)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 686); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 685); } fra.me.REG[4] = CALL_static_type___MMType___as_nullable(fra.me.REG[5])(fra.me.REG[5]); fra.me.REG[5] = fra.me.REG[4]; } - /* ./syntax//syntax_base.nit:687 */ + /* ./syntax//syntax_base.nit:686 */ ATTR_syntax_base___AType____stype_cache(fra.me.REG[0]) = fra.me.REG[5]; + /* ./syntax//syntax_base.nit:687 */ fra.me.REG[2] = fra.me.REG[5]; - /* ./syntax//syntax_base.nit:688 */ goto label1; label1: while(0); stack_frame_head = fra.me.prev; return fra.me.REG[2]; } + void OC_syntax_base___AType___get_unchecked_stype_16(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + fun_t CREG[1]; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_syntax_base; + fra.me.line = 0; + fra.me.meth = LOCATE_syntax_base___AType___get_unchecked_stype; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.closure_ctx = closctx_param; + fra.me.closure_funs = CREG; + fra.me.REG[0] = p0; + CREG[0] = clos_fun0; + /* ./syntax//syntax_base.nit:677 */ + fra.me.REG[0] = CALL_syntax_base___AType___get_unchecked_stype(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]); + /* ./syntax//syntax_base.nit:678 */ + REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL); + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL); + REGB0 = REGB1; + } + } + if (UNTAG_Bool(REGB0)) { + closctx->REG[2] = NIT_NULL; + closctx->has_broke = 1; + goto label17; + } + /* ./syntax//syntax_base.nit:679 */ + CALL_abstract_collection___SimpleCollection___add(closctx->REG[3])(closctx->REG[3], fra.me.REG[0]); + label17: while(0); + stack_frame_head = fra.me.prev; + return; + } val_t syntax_base___AType___get_stype(val_t p0, val_t p1){ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; val_t REGB0; @@ -4171,7 +4232,7 @@ val_t syntax_base___AType___get_stype(val_t p0, val_t p1){ val_t tmp; fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; fra.me.file = LOCATE_syntax_base; - fra.me.line = 691; + fra.me.line = 690; fra.me.meth = LOCATE_syntax_base___AType___get_stype; fra.me.has_broke = 0; fra.me.REG_size = 4; @@ -4181,9 +4242,10 @@ val_t syntax_base___AType___get_stype(val_t p0, val_t p1){ fra.me.REG[3] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; + /* ./syntax//syntax_base.nit:694 */ fra.me.REG[2] = CALL_syntax_base___AType___get_unchecked_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./syntax//syntax_base.nit:695 */ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - /* ./syntax//syntax_base.nit:696 */ if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); @@ -4199,12 +4261,10 @@ val_t syntax_base___AType___get_stype(val_t p0, val_t p1){ fra.me.REG[3] = NIT_NULL; goto label1; } + /* ./syntax//syntax_base.nit:696 */ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - /* ./syntax//syntax_base.nit:697 */ if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 697); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 696); } REGB0 = CALL_static_type___MMType___is_valid(fra.me.REG[2])(fra.me.REG[2]); REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); @@ -4212,26 +4272,27 @@ val_t syntax_base___AType___get_stype(val_t p0, val_t p1){ fra.me.REG[3] = NIT_NULL; goto label1; } - /* ./syntax//syntax_base.nit:698 */ + /* ./syntax//syntax_base.nit:697 */ CALL_syntax_base___AType___check_conform(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./syntax//syntax_base.nit:698 */ fra.me.REG[3] = fra.me.REG[2]; - /* ./syntax//syntax_base.nit:699 */ goto label1; label1: while(0); stack_frame_head = fra.me.prev; return fra.me.REG[3]; } void syntax_base___AType___check_conform(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[8];} fra; + struct {struct stack_frame_t me; val_t MORE_REG[7];} 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_syntax_base; - fra.me.line = 702; + fra.me.line = 701; fra.me.meth = LOCATE_syntax_base___AType___check_conform; fra.me.has_broke = 0; - fra.me.REG_size = 9; + fra.me.REG_size = 8; fra.me.REG[0] = NIT_NULL; fra.me.REG[1] = NIT_NULL; fra.me.REG[2] = NIT_NULL; @@ -4240,12 +4301,12 @@ void syntax_base___AType___check_conform(val_t p0, val_t p1){ fra.me.REG[5] = NIT_NULL; fra.me.REG[6] = NIT_NULL; fra.me.REG[7] = NIT_NULL; - fra.me.REG[8] = NIT_NULL; fra.me.REG[0] = p0; fra.me.REG[1] = p1; + /* ./syntax//syntax_base.nit:706 */ fra.me.REG[2] = CALL_syntax_base___AType___get_unchecked_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./syntax//syntax_base.nit:707 */ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - /* ./syntax//syntax_base.nit:708 */ if (UNTAG_Bool(REGB0)) { } else { REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); @@ -4260,48 +4321,61 @@ void syntax_base___AType___check_conform(val_t p0, val_t p1){ if (UNTAG_Bool(REGB0)) { goto label1; } + /* ./syntax//syntax_base.nit:708 */ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - /* ./syntax//syntax_base.nit:709 */ if (UNTAG_Bool(REGB0)) { - fprintf(stderr, "Reciever is null"); - fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 709); - nit_exit(1); + nit_abort("Reciever is null", NULL, LOCATE_syntax_base, 708); } fra.me.REG[3] = CALL_static_type___MMType___local_class(fra.me.REG[2])(fra.me.REG[2]); + /* ./syntax//syntax_base.nit:709 */ fra.me.REG[4] = CALL_parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]); REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[4])(fra.me.REG[4]); + /* ./syntax//syntax_base.nit:710 */ REGB1 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:214 */ REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1)); - /* ./syntax//syntax_base.nit:711 */ + /* ./syntax//syntax_base.nit:710 */ if (UNTAG_Bool(REGB1)) { + /* ./syntax//syntax_base.nit:711 */ REGB1 = TAG_Int(0); - fra.me.REG[4] = NEW_Range_range___Range___without_last(REGB1, REGB0); - fra.me.REG[4] = CALL_abstract_collection___Collection___iterator(fra.me.REG[4])(fra.me.REG[4]); - /* ./syntax//syntax_base.nit:712 */ + /* ./../lib/standard//kernel.nit:332 */ while(1) { - REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[4])(fra.me.REG[4]); - if (UNTAG_Bool(REGB0)) { - REGB0 = CALL_abstract_collection___Iterator___item(fra.me.REG[4])(fra.me.REG[4]); - fra.me.REG[5] = CALL_parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[5] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[5])(fra.me.REG[5], REGB0); - fra.me.REG[6] = CALL_syntax_base___AType___get_stype(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[1]); - fra.me.REG[7] = CALL_genericity___MMLocalClass___get_formal(fra.me.REG[3])(fra.me.REG[3], REGB0); - REGB0 = CALL_static_type___MMType___is_valid(fra.me.REG[7])(fra.me.REG[7]); - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - /* ./syntax//syntax_base.nit:716 */ - if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:212 */ + REGB2 = TAG_Bool(UNTAG_Int(REGB1)