+++ /dev/null
-/* This C file is generated by NIT to compile module syntax___mmbuilder. */
-#include "syntax___mmbuilder._sep.h"
-static const char LOCATE_syntax___mmbuilder___ToolContext___handle_property_conflict[] = "mmbuilder::ToolContext::(inheritance::MMContext::handle_property_conflict)";
-void syntax___mmbuilder___ToolContext___handle_property_conflict(val_t p0, val_t p1, val_t p2){
- struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_2; /* Once value */
- 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 */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 26;
- fra.me.meth = LOCATE_syntax___mmbuilder___ToolContext___handle_property_conflict;
- fra.me.has_broke = 0;
- fra.me.REG_size = 8;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- /* syntax/mmbuilder.nit:28 */
- fra.me.REG[3] = NIT_NULL;
- /* syntax/mmbuilder.nit:29 */
- REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_syntax___syntax_base___MMSrcLocalClass, ID_syntax___syntax_base___MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:30 */
- fra.me.REG[4] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:31 */
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 31);
- }
- CALL_parser___parser_nodes___ANode___location(fra.me.REG[4])(fra.me.REG[4]);
- }
- }
- /* syntax/mmbuilder.nit:34 */
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
- /* ../lib/standard/collection/array.nit:267 */
- fra.me.REG[5] = fra.me.REG[2];
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[6] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[6])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:36 */
- fra.me.REG[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[7])(fra.me.REG[7]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[7]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label1;
- }
- }
- label1: while(0);
- /* syntax/mmbuilder.nit:38 */
- REGB0 = TAG_Int(7);
- fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_2) {
- fra.me.REG[5] = BOX_NativeString("Property inheritance conflict in class ");
- REGB0 = TAG_Int(39);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- 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];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
- fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[1]);
- if (!once_value_3) {
- fra.me.REG[1] = BOX_NativeString(" for `");
- REGB0 = TAG_Int(6);
- fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
- once_value_3 = fra.me.REG[1];
- register_static_object(&once_value_3);
- } else fra.me.REG[1] = once_value_3;
- fra.me.REG[1] = fra.me.REG[1];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[1]);
- fra.me.REG[2] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 38);
- }
- fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
- if (!once_value_4) {
- fra.me.REG[2] = BOX_NativeString("': conflicting properties are defined in ");
- REGB0 = TAG_Int(41);
- fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
- 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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
- if (!once_value_5) {
- fra.me.REG[2] = BOX_NativeString(", ");
- REGB0 = TAG_Int(2);
- fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(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];
- fra.me.REG[2] = CALL_standard___string___Collection___join(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
- if (!once_value_6) {
- fra.me.REG[2] = BOX_NativeString("");
- REGB0 = TAG_Int(0);
- fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_toolcontext___ToolContext___fatal_error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[6]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___CSHSorter___compare[] = "mmbuilder::CSHSorter::(sorter::AbstractSorter::compare)";
-val_t syntax___mmbuilder___CSHSorter___compare(val_t p0, val_t p1, val_t p2){
- 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___mmbuilder;
- fra.me.line = 45;
- fra.me.meth = LOCATE_syntax___mmbuilder___CSHSorter___compare;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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] = p2;
- /* syntax/mmbuilder.nit:47 */
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = CALL_metamodel___partial_order___PartialOrderElement___rank(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = CALL_metamodel___partial_order___PartialOrderElement___rank(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = CALL_standard___kernel___Comparable_____leqg(REGB0)(REGB0, REGB1);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB1;
-}
-static const char LOCATE_syntax___mmbuilder___CSHSorter___init[] = "mmbuilder::CSHSorter::init";
-void syntax___mmbuilder___CSHSorter___init(val_t p0, int* init_table){
- int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___CSHSorter].i;
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- if (init_table[itpos0]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 50;
- fra.me.meth = LOCATE_syntax___mmbuilder___CSHSorter___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- stack_frame_head = fra.me.prev;
- init_table[itpos0] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder[] = "mmbuilder::MMSrcModule::do_mmbuilder";
-void syntax___mmbuilder___MMSrcModule___do_mmbuilder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_3; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 54;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 8;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:59 */
- CALL_metamodel___inheritance___MMModule___import_global_classes(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:62 */
- fra.me.REG[2] = NEW_ClassBuilderVisitor_syntax___mmbuilder___ClassBuilderVisitor___init(fra.me.REG[1], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:63 */
- fra.me.REG[3] = CALL_syntax___syntax_base___MMSrcModule___node(fra.me.REG[0])(fra.me.REG[0]);
- CALL_parser___parser_nodes___Visitor___enter_visit(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:64 */
- CALL_toolcontext___ToolContext___check_errors(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:66 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra.me.REG[0])(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___mmbuilder, 66);
- }
- fra.me.REG[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:67 */
- CALL_syntax___mmbuilder___MMSrcModule___process_default_classes(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- }
- /* syntax/mmbuilder.nit:71 */
- CALL_metamodel___inheritance___MMModule___import_local_classes(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:74 */
- fra.me.REG[3] = NEW_ClassSpecializationBuilderVisitor_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(fra.me.REG[1], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:75 */
- fra.me.REG[2] = CALL_syntax___syntax_base___MMSrcModule___node(fra.me.REG[0])(fra.me.REG[0]);
- CALL_parser___parser_nodes___Visitor___enter_visit(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:76 */
- CALL_toolcontext___ToolContext___check_errors(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:79 */
- fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___MMSrcModule___do_mmbuilder_1));
- /* syntax/mmbuilder.nit:85 */
- CALL_toolcontext___ToolContext___check_errors(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:90 */
- fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[2] = CALL_standard___collection___array___Collection___to_a(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:93 */
- if (!once_value_3) {
- fra.me.REG[3] = NEW_CSHSorter_syntax___mmbuilder___CSHSorter___init();
- once_value_3 = fra.me.REG[3];
- register_static_object(&once_value_3);
- } else fra.me.REG[3] = once_value_3;
- fra.me.REG[3] = fra.me.REG[3];
- /* syntax/mmbuilder.nit:94 */
- CALL_standard___collection___sorter___AbstractSorter___sort(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:97 */
- fra.me.REG[3] = NEW_ClassAncestorBuilder_syntax___mmbuilder___ClassAncestorBuilder___init(fra.me.REG[1], fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:267 */
- fra.me.REG[4] = fra.me.REG[2];
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:99 */
- CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:100 */
- CALL_toolcontext___ToolContext___check_errors(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:101 */
- CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra.me.REG[6])(fra.me.REG[6]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label4;
- }
- }
- label4: while(0);
- /* syntax/mmbuilder.nit:105 */
- fra.me.REG[3] = NEW_ClassVerifierVisitor_syntax___mmbuilder___ClassVerifierVisitor___init(fra.me.REG[1], fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:267 */
- fra.me.REG[5] = fra.me.REG[2];
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:107 */
- CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label5;
- }
- }
- label5: while(0);
- /* syntax/mmbuilder.nit:109 */
- CALL_toolcontext___ToolContext___check_errors(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:112 */
- fra.me.REG[3] = NEW_PropertyBuilderVisitor_syntax___mmbuilder___PropertyBuilderVisitor___init(fra.me.REG[1], fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:267 */
- fra.me.REG[4] = fra.me.REG[2];
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:115 */
- CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:118 */
- REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[6], COLOR_syntax___syntax_base___MMSrcLocalClass, ID_syntax___syntax_base___MMSrcLocalClass)) /*cast MMSrcLocalClass*/;
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[6])(fra.me.REG[6]);
- fra.me.REG[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[7])(fra.me.REG[7]);
- REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[7],fra.me.REG[6]));
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
- REGB1 = REGB2;
- }
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[7])(fra.me.REG[7]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[7])(fra.me.REG[7]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[7])(fra.me.REG[7]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:119 */
- CALL_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
- }
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label6;
- }
- }
- label6: while(0);
- /* syntax/mmbuilder.nit:124 */
- CALL_toolcontext___ToolContext___check_errors(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:127 */
- fra.me.REG[0] = NEW_PropertyVerifierVisitor_syntax___mmbuilder___PropertyVerifierVisitor___init(fra.me.REG[1], fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:129 */
- CALL_syntax___mmbuilder___MMLocalClass___accept_properties_visitor(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label7;
- }
- }
- label7: while(0);
- /* syntax/mmbuilder.nit:132 */
- CALL_toolcontext___ToolContext___check_errors(fra.me.REG[1])(fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
- void OC_syntax___mmbuilder___MMSrcModule___do_mmbuilder_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[1];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- fun_t CREG[1];
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.closure_ctx = closctx_param;
- fra.me.closure_funs = CREG;
- fra.me.REG[0] = p0;
- CREG[0] = clos_fun0;
- /* syntax/mmbuilder.nit:80 */
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = CALL_metamodel___abstractmetamodel___MMModule___visibility_for(closctx->REG[0])(closctx->REG[0], fra.me.REG[1]);
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra.me.REG[1])(fra.me.REG[1]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* syntax/mmbuilder.nit:80 */
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:81 */
- goto label2;
- }
- /* syntax/mmbuilder.nit:83 */
- CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra.me.REG[0])(fra.me.REG[0]);
- label2: while(0);
- stack_frame_head = fra.me.prev;
- return;
- }
-static const char LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes[] = "mmbuilder::MMSrcModule::process_default_classes";
-void syntax___mmbuilder___MMSrcModule___process_default_classes(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t REGB0;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- static val_t once_value_4; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 135;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:138 */
- if (!once_value_1) {
- if (!once_value_2) {
- fra.me.REG[1] = BOX_NativeString("Object");
- REGB0 = TAG_Int(6);
- fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
- 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];
- /* syntax/mmbuilder.nit:139 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:140 */
- REGB0 = TAG_Int(0);
- fra.me.REG[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra.me.REG[0], fra.me.REG[1], NIT_NULL, REGB0);
- /* syntax/mmbuilder.nit:141 */
- CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:142 */
- fra.me.REG[3] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1], fra.me.REG[2]);
- }
- /* syntax/mmbuilder.nit:144 */
- if (!once_value_3) {
- if (!once_value_4) {
- fra.me.REG[2] = BOX_NativeString("Bool");
- REGB0 = TAG_Int(4);
- fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
- 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];
- fra.me.REG[2] = CALL_symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
- once_value_3 = fra.me.REG[2];
- register_static_object(&once_value_3);
- } else fra.me.REG[2] = once_value_3;
- fra.me.REG[2] = fra.me.REG[2];
- fra.me.REG[1] = fra.me.REG[2];
- /* syntax/mmbuilder.nit:145 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:146 */
- REGB0 = TAG_Int(0);
- fra.me.REG[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra.me.REG[0], fra.me.REG[1], NIT_NULL, REGB0);
- /* syntax/mmbuilder.nit:147 */
- CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:148 */
- fra.me.REG[0] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___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;
-}
-static const char LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor[] = "mmbuilder::MMLocalClass::accept_class_visitor";
-void syntax___mmbuilder___MMLocalClass___accept_class_visitor(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___mmbuilder;
- fra.me.line = 154;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor[] = "mmbuilder::MMLocalClass::accept_properties_visitor";
-void syntax___mmbuilder___MMLocalClass___accept_properties_visitor(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___mmbuilder;
- fra.me.line = 159;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor[] = "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_class_visitor)";
-void syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor(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___mmbuilder;
- fra.me.line = 166;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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/mmbuilder.nit:168 */
- fra.me.REG[0] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:169 */
- while(1) {
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:170 */
- CALL_parser___parser_nodes___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:171 */
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 171);
- }
- fra.me.REG[2] = CALL_syntax___syntax_base___AClassdef___next_node(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = fra.me.REG[2];
- } else {
- /* syntax/mmbuilder.nit:169 */
- goto label1;
- }
- }
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor[] = "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_properties_visitor)";
-void syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 175;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:178 */
- fra.me.REG[2] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:179 */
- while(1) {
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___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)) {
- /* syntax/mmbuilder.nit:180 */
- CALL_parser___parser_nodes___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:181 */
- REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 181);
- }
- fra.me.REG[3] = CALL_syntax___syntax_base___AClassdef___next_node(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[2] = fra.me.REG[3];
- } else {
- /* syntax/mmbuilder.nit:179 */
- goto label1;
- }
- }
- label1: while(0);
- /* syntax/mmbuilder.nit:184 */
- fra.me.REG[0] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor_2));
- stack_frame_head = fra.me.prev;
- return;
-}
- void OC_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor_2(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;
- fun_t CREG[1];
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- 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/mmbuilder.nit:185 */
- CALL_syntax___mmbuilder___MMLocalProperty___accept_property_visitor(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
- stack_frame_head = fra.me.prev;
- return;
- }
-static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors[] = "mmbuilder::MMSrcLocalClass::process_default_constructors";
-void syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_7; /* Once value */
- static val_t once_value_8; /* Once value */
- static val_t once_value_13; /* Once value */
- static val_t once_value_14; /* Once value */
- static val_t once_value_15; /* Once value */
- static val_t once_value_16; /* Once value */
- static val_t once_value_17; /* Once value */
- static val_t once_value_18; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 189;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors;
- fra.me.has_broke = 0;
- fra.me.REG_size = 11;
- fra.me.nitni_local_ref_head = NULL;
- 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[9] = NIT_NULL;
- fra.me.REG[10] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:189 */
- fra.me.REG[2] = fra.me.REG[0];
- /* syntax/mmbuilder.nit:193 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[3])(fra.me.REG[3], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_1));
- switch ((&(fra.me))->has_broke) {
- case 0: break;
- case 1: (&(fra.me))->has_broke = 0; goto label3;
- }
- /* syntax/mmbuilder.nit:201 */
- fra.me.REG[3] = NEW_ArraySet_standard___collection___array___ArraySet___init();
- /* syntax/mmbuilder.nit:202 */
- fra.me.REG[4] = NEW_ArraySet_standard___collection___array___ArraySet___init();
- /* syntax/mmbuilder.nit:203 */
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra.me.REG[5])(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[6] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[6])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:204 */
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[7])(fra.me.REG[7]);
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[8])(fra.me.REG[8]);
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[7])(fra.me.REG[7]);
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[8])(fra.me.REG[8]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(1);
- } else {
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[7])(fra.me.REG[7]);
- REGB2 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[8])(fra.me.REG[8]);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- goto label4;
- }
- /* syntax/mmbuilder.nit:205 */
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra.me.REG[7])(fra.me.REG[7]);
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[8])(fra.me.REG[8], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5));
- /* syntax/mmbuilder.nit:209 */
- if (!once_value_7) {
- if (!once_value_8) {
- fra.me.REG[8] = BOX_NativeString("init");
- REGB1 = TAG_Int(4);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_8 = fra.me.REG[8];
- register_static_object(&once_value_8);
- } else fra.me.REG[8] = once_value_8;
- fra.me.REG[8] = fra.me.REG[8];
- fra.me.REG[8] = CALL_symbol___String___to_symbol(fra.me.REG[8])(fra.me.REG[8]);
- once_value_7 = fra.me.REG[8];
- register_static_object(&once_value_7);
- } else fra.me.REG[8] = once_value_7;
- fra.me.REG[8] = fra.me.REG[8];
- /* syntax/mmbuilder.nit:210 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:211 */
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- /* syntax/mmbuilder.nit:212 */
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[8]);
- }
- label4: while(0);
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label9;
- }
- }
- label9: while(0);
- /* syntax/mmbuilder.nit:217 */
- fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
- /* syntax/mmbuilder.nit:218 */
- fra.me.REG[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_standard___collection___abstract_collection___MapRead___values(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[5])(fra.me.REG[5], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_10));
- /* syntax/mmbuilder.nit:225 */
- REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:228 */
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_11));
- /* syntax/mmbuilder.nit:236 */
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_metamodel___partial_order___PartialOrderElement___order(fra.me.REG[8])(fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
- fra.me.REG[5] = fra.me.REG[8];
- /* syntax/mmbuilder.nit:239 */
- fra.me.REG[8] = NIT_NULL;
- /* ../lib/standard/collection/array.nit:24 */
- REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* syntax/mmbuilder.nit:241 */
- REGB1 = TAG_Int(1);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:244 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
- /* syntax/mmbuilder.nit:241 */
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:242 */
- fra.me.REG[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Int(7);
- fra.me.REG[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_13) {
- fra.me.REG[10] = BOX_NativeString("Error: Explicit constructor required in ");
- REGB1 = TAG_Int(40);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_13 = fra.me.REG[10];
- register_static_object(&once_value_13);
- } else fra.me.REG[10] = once_value_13;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- if (!once_value_14) {
- fra.me.REG[10] = BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are ");
- REGB1 = TAG_Int(80);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_14 = fra.me.REG[10];
- register_static_object(&once_value_14);
- } else fra.me.REG[10] = once_value_14;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- if (!once_value_15) {
- fra.me.REG[10] = BOX_NativeString(", ");
- REGB1 = TAG_Int(2);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_15 = fra.me.REG[10];
- register_static_object(&once_value_15);
- } else fra.me.REG[10] = once_value_15;
- fra.me.REG[10] = fra.me.REG[10];
- fra.me.REG[10] = CALL_standard___string___Collection___join(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[10]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- if (!once_value_16) {
- fra.me.REG[10] = BOX_NativeString(". Costructors are ");
- REGB1 = TAG_Int(18);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_16 = fra.me.REG[10];
- register_static_object(&once_value_16);
- } else fra.me.REG[10] = once_value_16;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- if (!once_value_17) {
- fra.me.REG[10] = BOX_NativeString(", ");
- REGB1 = TAG_Int(2);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_17 = fra.me.REG[10];
- register_static_object(&once_value_17);
- } else fra.me.REG[10] = once_value_17;
- fra.me.REG[10] = fra.me.REG[10];
- fra.me.REG[10] = CALL_standard___string___Collection___join(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[10]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- if (!once_value_18) {
- fra.me.REG[10] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_18 = fra.me.REG[10];
- register_static_object(&once_value_18);
- } else fra.me.REG[10] = once_value_18;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- fra.me.REG[9] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7], fra.me.REG[9]);
- /* syntax/mmbuilder.nit:243 */
- goto label3;
- } else {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* syntax/mmbuilder.nit:244 */
- REGB0 = TAG_Int(1);
- REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB0));
- if (UNTAG_Bool(REGB2)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB0 = TAG_Bool((REGB1)==(REGB0));
- /* syntax/mmbuilder.nit:244 */
- REGB2 = REGB0;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:245 */
- fra.me.REG[5] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = fra.me.REG[5];
- }
- }
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_19));
- /* syntax/mmbuilder.nit:254 */
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = TAG_Bool(fra.me.REG[8]!=NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 254);
- }
- REGB2 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 254);
- }
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[8])(fra.me.REG[8]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[8]);
- } else {
- /* syntax/mmbuilder.nit:259 */
- fra.me.REG[3] = CALL_standard___collection___array___Collection___to_a(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[3] = NEW_MMImplicitInit_syntax___syntax_base___MMImplicitInit___init(fra.me.REG[2], fra.me.REG[6], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:260 */
- CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1], fra.me.REG[3]);
- }
- label3: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
- void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_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;} 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___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- 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/mmbuilder.nit:194 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[0])(fra.me.REG[0]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:196 */
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],closctx->REG[2]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], closctx->REG[2]);
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- closctx->has_broke = 1;
- goto label2;
- }
- }
- label2: while(0);
- stack_frame_head = fra.me.prev;
- return;
- }
- void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t *closctx, 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___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:206 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- goto label6;
- }
- /* syntax/mmbuilder.nit:207 */
- CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[4])(closctx->REG[4], fra.me.REG[0]);
- label6: while(0);
- stack_frame_head = fra.me.prev;
- return;
- }
- void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_10(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[1];} 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___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.closure_ctx = closctx_param;
- fra.me.closure_funs = CREG;
- fra.me.REG[0] = p0;
- CREG[0] = clos_fun0;
- /* syntax/mmbuilder.nit:219 */
- REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_syntax___syntax_base___MMSrcAttribute, ID_syntax___syntax_base___MMSrcAttribute)) /*cast MMSrcAttribute*/;
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:220 */
- fra.me.REG[1] = CALL_syntax___syntax_base___MMLocalProperty___node(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:221 */
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 221);
- }
- fra.me.REG[1] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra.me.REG[1])(fra.me.REG[1]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[6])(closctx->REG[6], fra.me.REG[0]);
- }
- }
- stack_frame_head = fra.me.prev;
- return;
- }
- void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_11(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[1];} fra;
- val_t REGB0;
- fun_t CREG[1];
- val_t tmp;
- /* syntax/mmbuilder.nit:229 */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.closure_ctx = closctx_param;
- fra.me.closure_funs = CREG;
- fra.me.REG[0] = p0;
- CREG[0] = clos_fun0;
- /* syntax/mmbuilder.nit:230 */
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:231 */
- REGB0 = CALL_standard___collection___abstract_collection___Collection___has(closctx->REG[5])(closctx->REG[5], fra.me.REG[0]);
- if (UNTAG_Bool(REGB0)) {
- goto label12;
- }
- /* syntax/mmbuilder.nit:232 */
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_mixin(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:233 */
- CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[5])(closctx->REG[5], fra.me.REG[0]);
- }
- label12: while(0);
- stack_frame_head = fra.me.prev;
- return;
- }
- void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_19(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[1];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- fun_t CREG[1];
- val_t tmp;
- /* syntax/mmbuilder.nit:248 */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.closure_ctx = closctx_param;
- fra.me.closure_funs = CREG;
- fra.me.REG[0] = p0;
- CREG[0] = clos_fun0;
- /* syntax/mmbuilder.nit:250 */
- REGB0 = TAG_Bool(closctx->REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(closctx->REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(closctx->REG[8])(closctx->REG[8], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(1);
- } else {
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
- REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],closctx->REG[8]));
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], closctx->REG[8]);
- REGB1 = REGB2;
- }
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:251 */
- CALL_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
- }
- stack_frame_head = fra.me.prev;
- return;
- }
-static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property[] = "mmbuilder::MMSrcLocalClass::add_src_local_property";
-void syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0, val_t p1, val_t p2){
- struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
- val_t REGB0;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 265;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property;
- fra.me.has_broke = 0;
- fra.me.REG_size = 7;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- /* syntax/mmbuilder.nit:269 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:271 */
- fra.me.REG[4] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:272 */
- fra.me.REG[4] = CALL_syntax___syntax_base___MMLocalProperty___node(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Int(5);
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_1) {
- fra.me.REG[6] = BOX_NativeString("Error: A property ");
- REGB0 = TAG_Int(18);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_1 = fra.me.REG[6];
- register_static_object(&once_value_1);
- } else fra.me.REG[6] = once_value_1;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
- CALL_standard___collection___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 already defined in class ");
- REGB0 = TAG_Int(29);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_2 = fra.me.REG[6];
- register_static_object(&once_value_2);
- } else fra.me.REG[6] = once_value_2;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_standard___collection___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(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_3 = fra.me.REG[6];
- register_static_object(&once_value_3);
- } else fra.me.REG[6] = once_value_3;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[5]);
- /* syntax/mmbuilder.nit:273 */
- goto label4;
- }
- /* syntax/mmbuilder.nit:275 */
- fra.me.REG[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:278 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:279 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:280 */
- CALL_metamodel___inheritance___MMLocalProperty___inherit_global(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- }
- /* syntax/mmbuilder.nit:283 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMLocalProperty___is_global_set(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:284 */
- CALL_metamodel___abstractmetamodel___MMLocalProperty___new_global(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:285 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_syntax___syntax_base___MMLocalProperty___is_init(fra.me.REG[2])(fra.me.REG[2]);
- CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq(fra.me.REG[3])(fra.me.REG[3], REGB0);
- }
- label4: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor[] = "mmbuilder::MMLocalProperty::accept_property_visitor";
-void syntax___mmbuilder___MMLocalProperty___accept_property_visitor(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___mmbuilder;
- fra.me.line = 291;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___MMImplicitInit___super_init[] = "mmbuilder::MMImplicitInit::(syntax_base::MMImplicitInit::super_init)";
-val_t syntax___mmbuilder___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___mmbuilder;
- fra.me.line = 297;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMImplicitInit___super_init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:297 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor[] = "mmbuilder::MMImplicitInit::(mmbuilder::MMLocalProperty::accept_property_visitor)";
-void syntax___mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t REGB3;
- val_t REGB4;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- static val_t once_value_4; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 298;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 9;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:298 */
- fra.me.REG[2] = fra.me.REG[0];
- /* syntax/mmbuilder.nit:300 */
- fra.me.REG[3] = NIT_NULL;
- /* syntax/mmbuilder.nit:301 */
- fra.me.REG[4] = CALL_syntax___syntax_base___MMImplicitInit___super_inits(fra.me.REG[2])(fra.me.REG[2]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:302 */
- fra.me.REG[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 302);
- }
- REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[7])(fra.me.REG[7]);
- REGB2 = TAG_Int(0);
- REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:244 */
- REGB2 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB2));
- /* syntax/mmbuilder.nit:302 */
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:303 */
- REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- REGB2 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:304 */
- fra.me.REG[3] = fra.me.REG[6];
- } else {
- /* syntax/mmbuilder.nit:306 */
- REGB2 = TAG_Int(7);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
- if (!once_value_1) {
- fra.me.REG[8] = BOX_NativeString("Error: explicit constructor needed in ");
- REGB2 = TAG_Int(38);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB2);
- once_value_1 = fra.me.REG[8];
- register_static_object(&once_value_1);
- } else fra.me.REG[8] = once_value_1;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_2) {
- fra.me.REG[8] = BOX_NativeString(" since both super-constructor ");
- REGB2 = TAG_Int(30);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB2);
- once_value_2 = fra.me.REG[8];
- register_static_object(&once_value_2);
- } else fra.me.REG[8] = once_value_2;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 306);
- }
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_3) {
- fra.me.REG[8] = BOX_NativeString(" and ");
- REGB2 = TAG_Int(5);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB2);
- once_value_3 = fra.me.REG[8];
- register_static_object(&once_value_3);
- } else fra.me.REG[8] = once_value_3;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[6])(fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
- if (!once_value_4) {
- fra.me.REG[6] = BOX_NativeString(" have paramters");
- REGB2 = TAG_Int(15);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB2);
- once_value_4 = fra.me.REG[6];
- register_static_object(&once_value_4);
- } else fra.me.REG[6] = once_value_4;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], NIT_NULL, fra.me.REG[7]);
- /* syntax/mmbuilder.nit:307 */
- goto label5;
- }
- }
- /* ../lib/standard/collection/array.nit:275 */
- REGB2 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB2;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label6;
- }
- }
- label6: while(0);
- /* syntax/mmbuilder.nit:311 */
- ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra.me.REG[2]) = fra.me.REG[3];
- /* syntax/mmbuilder.nit:313 */
- fra.me.REG[1] = NEW_Array_standard___collection___array___Array___init();
- /* syntax/mmbuilder.nit:314 */
- REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB0 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- REGB0 = REGB2;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:315 */
- REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 315);
- }
- fra.me.REG[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[3])(fra.me.REG[3]);
- /* syntax/mmbuilder.nit:316 */
- REGB0 = TAG_Int(0);
- REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 316);
- }
- REGB2 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[3])(fra.me.REG[3]);
- /* ../lib/standard/kernel.nit:404 */
- while(1) {
- REGB1 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
- /* ../lib/standard/kernel.nit:404 */
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:316 */
- REGB1 = REGB0;
- /* syntax/mmbuilder.nit:317 */
- REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 317);
- }
- fra.me.REG[5] = CALL_metamodel___static_type___MMSignature___params(fra.me.REG[3])(fra.me.REG[3]);
- /* ../lib/standard/collection/array.nit:281 */
- REGB3 = TAG_Int(0);
- REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB4)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:243 */
- REGB3 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB3));
- /* ../lib/standard/collection/array.nit:281 */
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281);
- }
- REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB4)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB3 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB3));
- } else {
- /* ../lib/standard/collection/array.nit:281 */
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- }
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 281);
- }
- /* ../lib/standard/collection/array.nit:282 */
- fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
- REGB3 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 282);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
- /* ../lib/standard/collection/array.nit:282 */
- goto label7;
- label7: while(0);
- /* syntax/mmbuilder.nit:317 */
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
- /* ../lib/standard/kernel.nit:406 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/kernel.nit:406 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/kernel.nit:404 */
- goto label8;
- }
- }
- label8: while(0);
- }
- /* syntax/mmbuilder.nit:320 */
- fra.me.REG[3] = CALL_syntax___syntax_base___MMImplicitInit___unassigned_attributes(fra.me.REG[2])(fra.me.REG[2]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
- REGB1 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB2)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:321 */
- fra.me.REG[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[4])(fra.me.REG[4]);
- /* syntax/mmbuilder.nit:322 */
- REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
- REGB2 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB2)) {
- goto label5;
- }
- /* syntax/mmbuilder.nit:323 */
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra.me.REG[4])(fra.me.REG[4]);
- /* syntax/mmbuilder.nit:324 */
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- fra.me.REG[8] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[8])(fra.me.REG[8]);
- REGB2 = TAG_Char('_');
- REGB1 = TAG_Bool(IS_EQUAL_ON(REGB2,fra.me.REG[8]));
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB1 = REGB3;
- } else {
- /* ../lib/standard/kernel.nit:434 */
- REGB2 = TAG_Bool((fra.me.REG[8])==(REGB2));
- /* syntax/mmbuilder.nit:324 */
- REGB1 = REGB2;
- }
- }
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(1);
- } else {
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- fra.me.REG[8] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[8])(fra.me.REG[8]);
- REGB2 = TAG_Char('@');
- REGB3 = TAG_Bool(IS_EQUAL_ON(REGB2,fra.me.REG[8]));
- if (UNTAG_Bool(REGB3)) {
- } else {
- REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- } else {
- /* ../lib/standard/kernel.nit:434 */
- REGB2 = TAG_Bool((fra.me.REG[8])==(REGB2));
- /* syntax/mmbuilder.nit:324 */
- REGB3 = REGB2;
- }
- }
- REGB1 = REGB3;
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:325 */
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- REGB1 = TAG_Int(1);
- fra.me.REG[4] = CALL_standard___string___AbstractString___substring_from(fra.me.REG[4])(fra.me.REG[4], REGB1);
- fra.me.REG[4] = CALL_symbol___String___to_symbol(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[6] = fra.me.REG[4];
- }
- /* syntax/mmbuilder.nit:327 */
- REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 327);
- }
- fra.me.REG[7] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[7])(fra.me.REG[7]);
- REGB1 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_metamodel___static_type___MMType, ID_metamodel___static_type___MMType)) /*cast MMType*/;
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 327);
- }
- fra.me.REG[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra.me.REG[7], fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label9;
- }
- }
- label9: while(0);
- /* syntax/mmbuilder.nit:329 */
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[1], NIT_NULL, fra.me.REG[0]);
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
- label5: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class[] = "mmbuilder::MMSrcAncestor::(static_type::MMAncestor::local_class)";
-val_t syntax___mmbuilder___MMSrcAncestor___local_class(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___mmbuilder;
- fra.me.line = 337;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:337 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_syntax___mmbuilder, 337);
- }
- fra.me.REG[0] = ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___MMSrcAncestor___init[] = "mmbuilder::MMSrcAncestor::init";
-void syntax___mmbuilder___MMSrcAncestor___init(val_t p0, val_t p1, int* init_table){
- int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___MMSrcAncestor].i;
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t tmp;
- if (init_table[itpos1]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 339;
- fra.me.meth = LOCATE_syntax___mmbuilder___MMSrcAncestor___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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/mmbuilder.nit:339 */
- fra.me.REG[2] = fra.me.REG[0];
- CALL_metamodel___static_type___MMAncestor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
- /* syntax/mmbuilder.nit:341 */
- ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra.me.REG[2]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- init_table[itpos1] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity[] = "mmbuilder::ClassBuilderVisitor::local_class_arity";
-val_t syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(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___mmbuilder;
- fra.me.line = 352;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:352 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_local_class_arity", LOCATE_syntax___mmbuilder, 352);
- }
- REGB0 = ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq[] = "mmbuilder::ClassBuilderVisitor::local_class_arity=";
-void syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0, val_t p1){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 352;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- REGB0 = p1;
- /* syntax/mmbuilder.nit:352 */
- ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra.me.REG[0]) = REGB0;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals[] = "mmbuilder::ClassBuilderVisitor::formals";
-val_t syntax___mmbuilder___ClassBuilderVisitor___formals(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___mmbuilder;
- fra.me.line = 355;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:355 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq[] = "mmbuilder::ClassBuilderVisitor::formals=";
-void syntax___mmbuilder___ClassBuilderVisitor___formals__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___mmbuilder;
- fra.me.line = 355;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:355 */
- ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra.me.REG[0]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___visit[] = "mmbuilder::ClassBuilderVisitor::(parser_nodes::Visitor::visit)";
-void syntax___mmbuilder___ClassBuilderVisitor___visit(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___mmbuilder;
- fra.me.line = 358;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassBuilderVisitor___visit;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:358 */
- CALL_syntax___mmbuilder___ANode___accept_class_builder(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init[] = "mmbuilder::ClassBuilderVisitor::init";
-void syntax___mmbuilder___ClassBuilderVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
- int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___ClassBuilderVisitor].i;
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t tmp;
- if (init_table[itpos2]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 359;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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] = p2;
- /* syntax/mmbuilder.nit:359 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___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[itpos2] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit[] = "mmbuilder::ClassSpecializationBuilderVisitor::(parser_nodes::Visitor::visit)";
-void syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit(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___mmbuilder;
- fra.me.line = 366;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:366 */
- CALL_syntax___mmbuilder___ANode___accept_class_specialization_builder(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init[] = "mmbuilder::ClassSpecializationBuilderVisitor::init";
-void syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
- int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___ClassSpecializationBuilderVisitor].i;
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t tmp;
- if (init_table[itpos3]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 367;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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] = p2;
- /* syntax/mmbuilder.nit:367 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___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[itpos3] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit[] = "mmbuilder::ClassAncestorBuilder::(parser_nodes::Visitor::visit)";
-void syntax___mmbuilder___ClassAncestorBuilder___visit(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___mmbuilder;
- fra.me.line = 374;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:374 */
- CALL_syntax___mmbuilder___ANode___accept_class_ancestor_builder(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassAncestorBuilder___init[] = "mmbuilder::ClassAncestorBuilder::init";
-void syntax___mmbuilder___ClassAncestorBuilder___init(val_t p0, val_t p1, val_t p2, int* init_table){
- int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___ClassAncestorBuilder].i;
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t tmp;
- if (init_table[itpos4]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 375;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassAncestorBuilder___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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] = p2;
- /* syntax/mmbuilder.nit:375 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___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[itpos4] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit[] = "mmbuilder::ClassVerifierVisitor::(parser_nodes::Visitor::visit)";
-void syntax___mmbuilder___ClassVerifierVisitor___visit(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___mmbuilder;
- fra.me.line = 382;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:382 */
- CALL_syntax___mmbuilder___ANode___accept_class_verifier(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init[] = "mmbuilder::ClassVerifierVisitor::init";
-void syntax___mmbuilder___ClassVerifierVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
- int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___ClassVerifierVisitor].i;
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t tmp;
- if (init_table[itpos5]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 383;
- fra.me.meth = LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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] = p2;
- /* syntax/mmbuilder.nit:383 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___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[itpos5] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit[] = "mmbuilder::PropertyBuilderVisitor::(parser_nodes::Visitor::visit)";
-void syntax___mmbuilder___PropertyBuilderVisitor___visit(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___mmbuilder;
- fra.me.line = 393;
- fra.me.meth = LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:393 */
- CALL_syntax___mmbuilder___ANode___accept_property_builder(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init[] = "mmbuilder::PropertyBuilderVisitor::init";
-void syntax___mmbuilder___PropertyBuilderVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
- int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___PropertyBuilderVisitor].i;
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t tmp;
- if (init_table[itpos6]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 394;
- fra.me.meth = LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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] = p2;
- /* syntax/mmbuilder.nit:394 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___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[itpos6] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder[] = "mmbuilder::PropertyVerifierVisitor::signature_builder";
-val_t syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(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___mmbuilder;
- fra.me.line = 402;
- fra.me.meth = LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:402 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_signature_builder", LOCATE_syntax___mmbuilder, 402);
- }
- fra.me.REG[0] = ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq[] = "mmbuilder::PropertyVerifierVisitor::signature_builder=";
-void syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__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___mmbuilder;
- fra.me.line = 402;
- fra.me.meth = LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:402 */
- ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra.me.REG[0]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit[] = "mmbuilder::PropertyVerifierVisitor::(parser_nodes::Visitor::visit)";
-void syntax___mmbuilder___PropertyVerifierVisitor___visit(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___mmbuilder;
- fra.me.line = 405;
- fra.me.meth = LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:405 */
- CALL_syntax___mmbuilder___ANode___accept_property_verifier(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init[] = "mmbuilder::PropertyVerifierVisitor::init";
-void syntax___mmbuilder___PropertyVerifierVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
- int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___PropertyVerifierVisitor].i;
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t tmp;
- if (init_table[itpos7]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 407;
- fra.me.meth = LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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/mmbuilder.nit:407 */
- fra.me.REG[3] = fra.me.REG[0];
- /* syntax/mmbuilder.nit:409 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
- /* syntax/mmbuilder.nit:410 */
- fra.me.REG[2] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
- ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra.me.REG[3]) = fra.me.REG[2];
- stack_frame_head = fra.me.prev;
- init_table[itpos7] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___params[] = "mmbuilder::SignatureBuilder::params";
-val_t syntax___mmbuilder___SignatureBuilder___params(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___mmbuilder;
- fra.me.line = 416;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___params;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:416 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____params(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_params", LOCATE_syntax___mmbuilder, 416);
- }
- fra.me.REG[0] = ATTR_syntax___mmbuilder___SignatureBuilder____params(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq[] = "mmbuilder::SignatureBuilder::params=";
-void syntax___mmbuilder___SignatureBuilder___params__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___mmbuilder;
- fra.me.line = 416;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:416 */
- ATTR_syntax___mmbuilder___SignatureBuilder____params(fra.me.REG[0]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params[] = "mmbuilder::SignatureBuilder::untyped_params";
-val_t syntax___mmbuilder___SignatureBuilder___untyped_params(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___mmbuilder;
- fra.me.line = 419;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:419 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_untyped_params", LOCATE_syntax___mmbuilder, 419);
- }
- fra.me.REG[0] = ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params__eq[] = "mmbuilder::SignatureBuilder::untyped_params=";
-void syntax___mmbuilder___SignatureBuilder___untyped_params__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___mmbuilder;
- fra.me.line = 419;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:419 */
- ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra.me.REG[0]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank[] = "mmbuilder::SignatureBuilder::vararg_rank";
-val_t syntax___mmbuilder___SignatureBuilder___vararg_rank(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___mmbuilder;
- fra.me.line = 422;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:422 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_syntax___mmbuilder, 422);
- }
- REGB0 = ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq[] = "mmbuilder::SignatureBuilder::vararg_rank=";
-void syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0, val_t p1){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 422;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- REGB0 = p1;
- /* syntax/mmbuilder.nit:422 */
- ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra.me.REG[0]) = REGB0;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls[] = "mmbuilder::SignatureBuilder::closure_decls";
-val_t syntax___mmbuilder___SignatureBuilder___closure_decls(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___mmbuilder;
- fra.me.line = 425;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:425 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_closure_decls", LOCATE_syntax___mmbuilder, 425);
- }
- fra.me.REG[0] = ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq[] = "mmbuilder::SignatureBuilder::closure_decls=";
-void syntax___mmbuilder___SignatureBuilder___closure_decls__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___mmbuilder;
- fra.me.line = 425;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:425 */
- ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra.me.REG[0]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured[] = "mmbuilder::SignatureBuilder::has_error_occured";
-val_t syntax___mmbuilder___SignatureBuilder___has_error_occured(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___mmbuilder;
- fra.me.line = 428;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:428 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_has_error_occured", LOCATE_syntax___mmbuilder, 428);
- }
- REGB0 = ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq[] = "mmbuilder::SignatureBuilder::has_error_occured=";
-void syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0, val_t p1){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 428;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- REGB0 = p1;
- /* syntax/mmbuilder.nit:428 */
- ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra.me.REG[0]) = REGB0;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___signature[] = "mmbuilder::SignatureBuilder::signature";
-val_t syntax___mmbuilder___SignatureBuilder___signature(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___mmbuilder;
- fra.me.line = 431;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___signature;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:431 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq[] = "mmbuilder::SignatureBuilder::signature=";
-void syntax___mmbuilder___SignatureBuilder___signature__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___mmbuilder;
- fra.me.line = 431;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:431 */
- ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra.me.REG[0]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___SignatureBuilder___init[] = "mmbuilder::SignatureBuilder::init";
-void syntax___mmbuilder___SignatureBuilder___init(val_t p0, int* init_table){
- int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___mmbuilder___SignatureBuilder].i;
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- if (init_table[itpos8]) return;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___SignatureBuilder___init;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- stack_frame_head = fra.me.prev;
- init_table[itpos8] = 1;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ANode___accept_class_builder[] = "mmbuilder::ANode::accept_class_builder";
-void syntax___mmbuilder___ANode___accept_class_builder(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___mmbuilder;
- fra.me.line = 438;
- fra.me.meth = LOCATE_syntax___mmbuilder___ANode___accept_class_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:438 */
- CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder[] = "mmbuilder::ANode::accept_class_specialization_builder";
-void syntax___mmbuilder___ANode___accept_class_specialization_builder(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___mmbuilder;
- fra.me.line = 439;
- fra.me.meth = LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:439 */
- CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ANode___accept_class_ancestor_builder[] = "mmbuilder::ANode::accept_class_ancestor_builder";
-void syntax___mmbuilder___ANode___accept_class_ancestor_builder(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___mmbuilder;
- fra.me.line = 440;
- fra.me.meth = LOCATE_syntax___mmbuilder___ANode___accept_class_ancestor_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:440 */
- CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ANode___accept_class_verifier[] = "mmbuilder::ANode::accept_class_verifier";
-void syntax___mmbuilder___ANode___accept_class_verifier(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___mmbuilder;
- fra.me.line = 441;
- fra.me.meth = LOCATE_syntax___mmbuilder___ANode___accept_class_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:441 */
- CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ANode___accept_property_builder[] = "mmbuilder::ANode::accept_property_builder";
-void syntax___mmbuilder___ANode___accept_property_builder(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___mmbuilder;
- fra.me.line = 442;
- fra.me.meth = LOCATE_syntax___mmbuilder___ANode___accept_property_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:442 */
- CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ANode___accept_property_verifier[] = "mmbuilder::ANode::accept_property_verifier";
-void syntax___mmbuilder___ANode___accept_property_verifier(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___mmbuilder;
- fra.me.line = 443;
- fra.me.meth = LOCATE_syntax___mmbuilder___ANode___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:443 */
- CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AModule___import_super_modules[] = "mmbuilder::AModule::import_super_modules";
-void syntax___mmbuilder___AModule___import_super_modules(val_t p0, val_t p1, val_t p2){
- struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- static val_t once_value_4; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 447;
- fra.me.meth = LOCATE_syntax___mmbuilder___AModule___import_super_modules;
- fra.me.has_broke = 0;
- fra.me.REG_size = 5;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- /* syntax/mmbuilder.nit:451 */
- fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
- /* syntax/mmbuilder.nit:452 */
- fra.me.REG[4] = NIT_NULL;
- /* syntax/mmbuilder.nit:453 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AModule___n_imports(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___AModule___import_super_modules_1));
- /* syntax/mmbuilder.nit:463 */
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:464 */
- REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:465 */
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 465);
- }
- fra.me.REG[4] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[4])(fra.me.REG[4]);
- if (!once_value_2) {
- fra.me.REG[0] = BOX_NativeString("Error: Top modules cannot import other modules.");
- REGB0 = TAG_Int(47);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- 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];
- CALL_toolcontext___ToolContext___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[0]);
- }
- } else {
- /* syntax/mmbuilder.nit:467 */
- REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:468 */
- if (!once_value_3) {
- if (!once_value_4) {
- fra.me.REG[0] = BOX_NativeString("standard");
- REGB0 = TAG_Int(8);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- once_value_4 = fra.me.REG[0];
- register_static_object(&once_value_4);
- } else fra.me.REG[0] = once_value_4;
- fra.me.REG[0] = fra.me.REG[0];
- fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- once_value_3 = fra.me.REG[0];
- register_static_object(&once_value_3);
- } else fra.me.REG[0] = once_value_3;
- fra.me.REG[0] = fra.me.REG[0];
- /* syntax/mmbuilder.nit:469 */
- fra.me.REG[0] = CALL_mmloader___ToolContext___get_module(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:470 */
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:471 */
- REGB0 = TAG_Int(1);
- CALL_metamodel___abstractmetamodel___MMModule___add_super_module(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0], REGB0);
- }
- }
- /* syntax/mmbuilder.nit:474 */
- CALL_metamodel___abstractmetamodel___MMContext___add_module(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
- stack_frame_head = fra.me.prev;
- return;
-}
- void OC_syntax___mmbuilder___AModule___import_super_modules_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[1];} 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___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___AModule___import_super_modules;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.closure_ctx = closctx_param;
- fra.me.closure_funs = CREG;
- fra.me.REG[0] = p0;
- CREG[0] = clos_fun0;
- /* syntax/mmbuilder.nit:454 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___AImport___module_name(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:455 */
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___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)) {
- /* syntax/mmbuilder.nit:456 */
- fra.me.REG[1] = CALL_mmloader___ToolContext___get_module(closctx->REG[1])(closctx->REG[1], fra.me.REG[1], closctx->REG[2]);
- /* syntax/mmbuilder.nit:457 */
- CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[3])(closctx->REG[3], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:458 */
- REGB0 = CALL_syntax___mmbuilder___AImport___visibility_level(fra.me.REG[0])(fra.me.REG[0]);
- CALL_metamodel___abstractmetamodel___MMModule___add_super_module(closctx->REG[2])(closctx->REG[2], fra.me.REG[1], REGB0);
- } else {
- /* syntax/mmbuilder.nit:460 */
- closctx->REG[4] = fra.me.REG[0];
- }
- stack_frame_head = fra.me.prev;
- return;
- }
-static const char LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder[] = "mmbuilder::AModuledecl::(mmbuilder::ANode::accept_class_builder)";
-void syntax___mmbuilder___AModuledecl___accept_class_builder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 479;
- fra.me.meth = LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 5;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:481 */
- fra.me.REG[2] = CALL_parser___parser_nodes___AModuledecl___n_name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[2] = CALL_parser___parser_nodes___AModuleName___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[2] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[3]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- REGB0 = REGB1;
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:482 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AModuledecl___n_name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[3] = CALL_parser___parser_nodes___AModuleName___n_id(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = TAG_Int(5);
- fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_1) {
- fra.me.REG[4] = BOX_NativeString("Error: Module name mismatch between ");
- REGB0 = TAG_Int(36);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_1 = fra.me.REG[4];
- register_static_object(&once_value_1);
- } else fra.me.REG[4] = once_value_1;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
- fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
- if (!once_value_2) {
- fra.me.REG[4] = BOX_NativeString(" and ");
- REGB0 = TAG_Int(5);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_2 = fra.me.REG[4];
- register_static_object(&once_value_2);
- } else fra.me.REG[4] = once_value_2;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
- fra.me.REG[0] = CALL_parser___parser_nodes___AModuledecl___n_name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
- if (!once_value_3) {
- fra.me.REG[0] = BOX_NativeString("");
- REGB0 = TAG_Int(0);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- once_value_3 = fra.me.REG[0];
- register_static_object(&once_value_3);
- } else fra.me.REG[0] = once_value_3;
- fra.me.REG[0] = fra.me.REG[0];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
- fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[2]);
- }
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AImport___module_name[] = "mmbuilder::AImport::module_name";
-val_t syntax___mmbuilder___AImport___module_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___mmbuilder;
- fra.me.line = 488;
- fra.me.meth = LOCATE_syntax___mmbuilder___AImport___module_name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- /* syntax/mmbuilder.nit:488 */
- nit_abort("Deferred method called", NULL, LOCATE_syntax___mmbuilder, 488);
- stack_frame_head = fra.me.prev;
- return NIT_NULL;
-}
-static const char LOCATE_syntax___mmbuilder___AImport___visibility_level[] = "mmbuilder::AImport::visibility_level";
-val_t syntax___mmbuilder___AImport___visibility_level(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___mmbuilder;
- fra.me.line = 491;
- fra.me.meth = LOCATE_syntax___mmbuilder___AImport___visibility_level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- /* syntax/mmbuilder.nit:491 */
- nit_abort("Deferred method called", NULL, LOCATE_syntax___mmbuilder, 491);
- stack_frame_head = fra.me.prev;
- return NIT_NULL;
-}
-static const char LOCATE_syntax___mmbuilder___AStdImport___module_name[] = "mmbuilder::AStdImport::(mmbuilder::AImport::module_name)";
-val_t syntax___mmbuilder___AStdImport___module_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___mmbuilder;
- fra.me.line = 495;
- fra.me.meth = LOCATE_syntax___mmbuilder___AStdImport___module_name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:497 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdImport___n_name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AStdImport___visibility_level[] = "mmbuilder::AStdImport::(mmbuilder::AImport::visibility_level)";
-val_t syntax___mmbuilder___AStdImport___visibility_level(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___mmbuilder;
- fra.me.line = 499;
- fra.me.meth = LOCATE_syntax___mmbuilder___AStdImport___visibility_level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:501 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdImport___n_visibility(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_syntax___mmbuilder___AVisibility___level(fra.me.REG[0])(fra.me.REG[0]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___ANoImport___module_name[] = "mmbuilder::ANoImport::(mmbuilder::AImport::module_name)";
-val_t syntax___mmbuilder___ANoImport___module_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___mmbuilder;
- fra.me.line = 505;
- fra.me.meth = LOCATE_syntax___mmbuilder___ANoImport___module_name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:507 */
- fra.me.REG[0] = NIT_NULL;
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AVisibility___level[] = "mmbuilder::AVisibility::level";
-val_t syntax___mmbuilder___AVisibility___level(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___mmbuilder;
- fra.me.line = 512;
- fra.me.meth = LOCATE_syntax___mmbuilder___AVisibility___level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- /* syntax/mmbuilder.nit:512 */
- nit_abort("Deferred method called", NULL, LOCATE_syntax___mmbuilder, 512);
- stack_frame_head = fra.me.prev;
- return NIT_NULL;
-}
-static const char LOCATE_syntax___mmbuilder___APublicVisibility___level[] = "mmbuilder::APublicVisibility::(mmbuilder::AVisibility::level)";
-val_t syntax___mmbuilder___APublicVisibility___level(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___mmbuilder;
- fra.me.line = 516;
- fra.me.meth = LOCATE_syntax___mmbuilder___APublicVisibility___level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:516 */
- REGB0 = TAG_Int(1);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AProtectedVisibility___level[] = "mmbuilder::AProtectedVisibility::(mmbuilder::AVisibility::level)";
-val_t syntax___mmbuilder___AProtectedVisibility___level(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___mmbuilder;
- fra.me.line = 519;
- fra.me.meth = LOCATE_syntax___mmbuilder___AProtectedVisibility___level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:519 */
- REGB0 = TAG_Int(2);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___APrivateVisibility___level[] = "mmbuilder::APrivateVisibility::(mmbuilder::AVisibility::level)";
-val_t syntax___mmbuilder___APrivateVisibility___level(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___mmbuilder;
- fra.me.line = 522;
- fra.me.meth = LOCATE_syntax___mmbuilder___APrivateVisibility___level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:522 */
- REGB0 = TAG_Int(3);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AIntrudeVisibility___level[] = "mmbuilder::AIntrudeVisibility::(mmbuilder::AVisibility::level)";
-val_t syntax___mmbuilder___AIntrudeVisibility___level(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___mmbuilder;
- fra.me.line = 525;
- fra.me.meth = LOCATE_syntax___mmbuilder___AIntrudeVisibility___level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:525 */
- REGB0 = TAG_Int(0);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___local_class[] = "mmbuilder::AClassdef::(syntax_base::AClassdef::local_class)";
-val_t syntax___mmbuilder___AClassdef___local_class(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___mmbuilder;
- fra.me.line = 530;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___local_class;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:530 */
- fra.me.REG[1] = fra.me.REG[0];
- fra.me.REG[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 530);
- }
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___name[] = "mmbuilder::AClassdef::name";
-val_t syntax___mmbuilder___AClassdef___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___mmbuilder;
- fra.me.line = 533;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- /* syntax/mmbuilder.nit:533 */
- nit_abort("Deferred method called", NULL, LOCATE_syntax___mmbuilder, 533);
- stack_frame_head = fra.me.prev;
- return NIT_NULL;
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___arity[] = "mmbuilder::AClassdef::arity";
-val_t syntax___mmbuilder___AClassdef___arity(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___mmbuilder;
- fra.me.line = 536;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___arity;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:537 */
- REGB0 = TAG_Int(0);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___visibility_level[] = "mmbuilder::AClassdef::visibility_level";
-val_t syntax___mmbuilder___AClassdef___visibility_level(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___mmbuilder;
- fra.me.line = 539;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___visibility_level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:540 */
- REGB0 = TAG_Int(1);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder[] = "mmbuilder::AClassdef::(mmbuilder::ANode::accept_class_builder)";
-void syntax___mmbuilder___AClassdef___accept_class_builder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 542;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 9;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:542 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:545 */
- fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[3])(fra.me.REG[3]);
- /* syntax/mmbuilder.nit:546 */
- fra.me.REG[5] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra.me.REG[4])(fra.me.REG[4]);
- /* syntax/mmbuilder.nit:547 */
- fra.me.REG[6] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:548 */
- fra.me.REG[6] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- /* syntax/mmbuilder.nit:549 */
- ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]) = fra.me.REG[6];
- /* syntax/mmbuilder.nit:550 */
- REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_parser___parser_nodes___AStdClassdef, ID_parser___parser_nodes___AStdClassdef)) /*cast AStdClassdef*/;
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:552 */
- REGB0 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_1) {
- fra.me.REG[8] = BOX_NativeString("Error: A class ");
- REGB0 = TAG_Int(15);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB0);
- once_value_1 = fra.me.REG[8];
- register_static_object(&once_value_1);
- } else fra.me.REG[8] = once_value_1;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_2) {
- fra.me.REG[8] = BOX_NativeString(" is already defined at line ");
- REGB0 = TAG_Int(28);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB0);
- once_value_2 = fra.me.REG[8];
- register_static_object(&once_value_2);
- } else fra.me.REG[8] = once_value_2;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra.me.REG[6])(fra.me.REG[6]);
- REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 552);
- }
- fra.me.REG[8] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[8])(fra.me.REG[8]);
- REGB0 = CALL_location___Location___line_start(fra.me.REG[8])(fra.me.REG[8]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_3) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB0);
- once_value_3 = fra.me.REG[8];
- register_static_object(&once_value_3);
- } else fra.me.REG[8] = once_value_3;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- /* syntax/mmbuilder.nit:553 */
- goto label4;
- }
- /* syntax/mmbuilder.nit:556 */
- fra.me.REG[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra.me.REG[6])(fra.me.REG[6]);
- /* syntax/mmbuilder.nit:557 */
- while(1) {
- REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 557);
- }
- fra.me.REG[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra.me.REG[7])(fra.me.REG[7]);
- REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 557);
- }
- fra.me.REG[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra.me.REG[7])(fra.me.REG[7]);
- fra.me.REG[7] = fra.me.REG[8];
- } else {
- goto label5;
- }
- }
- label5: while(0);
- /* syntax/mmbuilder.nit:558 */
- REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 558);
- }
- CALL_syntax___syntax_base___AClassdef___next_node__eq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[2]);
- } else {
- /* syntax/mmbuilder.nit:560 */
- fra.me.REG[7] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_syntax___mmbuilder___AClassdef___arity(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[7] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra.me.REG[4], fra.me.REG[7], fra.me.REG[2], REGB0);
- fra.me.REG[6] = fra.me.REG[7];
- /* syntax/mmbuilder.nit:561 */
- ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]) = fra.me.REG[6];
- /* syntax/mmbuilder.nit:562 */
- fra.me.REG[7] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[7], fra.me.REG[6]);
- /* syntax/mmbuilder.nit:563 */
- fra.me.REG[7] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[7]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:564 */
- CALL_syntax___mmbuilder___AClassdef___build_class_introduction(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- } else {
- /* syntax/mmbuilder.nit:566 */
- fra.me.REG[7] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[7] = CALL_metamodel___abstractmetamodel___MMModule___global_class_named(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[7]);
- /* syntax/mmbuilder.nit:567 */
- CALL_syntax___mmbuilder___AClassdef___build_class_refinement(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[7]);
- }
- }
- /* syntax/mmbuilder.nit:571 */
- REGB0 = TAG_Int(0);
- CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra.me.REG[3])(fra.me.REG[3], REGB0);
- /* syntax/mmbuilder.nit:572 */
- fra.me.REG[6] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra.me.REG[6])(fra.me.REG[6]);
- CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
- /* syntax/mmbuilder.nit:575 */
- CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:578 */
- CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- label4: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction[] = "mmbuilder::AClassdef::build_class_introduction";
-void syntax___mmbuilder___AClassdef___build_class_introduction(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 581;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction;
- fra.me.has_broke = 0;
- fra.me.REG_size = 5;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:583 */
- fra.me.REG[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra.me.REG[0])(fra.me.REG[0]);
- CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:584 */
- fra.me.REG[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:586 */
- REGB0 = CALL_syntax___mmbuilder___AClassdef___visibility_level(fra.me.REG[0])(fra.me.REG[0]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
- /* syntax/mmbuilder.nit:587 */
- REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___AStdClassdef, ID_parser___parser_nodes___AStdClassdef)) /*cast AStdClassdef*/;
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:588 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:589 */
- REGB0 = TAG_Int(3);
- fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_1) {
- fra.me.REG[4] = BOX_NativeString("Redef error: No class ");
- REGB0 = TAG_Int(22);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_1 = fra.me.REG[4];
- register_static_object(&once_value_1);
- } else fra.me.REG[4] = once_value_1;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- if (!once_value_2) {
- fra.me.REG[4] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
- REGB0 = TAG_Int(61);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_2 = fra.me.REG[4];
- register_static_object(&once_value_2);
- } else fra.me.REG[4] = once_value_2;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:590 */
- goto label3;
- }
- /* syntax/mmbuilder.nit:592 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_syntax___mmbuilder___AClasskind___is_interface(fra.me.REG[3])(fra.me.REG[3]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
- /* syntax/mmbuilder.nit:593 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_syntax___mmbuilder___AClasskind___is_abstract(fra.me.REG[3])(fra.me.REG[3]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
- /* syntax/mmbuilder.nit:594 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_syntax___mmbuilder___AClasskind___is_enum(fra.me.REG[0])(fra.me.REG[0]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
- }
- label3: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement[] = "mmbuilder::AClassdef::build_class_refinement";
-void syntax___mmbuilder___AClassdef___build_class_refinement(val_t p0, val_t p1, val_t p2){
- 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_1; /* Once value */
- static val_t once_value_2; /* 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 */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 598;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement;
- fra.me.has_broke = 0;
- fra.me.REG_size = 5;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- /* syntax/mmbuilder.nit:600 */
- fra.me.REG[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra.me.REG[0])(fra.me.REG[0]);
- CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:602 */
- fra.me.REG[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
- CALL_syntax___syntax_base___MMGlobalClass___check_visibility(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:603 */
- REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___AStdClassdef, ID_parser___parser_nodes___AStdClassdef)) /*cast AStdClassdef*/;
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- } else {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:604 */
- REGB0 = TAG_Int(3);
- fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_1) {
- fra.me.REG[4] = BOX_NativeString("Redef error: ");
- REGB0 = TAG_Int(13);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_1 = fra.me.REG[4];
- register_static_object(&once_value_1);
- } else fra.me.REG[4] = once_value_1;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- if (!once_value_2) {
- fra.me.REG[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
- REGB0 = TAG_Int(58);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_2 = fra.me.REG[4];
- register_static_object(&once_value_2);
- } else fra.me.REG[4] = once_value_2;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:605 */
- goto label3;
- }
- /* syntax/mmbuilder.nit:608 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[3] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[0]);
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 608);
- }
- REGB1 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[3])(fra.me.REG[3]);
- REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
- if (UNTAG_Bool(REGB2)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB1 = TAG_Bool((REGB0)==(REGB1));
- /* syntax/mmbuilder.nit:608 */
- REGB2 = REGB1;
- }
- REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:609 */
- REGB2 = TAG_Int(5);
- fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
- if (!once_value_4) {
- fra.me.REG[4] = BOX_NativeString("Redef error: Formal parameter arity missmatch; got ");
- REGB2 = TAG_Int(51);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB2);
- once_value_4 = fra.me.REG[4];
- register_static_object(&once_value_4);
- } else fra.me.REG[4] = once_value_4;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[0]);
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 609);
- }
- REGB2 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB2)(REGB2);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- if (!once_value_5) {
- fra.me.REG[4] = BOX_NativeString(", expected ");
- REGB2 = TAG_Int(11);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB2);
- once_value_5 = fra.me.REG[4];
- register_static_object(&once_value_5);
- } else fra.me.REG[4] = once_value_5;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB2)(REGB2);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- if (!once_value_6) {
- fra.me.REG[4] = BOX_NativeString(".");
- REGB2 = TAG_Int(1);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB2);
- once_value_6 = fra.me.REG[4];
- register_static_object(&once_value_6);
- } else fra.me.REG[4] = once_value_6;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[3]);
- }
- /* syntax/mmbuilder.nit:612 */
- REGB2 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___AStdClassdef, ID_parser___parser_nodes___AStdClassdef)) /*cast AStdClassdef*/;
- if (UNTAG_Bool(REGB2)) {
- REGB2 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
- if (UNTAG_Bool(REGB2)) {
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[0])(fra.me.REG[0]);
- REGB2 = CALL_syntax___mmbuilder___AClasskind___is_interface(fra.me.REG[3])(fra.me.REG[3]);
- } else {
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(1);
- } else {
- /* syntax/mmbuilder.nit:613 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- /* syntax/mmbuilder.nit:612 */
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:613 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[0])(fra.me.REG[0]);
- REGB2 = CALL_syntax___mmbuilder___AClasskind___is_abstract(fra.me.REG[3])(fra.me.REG[3]);
- } else {
- /* syntax/mmbuilder.nit:612 */
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(1);
- } else {
- /* syntax/mmbuilder.nit:614 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- /* syntax/mmbuilder.nit:612 */
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:614 */
- fra.me.REG[2] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[0])(fra.me.REG[0]);
- REGB2 = CALL_syntax___mmbuilder___AClasskind___is_enum(fra.me.REG[2])(fra.me.REG[2]);
- } else {
- /* syntax/mmbuilder.nit:612 */
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- } else {
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:616 */
- REGB2 = TAG_Int(3);
- fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
- if (!once_value_7) {
- fra.me.REG[3] = BOX_NativeString("Redef error: cannot change kind of class ");
- REGB2 = TAG_Int(41);
- fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB2);
- once_value_7 = fra.me.REG[3];
- register_static_object(&once_value_7);
- } else fra.me.REG[3] = once_value_7;
- fra.me.REG[3] = fra.me.REG[3];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- fra.me.REG[3] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- if (!once_value_8) {
- fra.me.REG[3] = BOX_NativeString(".");
- REGB2 = TAG_Int(1);
- fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB2);
- once_value_8 = fra.me.REG[3];
- register_static_object(&once_value_8);
- } else fra.me.REG[3] = once_value_8;
- fra.me.REG[3] = fra.me.REG[3];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[2]);
- }
- label3: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier[] = "mmbuilder::AClassdef::(mmbuilder::ANode::accept_class_verifier)";
-void syntax___mmbuilder___AClassdef___accept_class_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- 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 */
- static val_t once_value_10; /* Once value */
- static val_t once_value_11; /* Once value */
- static val_t once_value_12; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 620;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 9;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:620 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:622 */
- CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:623 */
- fra.me.REG[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 623);
- }
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:624 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 624);
- }
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra.me.REG[0])(fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:625 */
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[5])(fra.me.REG[5]);
- /* syntax/mmbuilder.nit:626 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:627 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[6])(fra.me.REG[6]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:628 */
- REGB1 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_1) {
- fra.me.REG[8] = BOX_NativeString("Special error: Interface ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_1 = fra.me.REG[8];
- register_static_object(&once_value_1);
- } else fra.me.REG[8] = once_value_1;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_2) {
- fra.me.REG[8] = BOX_NativeString(" try to specialise enum class ");
- REGB1 = TAG_Int(30);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_2 = fra.me.REG[8];
- register_static_object(&once_value_2);
- } else fra.me.REG[8] = once_value_2;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_3) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_3 = fra.me.REG[8];
- register_static_object(&once_value_3);
- } else fra.me.REG[8] = once_value_3;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- } else {
- /* syntax/mmbuilder.nit:629 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:630 */
- REGB1 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_4) {
- fra.me.REG[8] = BOX_NativeString("Special error: Interface ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_4 = fra.me.REG[8];
- register_static_object(&once_value_4);
- } else fra.me.REG[8] = once_value_4;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_5) {
- fra.me.REG[8] = BOX_NativeString(" try to specialise class ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_5 = fra.me.REG[8];
- register_static_object(&once_value_5);
- } else fra.me.REG[8] = once_value_5;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_6) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_6 = fra.me.REG[8];
- register_static_object(&once_value_6);
- } else fra.me.REG[8] = once_value_6;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- }
- }
- } else {
- /* syntax/mmbuilder.nit:632 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:633 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:634 */
- REGB1 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_7) {
- fra.me.REG[8] = BOX_NativeString("Special error: Enum class ");
- REGB1 = TAG_Int(26);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_7 = fra.me.REG[8];
- register_static_object(&once_value_7);
- } else fra.me.REG[8] = once_value_7;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_8) {
- fra.me.REG[8] = BOX_NativeString(" try to specialise class ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_8 = fra.me.REG[8];
- register_static_object(&once_value_8);
- } else fra.me.REG[8] = once_value_8;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_9) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_9 = fra.me.REG[8];
- register_static_object(&once_value_9);
- } else fra.me.REG[8] = once_value_9;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- }
- } else {
- /* syntax/mmbuilder.nit:637 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[6])(fra.me.REG[6]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:638 */
- REGB1 = TAG_Int(5);
- fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_10) {
- fra.me.REG[7] = BOX_NativeString("Special error: Class ");
- REGB1 = TAG_Int(21);
- fra.me.REG[7] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[7])(fra.me.REG[7], REGB1);
- once_value_10 = fra.me.REG[7];
- register_static_object(&once_value_10);
- } else fra.me.REG[7] = once_value_10;
- fra.me.REG[7] = fra.me.REG[7];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
- fra.me.REG[7] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
- if (!once_value_11) {
- fra.me.REG[7] = BOX_NativeString(" try to specialise enum class ");
- REGB1 = TAG_Int(30);
- fra.me.REG[7] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[7])(fra.me.REG[7], REGB1);
- once_value_11 = fra.me.REG[7];
- register_static_object(&once_value_11);
- } else fra.me.REG[7] = once_value_11;
- fra.me.REG[7] = fra.me.REG[7];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
- if (!once_value_12) {
- fra.me.REG[5] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB1);
- once_value_12 = fra.me.REG[5];
- register_static_object(&once_value_12);
- } else fra.me.REG[5] = once_value_12;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[6]);
- }
- }
- }
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label13;
- }
- }
- label13: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor[] = "mmbuilder::AClassdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
-void syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 645;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:645 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:647 */
- fra.me.REG[2] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:648 */
- CALL_SUPER_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:649 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AClasskind___is_interface[] = "mmbuilder::AClasskind::is_interface";
-val_t syntax___mmbuilder___AClasskind___is_interface(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___mmbuilder;
- fra.me.line = 654;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClasskind___is_interface;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:654 */
- REGB0 = TAG_Bool(0);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AClasskind___is_enum[] = "mmbuilder::AClasskind::is_enum";
-val_t syntax___mmbuilder___AClasskind___is_enum(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___mmbuilder;
- fra.me.line = 655;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClasskind___is_enum;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:655 */
- REGB0 = TAG_Bool(0);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AClasskind___is_abstract[] = "mmbuilder::AClasskind::is_abstract";
-val_t syntax___mmbuilder___AClasskind___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___mmbuilder;
- fra.me.line = 656;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClasskind___is_abstract;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:656 */
- REGB0 = TAG_Bool(0);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AClasskind___is_extern[] = "mmbuilder::AClasskind::is_extern";
-val_t syntax___mmbuilder___AClasskind___is_extern(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___mmbuilder;
- fra.me.line = 657;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClasskind___is_extern;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:657 */
- REGB0 = TAG_Bool(0);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface[] = "mmbuilder::AInterfaceClasskind::(mmbuilder::AClasskind::is_interface)";
-val_t syntax___mmbuilder___AInterfaceClasskind___is_interface(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___mmbuilder;
- fra.me.line = 661;
- fra.me.meth = LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:661 */
- REGB0 = TAG_Bool(1);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum[] = "mmbuilder::AEnumClasskind::(mmbuilder::AClasskind::is_enum)";
-val_t syntax___mmbuilder___AEnumClasskind___is_enum(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___mmbuilder;
- fra.me.line = 664;
- fra.me.meth = LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:664 */
- REGB0 = TAG_Bool(1);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AExternClasskind___is_extern[] = "mmbuilder::AExternClasskind::(mmbuilder::AClasskind::is_extern)";
-val_t syntax___mmbuilder___AExternClasskind___is_extern(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___mmbuilder;
- fra.me.line = 667;
- fra.me.meth = LOCATE_syntax___mmbuilder___AExternClasskind___is_extern;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:667 */
- REGB0 = TAG_Bool(1);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract[] = "mmbuilder::AAbstractClasskind::(mmbuilder::AClasskind::is_abstract)";
-val_t syntax___mmbuilder___AAbstractClasskind___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___mmbuilder;
- fra.me.line = 670;
- fra.me.meth = LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:670 */
- REGB0 = TAG_Bool(1);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AStdClassdef___name[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::name)";
-val_t syntax___mmbuilder___AStdClassdef___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___mmbuilder;
- fra.me.line = 674;
- fra.me.meth = LOCATE_syntax___mmbuilder___AStdClassdef___name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:676 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdClassdef___n_id(fra.me.REG[0])(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___mmbuilder, 676);
- }
- fra.me.REG[0] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AStdClassdef___arity[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::arity)";
-val_t syntax___mmbuilder___AStdClassdef___arity(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___mmbuilder;
- fra.me.line = 678;
- fra.me.meth = LOCATE_syntax___mmbuilder___AStdClassdef___arity;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:680 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdClassdef___n_formaldefs(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder[] = "mmbuilder::AStdClassdef::(mmbuilder::ANode::accept_class_specialization_builder)";
-void syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 682;
- fra.me.meth = LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:682 */
- fra.me.REG[2] = fra.me.REG[0];
- /* syntax/mmbuilder.nit:684 */
- CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:686 */
- fra.me.REG[1] = CALL_syntax___syntax_base___AClassdef___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:687 */
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[3]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:688 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_syntax___mmbuilder___AClasskind___is_interface(fra.me.REG[3])(fra.me.REG[3]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
- /* syntax/mmbuilder.nit:689 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_syntax___mmbuilder___AClasskind___is_abstract(fra.me.REG[3])(fra.me.REG[3]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
- /* syntax/mmbuilder.nit:690 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_syntax___mmbuilder___AClasskind___is_enum(fra.me.REG[3])(fra.me.REG[3]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
- /* syntax/mmbuilder.nit:691 */
- fra.me.REG[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_syntax___mmbuilder___AClasskind___is_extern(fra.me.REG[3])(fra.me.REG[3]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
- /* syntax/mmbuilder.nit:692 */
- REGB0 = CALL_syntax___mmbuilder___AClassdef___visibility_level(fra.me.REG[2])(fra.me.REG[2]);
- CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
- }
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier[] = "mmbuilder::AStdClassdef::(mmbuilder::ANode::accept_class_verifier)";
-void syntax___mmbuilder___AStdClassdef___accept_class_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- 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 */
- static val_t once_value_10; /* Once value */
- static val_t once_value_11; /* Once value */
- static val_t once_value_12; /* Once value */
- static val_t once_value_13; /* Once value */
- static val_t once_value_14; /* Once value */
- static val_t once_value_15; /* Once value */
- static val_t once_value_16; /* Once value */
- static val_t once_value_17; /* Once value */
- static val_t once_value_18; /* Once value */
- static val_t once_value_19; /* Once value */
- static val_t once_value_20; /* Once value */
- static val_t once_value_23; /* Once value */
- static val_t once_value_24; /* Once value */
- static val_t once_value_25; /* Once value */
- static val_t once_value_26; /* Once value */
- static val_t once_value_27; /* Once value */
- static val_t once_value_28; /* Once value */
- static val_t once_value_29; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 695;
- fra.me.meth = LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 9;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:695 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:697 */
- CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:698 */
- fra.me.REG[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 698);
- }
- fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:699 */
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]);
- REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[4]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:701 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:702 */
- REGB0 = TAG_Int(3);
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_1) {
- fra.me.REG[0] = BOX_NativeString("Redef error: No class ");
- REGB0 = TAG_Int(22);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- 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];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
- fra.me.REG[0] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
- if (!once_value_2) {
- fra.me.REG[0] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
- REGB0 = TAG_Int(61);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- 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];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
- }
- /* syntax/mmbuilder.nit:704 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:705 */
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = TAG_Bool(1);
- CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(fra.me.REG[4])(fra.me.REG[4], REGB0);
- }
- /* syntax/mmbuilder.nit:708 */
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 708);
- }
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra.me.REG[4])(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[0] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[0])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:709 */
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[5])(fra.me.REG[5]);
- /* syntax/mmbuilder.nit:710 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:711 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[6])(fra.me.REG[6]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:712 */
- REGB1 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_3) {
- fra.me.REG[8] = BOX_NativeString("Special error: Interface ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_3 = fra.me.REG[8];
- register_static_object(&once_value_3);
- } else fra.me.REG[8] = once_value_3;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_4) {
- fra.me.REG[8] = BOX_NativeString(" try to specialise enum class ");
- REGB1 = TAG_Int(30);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_4 = fra.me.REG[8];
- register_static_object(&once_value_4);
- } else fra.me.REG[8] = once_value_4;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_5) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_5 = fra.me.REG[8];
- register_static_object(&once_value_5);
- } else fra.me.REG[8] = once_value_5;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- } else {
- /* syntax/mmbuilder.nit:713 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:714 */
- REGB1 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_6) {
- fra.me.REG[8] = BOX_NativeString("Special error: Interface ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_6 = fra.me.REG[8];
- register_static_object(&once_value_6);
- } else fra.me.REG[8] = once_value_6;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_7) {
- fra.me.REG[8] = BOX_NativeString(" try to specialise class ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_7 = fra.me.REG[8];
- register_static_object(&once_value_7);
- } else fra.me.REG[8] = once_value_7;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_8) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_8 = fra.me.REG[8];
- register_static_object(&once_value_8);
- } else fra.me.REG[8] = once_value_8;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- }
- }
- } else {
- /* syntax/mmbuilder.nit:716 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:717 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:718 */
- REGB1 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_9) {
- fra.me.REG[8] = BOX_NativeString("Special error: Enum class ");
- REGB1 = TAG_Int(26);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_9 = fra.me.REG[8];
- register_static_object(&once_value_9);
- } else fra.me.REG[8] = once_value_9;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_10) {
- fra.me.REG[8] = BOX_NativeString(" try to specialise class ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_10 = fra.me.REG[8];
- register_static_object(&once_value_10);
- } else fra.me.REG[8] = once_value_10;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_11) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_11 = fra.me.REG[8];
- register_static_object(&once_value_11);
- } else fra.me.REG[8] = once_value_11;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- }
- } else {
- /* syntax/mmbuilder.nit:720 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:721 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:722 */
- REGB1 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_12) {
- fra.me.REG[8] = BOX_NativeString("Special error: Extern class ");
- REGB1 = TAG_Int(28);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_12 = fra.me.REG[8];
- register_static_object(&once_value_12);
- } else fra.me.REG[8] = once_value_12;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_13) {
- fra.me.REG[8] = BOX_NativeString(" try to specialise class ");
- REGB1 = TAG_Int(25);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_13 = fra.me.REG[8];
- register_static_object(&once_value_13);
- } else fra.me.REG[8] = once_value_13;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_14) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_14 = fra.me.REG[8];
- register_static_object(&once_value_14);
- } else fra.me.REG[8] = once_value_14;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- }
- } else {
- /* syntax/mmbuilder.nit:725 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[6])(fra.me.REG[6]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:726 */
- REGB1 = TAG_Int(5);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_15) {
- fra.me.REG[8] = BOX_NativeString("Special error: Class ");
- REGB1 = TAG_Int(21);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_15 = fra.me.REG[8];
- register_static_object(&once_value_15);
- } else fra.me.REG[8] = once_value_15;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_16) {
- fra.me.REG[8] = BOX_NativeString(" try to specialise enum class ");
- REGB1 = TAG_Int(30);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_16 = fra.me.REG[8];
- register_static_object(&once_value_16);
- } else fra.me.REG[8] = once_value_16;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- if (!once_value_17) {
- fra.me.REG[8] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB1);
- once_value_17 = fra.me.REG[8];
- register_static_object(&once_value_17);
- } else fra.me.REG[8] = once_value_17;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[7]);
- } else {
- /* syntax/mmbuilder.nit:727 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[6])(fra.me.REG[6]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:728 */
- REGB1 = TAG_Int(5);
- fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_18) {
- fra.me.REG[7] = BOX_NativeString("Special error: Class ");
- REGB1 = TAG_Int(21);
- fra.me.REG[7] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[7])(fra.me.REG[7], REGB1);
- once_value_18 = fra.me.REG[7];
- register_static_object(&once_value_18);
- } else fra.me.REG[7] = once_value_18;
- fra.me.REG[7] = fra.me.REG[7];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
- fra.me.REG[7] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
- if (!once_value_19) {
- fra.me.REG[7] = BOX_NativeString(" try to specialise extern class ");
- REGB1 = TAG_Int(32);
- fra.me.REG[7] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[7])(fra.me.REG[7], REGB1);
- once_value_19 = fra.me.REG[7];
- register_static_object(&once_value_19);
- } else fra.me.REG[7] = once_value_19;
- fra.me.REG[7] = fra.me.REG[7];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
- if (!once_value_20) {
- fra.me.REG[5] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB1);
- once_value_20 = fra.me.REG[5];
- register_static_object(&once_value_20);
- } else fra.me.REG[5] = once_value_20;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[6]);
- }
- }
- }
- }
- }
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label21;
- }
- }
- label21: while(0);
- /* syntax/mmbuilder.nit:733 */
- goto label22;
- }
- /* syntax/mmbuilder.nit:738 */
- fra.me.REG[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___syntax_base___MMGlobalClass___check_visibility(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:739 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:740 */
- REGB0 = TAG_Int(3);
- fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_23) {
- fra.me.REG[4] = BOX_NativeString("Redef error: ");
- REGB0 = TAG_Int(13);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_23 = fra.me.REG[4];
- register_static_object(&once_value_23);
- } else fra.me.REG[4] = once_value_23;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- if (!once_value_24) {
- fra.me.REG[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
- REGB0 = TAG_Int(58);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_24 = fra.me.REG[4];
- register_static_object(&once_value_24);
- } else fra.me.REG[4] = once_value_24;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:741 */
- goto label22;
- }
- /* syntax/mmbuilder.nit:744 */
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 744);
- }
- REGB1 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[0])(fra.me.REG[0]);
- REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
- if (UNTAG_Bool(REGB2)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB1 = TAG_Bool((REGB0)==(REGB1));
- /* syntax/mmbuilder.nit:744 */
- REGB2 = REGB1;
- }
- REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:745 */
- REGB2 = TAG_Int(5);
- fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
- if (!once_value_25) {
- fra.me.REG[4] = BOX_NativeString("Redef error: Formal parameter arity mismatch; got ");
- REGB2 = TAG_Int(50);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB2);
- once_value_25 = fra.me.REG[4];
- register_static_object(&once_value_25);
- } else fra.me.REG[4] = once_value_25;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra.me.REG[2]);
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 745);
- }
- REGB2 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB2)(REGB2);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- if (!once_value_26) {
- fra.me.REG[4] = BOX_NativeString(", expected ");
- REGB2 = TAG_Int(11);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB2);
- once_value_26 = fra.me.REG[4];
- register_static_object(&once_value_26);
- } else fra.me.REG[4] = once_value_26;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[1])(fra.me.REG[1]);
- REGB2 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB2)(REGB2);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- if (!once_value_27) {
- fra.me.REG[4] = BOX_NativeString(".");
- REGB2 = TAG_Int(1);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB2);
- once_value_27 = fra.me.REG[4];
- register_static_object(&once_value_27);
- } else fra.me.REG[4] = once_value_27;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
- }
- /* syntax/mmbuilder.nit:749 */
- REGB2 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[1])(fra.me.REG[1]);
- REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
- if (UNTAG_Bool(REGB2)) {
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = CALL_syntax___mmbuilder___AClasskind___is_interface(fra.me.REG[0])(fra.me.REG[0]);
- } else {
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(1);
- } else {
- /* syntax/mmbuilder.nit:750 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra.me.REG[1])(fra.me.REG[1]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- /* syntax/mmbuilder.nit:749 */
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:750 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = CALL_syntax___mmbuilder___AClasskind___is_abstract(fra.me.REG[0])(fra.me.REG[0]);
- } else {
- /* syntax/mmbuilder.nit:749 */
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(1);
- } else {
- /* syntax/mmbuilder.nit:751 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[1])(fra.me.REG[1]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- /* syntax/mmbuilder.nit:749 */
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:751 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = CALL_syntax___mmbuilder___AClasskind___is_enum(fra.me.REG[0])(fra.me.REG[0]);
- } else {
- /* syntax/mmbuilder.nit:749 */
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(1);
- } else {
- /* syntax/mmbuilder.nit:752 */
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[1])(fra.me.REG[1]);
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- /* syntax/mmbuilder.nit:749 */
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:752 */
- fra.me.REG[1] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = CALL_syntax___mmbuilder___AClasskind___is_extern(fra.me.REG[1])(fra.me.REG[1]);
- } else {
- /* syntax/mmbuilder.nit:749 */
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- /* syntax/mmbuilder.nit:748 */
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:754 */
- REGB2 = TAG_Int(3);
- fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
- if (!once_value_28) {
- fra.me.REG[0] = BOX_NativeString("Redef error: cannot change kind of class ");
- REGB2 = TAG_Int(41);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB2);
- once_value_28 = fra.me.REG[0];
- register_static_object(&once_value_28);
- } else fra.me.REG[0] = once_value_28;
- fra.me.REG[0] = fra.me.REG[0];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- fra.me.REG[0] = CALL_syntax___mmbuilder___AClassdef___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- if (!once_value_29) {
- fra.me.REG[0] = BOX_NativeString(".");
- REGB2 = TAG_Int(1);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB2);
- once_value_29 = fra.me.REG[0];
- register_static_object(&once_value_29);
- } else fra.me.REG[0] = once_value_29;
- fra.me.REG[0] = fra.me.REG[0];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[1]);
- }
- label22: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::visibility_level)";
-val_t syntax___mmbuilder___AStdClassdef___visibility_level(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___mmbuilder;
- fra.me.line = 758;
- fra.me.meth = LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:760 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AStdClassdef___n_visibility(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_syntax___mmbuilder___AVisibility___level(fra.me.REG[0])(fra.me.REG[0]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AMainClassdef___name[] = "mmbuilder::AMainClassdef::(mmbuilder::AClassdef::name)";
-val_t syntax___mmbuilder___AMainClassdef___name(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 765;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMainClassdef___name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:767 */
- if (!once_value_1) {
- if (!once_value_2) {
- fra.me.REG[0] = BOX_NativeString("Sys");
- REGB0 = TAG_Int(3);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- 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];
- fra.me.REG[0] = CALL_symbol___String___to_symbol(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;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___ATopClassdef___name[] = "mmbuilder::ATopClassdef::(mmbuilder::AClassdef::name)";
-val_t syntax___mmbuilder___ATopClassdef___name(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 772;
- fra.me.meth = LOCATE_syntax___mmbuilder___ATopClassdef___name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:774 */
- if (!once_value_1) {
- if (!once_value_2) {
- fra.me.REG[0] = BOX_NativeString("Object");
- REGB0 = TAG_Int(6);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- 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];
- fra.me.REG[0] = CALL_symbol___String___to_symbol(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;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder[] = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_builder)";
-void syntax___mmbuilder___AFormaldef___accept_class_builder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[5];} 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___mmbuilder;
- fra.me.line = 782;
- fra.me.meth = LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 6;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:782 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:784 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AFormaldef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[4] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[4])(fra.me.REG[4]);
- /* syntax/mmbuilder.nit:785 */
- REGB0 = CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = NEW_MMTypeFormalParameter_metamodel___genericity___MMTypeFormalParameter___init(fra.me.REG[4], REGB0, fra.me.REG[5]);
- /* syntax/mmbuilder.nit:786 */
- ATTR_syntax___mmbuilder___AFormaldef____formal(fra.me.REG[2]) = fra.me.REG[5];
- /* syntax/mmbuilder.nit:787 */
- REGB0 = CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra.me.REG[3])(fra.me.REG[3]);
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* syntax/mmbuilder.nit:787 */
- CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra.me.REG[3])(fra.me.REG[3], REGB1);
- /* syntax/mmbuilder.nit:788 */
- fra.me.REG[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- CALL_metamodel___genericity___MMLocalClass___register_formal(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
- /* syntax/mmbuilder.nit:789 */
- fra.me.REG[3] = CALL_syntax___mmbuilder___ClassBuilderVisitor___formals(fra.me.REG[3])(fra.me.REG[3]);
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 789);
- }
- CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
- /* syntax/mmbuilder.nit:790 */
- CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier[] = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_verifier)";
-void syntax___mmbuilder___AFormaldef___accept_class_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- static val_t once_value_4; /* Once value */
- static val_t once_value_5; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 793;
- fra.me.meth = LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 6;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:793 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:795 */
- CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:796 */
- fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- /* syntax/mmbuilder.nit:797 */
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:798 */
- REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[0]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:799 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AFormaldef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:800 */
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra.me.REG[2]);
- fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = CALL_metamodel___inheritance___MMModule___type_any(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[5] = CALL_metamodel___static_type___MMType___as_nullable(fra.me.REG[5])(fra.me.REG[5]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 800);
- }
- CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- } else {
- /* syntax/mmbuilder.nit:802 */
- fra.me.REG[5] = CALL_parser___parser_nodes___AFormaldef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 802);
- }
- fra.me.REG[5] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:803 */
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- goto label1;
- }
- /* syntax/mmbuilder.nit:804 */
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 804);
- }
- CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- }
- } else {
- /* syntax/mmbuilder.nit:807 */
- fra.me.REG[5] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 807);
- }
- REGB0 = CALL_metamodel___genericity___MMTypeFormalParameter___position(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[0] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra.me.REG[0])(fra.me.REG[0], REGB0);
- fra.me.REG[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = CALL_metamodel___static_type___MMType___for_module(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5]);
- /* syntax/mmbuilder.nit:808 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:809 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 809);
- }
- CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5]);
- } else {
- /* syntax/mmbuilder.nit:811 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 811);
- }
- fra.me.REG[0] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:812 */
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- goto label1;
- }
- /* syntax/mmbuilder.nit:813 */
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 813);
- }
- CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:814 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 814);
- }
- fra.me.REG[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[5]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5]);
- REGB0 = REGB1;
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:815 */
- REGB0 = TAG_Int(7);
- fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_2) {
- fra.me.REG[4] = BOX_NativeString("Redef error: Cannot change formal parameter type of class ");
- REGB0 = TAG_Int(58);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_2 = fra.me.REG[4];
- register_static_object(&once_value_2);
- } else fra.me.REG[4] = once_value_2;
- fra.me.REG[4] = fra.me.REG[4];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- if (!once_value_3) {
- fra.me.REG[1] = BOX_NativeString("; got ");
- REGB0 = TAG_Int(6);
- fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
- once_value_3 = fra.me.REG[1];
- register_static_object(&once_value_3);
- } else fra.me.REG[1] = once_value_3;
- fra.me.REG[1] = fra.me.REG[1];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- fra.me.REG[1] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 815);
- }
- fra.me.REG[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- if (!once_value_4) {
- fra.me.REG[1] = BOX_NativeString(", expected ");
- REGB0 = TAG_Int(11);
- fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
- once_value_4 = fra.me.REG[1];
- register_static_object(&once_value_4);
- } else fra.me.REG[1] = once_value_4;
- fra.me.REG[1] = fra.me.REG[1];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5]);
- if (!once_value_5) {
- fra.me.REG[5] = BOX_NativeString(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_5 = fra.me.REG[5];
- register_static_object(&once_value_5);
- } else fra.me.REG[5] = once_value_5;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5]);
- fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[0]);
- }
- }
- }
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ASuperclass___ancestor[] = "mmbuilder::ASuperclass::ancestor";
-val_t syntax___mmbuilder___ASuperclass___ancestor(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___mmbuilder;
- fra.me.line = 823;
- fra.me.meth = LOCATE_syntax___mmbuilder___ASuperclass___ancestor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:823 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_specialization_builder)";
-void syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 825;
- fra.me.meth = LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:825 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:827 */
- CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:828 */
- fra.me.REG[1] = CALL_parser___parser_nodes___ASuperclass___n_type(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[1] = CALL_syntax___syntax_base___AType___get_local_class(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:829 */
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- goto label1;
- }
- /* syntax/mmbuilder.nit:830 */
- fra.me.REG[1] = NEW_MMSrcAncestor_syntax___mmbuilder___MMSrcAncestor___init(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:831 */
- ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra.me.REG[2]) = fra.me.REG[1];
- /* syntax/mmbuilder.nit:832 */
- fra.me.REG[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- CALL_metamodel___inheritance___MMLocalClass___add_direct_parent(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_ancestor_builder)";
-void syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0, val_t p1){
- 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___mmbuilder;
- fra.me.line = 835;
- fra.me.meth = LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:835 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:837 */
- CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:838 */
- fra.me.REG[1] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra.me.REG[2]);
- fra.me.REG[0] = CALL_parser___parser_nodes___ASuperclass___n_type(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 838);
- }
- CALL_metamodel___static_type___MMAncestor___stype__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:839 */
- fra.me.REG[2] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra.me.REG[2]);
- fra.me.REG[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[3] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 839);
- }
- CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_verifier)";
-void syntax___mmbuilder___ASuperclass___accept_class_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 842;
- fra.me.meth = LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:842 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:844 */
- CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:845 */
- fra.me.REG[2] = CALL_parser___parser_nodes___ASuperclass___n_type(fra.me.REG[2])(fra.me.REG[2]);
- CALL_syntax___syntax_base___AType___check_conform(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___APropdef___process_and_check[] = "mmbuilder::APropdef::process_and_check";
-void syntax___mmbuilder___APropdef___process_and_check(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t REGB3;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 850;
- fra.me.meth = LOCATE_syntax___mmbuilder___APropdef___process_and_check;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- REGB0 = p3;
- REGB1 = p4;
- /* syntax/mmbuilder.nit:858 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[3])(fra.me.REG[3]);
- REGB2 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[2]));
- if (UNTAG_Bool(REGB2)) {
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- REGB2 = REGB3;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:859 */
- CALL_syntax___mmbuilder___APropdef___do_and_check_intro(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], REGB0, REGB1);
- } else {
- /* syntax/mmbuilder.nit:861 */
- CALL_syntax___mmbuilder___APropdef___do_and_check_redef(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], REGB0, REGB1);
- }
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro[] = "mmbuilder::APropdef::do_and_check_intro";
-void syntax___mmbuilder___APropdef___do_and_check_intro(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4){
- struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t REGB3;
- val_t REGB4;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- 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 */
- static val_t once_value_10; /* Once value */
- static val_t once_value_11; /* Once value */
- static val_t once_value_12; /* Once value */
- static val_t once_value_13; /* Once value */
- static val_t once_value_14; /* Once value */
- static val_t once_value_15; /* Once value */
- static val_t once_value_16; /* Once value */
- static val_t once_value_17; /* Once value */
- static val_t once_value_18; /* Once value */
- static val_t once_value_19; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 865;
- fra.me.meth = LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro;
- fra.me.has_broke = 0;
- fra.me.REG_size = 7;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- REGB0 = p3;
- REGB1 = p4;
- /* syntax/mmbuilder.nit:868 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:869 */
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[4])(fra.me.REG[4]);
- /* syntax/mmbuilder.nit:870 */
- fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[5])(fra.me.REG[5]);
- REGB2 = CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra.me.REG[5])(fra.me.REG[5]);
- REGB3 = TAG_Int(3);
- REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB4)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:243 */
- REGB3 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB3));
- /* syntax/mmbuilder.nit:870 */
- if (UNTAG_Bool(REGB3)) {
- /* syntax/mmbuilder.nit:872 */
- REGB3 = TAG_Int(3);
- REGB1 = REGB3;
- }
- /* syntax/mmbuilder.nit:874 */
- CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra.me.REG[3])(fra.me.REG[3], REGB1);
- /* syntax/mmbuilder.nit:875 */
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:876 */
- REGB0 = TAG_Int(5);
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_1) {
- fra.me.REG[6] = BOX_NativeString("Error: No property ");
- REGB0 = TAG_Int(19);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_1 = fra.me.REG[6];
- register_static_object(&once_value_1);
- } else fra.me.REG[6] = once_value_1;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_standard___collection___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(2);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_2 = fra.me.REG[6];
- register_static_object(&once_value_2);
- } else fra.me.REG[6] = once_value_2;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___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(" is inherited. Remove the redef keyword to define a new property.");
- REGB0 = TAG_Int(65);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_3 = fra.me.REG[6];
- register_static_object(&once_value_3);
- } else fra.me.REG[6] = once_value_3;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[5]);
- }
- /* syntax/mmbuilder.nit:878 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_attribute(fra.me.REG[3])(fra.me.REG[3]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:879 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[4])(fra.me.REG[4]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:880 */
- REGB0 = TAG_Int(5);
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_4) {
- fra.me.REG[6] = BOX_NativeString("Error: Attempt to define attribute ");
- REGB0 = TAG_Int(35);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_4 = fra.me.REG[6];
- register_static_object(&once_value_4);
- } else fra.me.REG[6] = once_value_4;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (!once_value_5) {
- fra.me.REG[6] = BOX_NativeString(" in the interface ");
- REGB0 = TAG_Int(18);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_5 = fra.me.REG[6];
- register_static_object(&once_value_5);
- } else fra.me.REG[6] = once_value_5;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (!once_value_6) {
- fra.me.REG[6] = BOX_NativeString(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_6 = fra.me.REG[6];
- register_static_object(&once_value_6);
- } else fra.me.REG[6] = once_value_6;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[5]);
- } else {
- /* syntax/mmbuilder.nit:881 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[4])(fra.me.REG[4]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:882 */
- REGB0 = TAG_Int(5);
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_7) {
- fra.me.REG[6] = BOX_NativeString("Error: Attempt to define attribute ");
- REGB0 = TAG_Int(35);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_7 = fra.me.REG[6];
- register_static_object(&once_value_7);
- } else fra.me.REG[6] = once_value_7;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (!once_value_8) {
- fra.me.REG[6] = BOX_NativeString(" in the enum class ");
- REGB0 = TAG_Int(19);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_8 = fra.me.REG[6];
- register_static_object(&once_value_8);
- } else fra.me.REG[6] = once_value_8;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (!once_value_9) {
- fra.me.REG[6] = BOX_NativeString(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_9 = fra.me.REG[6];
- register_static_object(&once_value_9);
- } else fra.me.REG[6] = once_value_9;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[5]);
- } else {
- /* syntax/mmbuilder.nit:883 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[4])(fra.me.REG[4]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:884 */
- REGB0 = TAG_Int(5);
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_10) {
- fra.me.REG[6] = BOX_NativeString("Error: Attempt to define attribute ");
- REGB0 = TAG_Int(35);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_10 = fra.me.REG[6];
- register_static_object(&once_value_10);
- } else fra.me.REG[6] = once_value_10;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (!once_value_11) {
- fra.me.REG[6] = BOX_NativeString(" in the extern class ");
- REGB0 = TAG_Int(21);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_11 = fra.me.REG[6];
- register_static_object(&once_value_11);
- } else fra.me.REG[6] = once_value_11;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (!once_value_12) {
- fra.me.REG[6] = BOX_NativeString(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_12 = fra.me.REG[6];
- register_static_object(&once_value_12);
- } else fra.me.REG[6] = once_value_12;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[5]);
- }
- }
- }
- } else {
- /* syntax/mmbuilder.nit:886 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[3])(fra.me.REG[3]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:887 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra.me.REG[4])(fra.me.REG[4]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:888 */
- REGB0 = TAG_Int(5);
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_13) {
- fra.me.REG[6] = BOX_NativeString("Error: Attempt to define a constructor ");
- REGB0 = TAG_Int(39);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_13 = fra.me.REG[6];
- register_static_object(&once_value_13);
- } else fra.me.REG[6] = once_value_13;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (!once_value_14) {
- fra.me.REG[6] = BOX_NativeString(" in the class ");
- REGB0 = TAG_Int(14);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_14 = fra.me.REG[6];
- register_static_object(&once_value_14);
- } else fra.me.REG[6] = once_value_14;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- if (!once_value_15) {
- fra.me.REG[6] = BOX_NativeString(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
- once_value_15 = fra.me.REG[6];
- register_static_object(&once_value_15);
- } else fra.me.REG[6] = once_value_15;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[5]);
- } else {
- /* syntax/mmbuilder.nit:889 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra.me.REG[4])(fra.me.REG[4]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:890 */
- REGB0 = TAG_Int(5);
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_16) {
- fra.me.REG[5] = BOX_NativeString("Error: Attempt to define a constructor ");
- REGB0 = TAG_Int(39);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_16 = fra.me.REG[5];
- register_static_object(&once_value_16);
- } else fra.me.REG[5] = once_value_16;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- if (!once_value_17) {
- fra.me.REG[5] = BOX_NativeString(" in the enum ");
- REGB0 = TAG_Int(13);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_17 = fra.me.REG[5];
- register_static_object(&once_value_17);
- } else fra.me.REG[5] = once_value_17;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- if (!once_value_18) {
- fra.me.REG[5] = BOX_NativeString(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_18 = fra.me.REG[5];
- register_static_object(&once_value_18);
- } else fra.me.REG[5] = once_value_18;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]);
- }
- }
- }
- }
- /* syntax/mmbuilder.nit:895 */
- fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:896 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[3])(fra.me.REG[3]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:897 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___super_methods_named(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- /* syntax/mmbuilder.nit:898 */
- CALL_syntax___mmbuilder___APropdef___inherit_signature(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[4]);
- }
- /* syntax/mmbuilder.nit:900 */
- fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(1);
- } else {
- fra.me.REG[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- REGB1 = CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- } else {
- /* syntax/mmbuilder.nit:902 */
- fra.me.REG[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:903 */
- fra.me.REG[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[4])(fra.me.REG[4]);
- if (!once_value_19) {
- fra.me.REG[0] = BOX_NativeString("Error: Untyped parameter.");
- REGB0 = TAG_Int(25);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- once_value_19 = fra.me.REG[0];
- register_static_object(&once_value_19);
- } else fra.me.REG[0] = once_value_19;
- fra.me.REG[0] = fra.me.REG[0];
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[0]);
- } else {
- /* syntax/mmbuilder.nit:905 */
- fra.me.REG[0] = NEW_Array_standard___collection___array___Array___init();
- fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[0], NIT_NULL, fra.me.REG[4]);
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
- /* syntax/mmbuilder.nit:906 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra.me.REG[1])(fra.me.REG[1]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
- REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[0] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:907 */
- fra.me.REG[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 907);
- }
- fra.me.REG[3] = CALL_metamodel___static_type___MMSignature___closures(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label20;
- }
- }
- label20: while(0);
- }
- }
- }
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___APropdef___inherit_signature[] = "mmbuilder::APropdef::inherit_signature";
-void syntax___mmbuilder___APropdef___inherit_signature(val_t p0, val_t p1, val_t p2, val_t p3){
- struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t REGB3;
- val_t REGB4;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 913;
- fra.me.meth = LOCATE_syntax___mmbuilder___APropdef___inherit_signature;
- fra.me.has_broke = 0;
- fra.me.REG_size = 11;
- fra.me.nitni_local_ref_head = NULL;
- 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[9] = NIT_NULL;
- fra.me.REG[10] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- fra.me.REG[3] = p3;
- /* syntax/mmbuilder.nit:915 */
- fra.me.REG[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[2])(fra.me.REG[2]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:917 */
- fra.me.REG[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 917);
- }
- fra.me.REG[6] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
- /* syntax/mmbuilder.nit:919 */
- REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:920 */
- fra.me.REG[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[5])(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* syntax/mmbuilder.nit:920 */
- REGB2 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[6])(fra.me.REG[6]);
- REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
- if (UNTAG_Bool(REGB3)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB2 = TAG_Bool((REGB1)==(REGB2));
- /* syntax/mmbuilder.nit:920 */
- REGB3 = REGB2;
- }
- REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
- if (UNTAG_Bool(REGB3)) {
- /* syntax/mmbuilder.nit:921 */
- goto label1;
- }
- /* syntax/mmbuilder.nit:923 */
- fra.me.REG[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[5])(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB3 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[7] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- REGB1 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB2 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB2));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB2)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[8] = ((Nit_NativeArray)fra.me.REG[7])->val[UNTAG_Int(REGB3)];
- /* syntax/mmbuilder.nit:924 */
- REGB2 = CALL_syntax___syntax_base___AParam___position(fra.me.REG[8])(fra.me.REG[8]);
- fra.me.REG[9] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[6])(fra.me.REG[6], REGB2);
- /* syntax/mmbuilder.nit:925 */
- CALL_syntax___mmbuilder___AParam___stype__eq(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
- /* syntax/mmbuilder.nit:926 */
- REGB2 = CALL_syntax___syntax_base___AParam___position(fra.me.REG[8])(fra.me.REG[8]);
- REGB1 = CALL_metamodel___vararg___MMSignature___vararg_rank(fra.me.REG[6])(fra.me.REG[6]);
- REGB4 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
- if (UNTAG_Bool(REGB4)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB1 = TAG_Bool((REGB2)==(REGB1));
- /* syntax/mmbuilder.nit:926 */
- REGB4 = REGB1;
- }
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:927 */
- fra.me.REG[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[9]);
- fra.me.REG[9] = fra.me.REG[10];
- }
- /* syntax/mmbuilder.nit:929 */
- fra.me.REG[8] = CALL_syntax___syntax_base___AParam___variable(fra.me.REG[8])(fra.me.REG[8]);
- CALL_syntax___syntax_base___Variable___stype__eq(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB4 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB4 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB4));
- /* ../lib/standard/collection/array.nit:275 */
- REGB3 = REGB4;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label2;
- }
- }
- label2: while(0);
- /* syntax/mmbuilder.nit:932 */
- fra.me.REG[0] = fra.me.REG[6];
- /* syntax/mmbuilder.nit:933 */
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
- }
- /* ../lib/standard/collection/array.nit:275 */
- REGB3 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB3;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label3;
- }
- }
- label3: while(0);
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef[] = "mmbuilder::APropdef::do_and_check_redef";
-void syntax___mmbuilder___APropdef___do_and_check_redef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4){
- struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t REGB3;
- val_t REGB4;
- val_t REGB5;
- val_t REGB6;
- val_t REGB7;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* 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 */
- static val_t once_value_10; /* Once value */
- static val_t once_value_12; /* Once value */
- static val_t once_value_13; /* Once value */
- static val_t once_value_14; /* Once value */
- static val_t once_value_15; /* Once value */
- static val_t once_value_16; /* Once value */
- static val_t once_value_17; /* Once value */
- static val_t once_value_18; /* Once value */
- static val_t once_value_19; /* Once value */
- static val_t once_value_20; /* Once value */
- static val_t once_value_21; /* Once value */
- static val_t once_value_22; /* Once value */
- static val_t once_value_23; /* Once value */
- static val_t once_value_26; /* Once value */
- static val_t once_value_27; /* Once value */
- static val_t once_value_28; /* Once value */
- static val_t once_value_29; /* Once value */
- static val_t once_value_30; /* Once value */
- static val_t once_value_31; /* Once value */
- static val_t once_value_32; /* Once value */
- static val_t once_value_33; /* Once value */
- static val_t once_value_34; /* Once value */
- static val_t once_value_35; /* Once value */
- static val_t once_value_37; /* Once value */
- static val_t once_value_38; /* Once value */
- static val_t once_value_39; /* Once value */
- static val_t once_value_40; /* Once value */
- static val_t once_value_41; /* Once value */
- static val_t once_value_42; /* Once value */
- static val_t once_value_43; /* Once value */
- static val_t once_value_44; /* Once value */
- static val_t once_value_45; /* Once value */
- static val_t once_value_46; /* Once value */
- static val_t once_value_47; /* Once value */
- static val_t once_value_48; /* Once value */
- static val_t once_value_49; /* Once value */
- static val_t once_value_50; /* Once value */
- static val_t once_value_51; /* Once value */
- static val_t once_value_52; /* Once value */
- static val_t once_value_53; /* Once value */
- static val_t once_value_54; /* Once value */
- static val_t once_value_55; /* Once value */
- static val_t once_value_56; /* Once value */
- static val_t once_value_57; /* Once value */
- static val_t once_value_58; /* Once value */
- static val_t once_value_59; /* Once value */
- static val_t once_value_60; /* Once value */
- static val_t once_value_61; /* Once value */
- static val_t once_value_62; /* Once value */
- static val_t once_value_63; /* Once value */
- static val_t once_value_65; /* Once value */
- static val_t once_value_66; /* Once value */
- static val_t once_value_67; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 938;
- fra.me.meth = LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef;
- fra.me.has_broke = 0;
- fra.me.REG_size = 14;
- fra.me.nitni_local_ref_head = NULL;
- 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[9] = NIT_NULL;
- fra.me.REG[10] = NIT_NULL;
- fra.me.REG[11] = NIT_NULL;
- fra.me.REG[12] = NIT_NULL;
- fra.me.REG[13] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- REGB0 = p3;
- REGB1 = p4;
- /* syntax/mmbuilder.nit:941 */
- REGB2 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___AInitPropdef, ID_parser___parser_nodes___AInitPropdef)) /*cast AInitPropdef*/;
- /* syntax/mmbuilder.nit:942 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:944 */
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:945 */
- REGB0 = TAG_Int(5);
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_1) {
- fra.me.REG[5] = BOX_NativeString("Redef error: ");
- REGB0 = TAG_Int(13);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- 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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___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(2);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- 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];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___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(" is an inherited property. To redefine it, add the redef keyword.");
- REGB0 = TAG_Int(65);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_3 = fra.me.REG[5];
- register_static_object(&once_value_3);
- } else fra.me.REG[5] = once_value_3;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]);
- /* syntax/mmbuilder.nit:946 */
- goto label4;
- }
- /* syntax/mmbuilder.nit:948 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[3])(fra.me.REG[3]);
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB2));
- } else {
- REGB3 = TAG_Bool(0);
- REGB0 = REGB3;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:949 */
- REGB0 = TAG_Int(5);
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_5) {
- fra.me.REG[5] = BOX_NativeString("Redef error: A method ");
- REGB0 = TAG_Int(22);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_5 = fra.me.REG[5];
- register_static_object(&once_value_5);
- } else fra.me.REG[5] = once_value_5;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- if (!once_value_6) {
- fra.me.REG[5] = BOX_NativeString("::");
- REGB0 = TAG_Int(2);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_6 = fra.me.REG[5];
- register_static_object(&once_value_6);
- } else fra.me.REG[5] = once_value_6;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- if (!once_value_7) {
- fra.me.REG[5] = BOX_NativeString(" cannot redefine a constructor.");
- REGB0 = TAG_Int(31);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_7 = fra.me.REG[5];
- register_static_object(&once_value_7);
- } else fra.me.REG[5] = once_value_7;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]);
- } else {
- /* syntax/mmbuilder.nit:950 */
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB0 = TAG_Bool(0);
- REGB2 = REGB0;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:951 */
- REGB2 = TAG_Int(5);
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
- if (!once_value_8) {
- fra.me.REG[5] = BOX_NativeString("Redef error: A constructor ");
- REGB2 = TAG_Int(27);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB2);
- once_value_8 = fra.me.REG[5];
- register_static_object(&once_value_8);
- } else fra.me.REG[5] = once_value_8;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- if (!once_value_9) {
- fra.me.REG[5] = BOX_NativeString("::");
- REGB2 = TAG_Int(2);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB2);
- once_value_9 = fra.me.REG[5];
- register_static_object(&once_value_9);
- } else fra.me.REG[5] = once_value_9;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- if (!once_value_10) {
- fra.me.REG[5] = BOX_NativeString(" cannot redefine a method.");
- REGB2 = TAG_Int(26);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB2);
- once_value_10 = fra.me.REG[5];
- register_static_object(&once_value_10);
- } else fra.me.REG[5] = once_value_10;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]);
- }
- }
- /* syntax/mmbuilder.nit:954 */
- fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:956 */
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra.me.REG[5])(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB2 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[6] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- REGB3 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB0)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[6])->val[UNTAG_Int(REGB2)];
- /* syntax/mmbuilder.nit:957 */
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[7])(fra.me.REG[7]);
- fra.me.REG[9] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[9] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
- /* syntax/mmbuilder.nit:958 */
- fra.me.REG[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[7])(fra.me.REG[7]);
- /* syntax/mmbuilder.nit:959 */
- REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB0 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
- REGB0 = REGB3;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- goto label11;
- }
- /* syntax/mmbuilder.nit:960 */
- fra.me.REG[8] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[8] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[8])(fra.me.REG[8]);
- REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 960);
- }
- fra.me.REG[8] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
- fra.me.REG[7] = fra.me.REG[8];
- /* syntax/mmbuilder.nit:962 */
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB0 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB3;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:964 */
- fra.me.REG[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[8])(fra.me.REG[8]);
- /* ../lib/standard/collection/array.nit:24 */
- REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
- /* syntax/mmbuilder.nit:964 */
- REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 964);
- }
- REGB3 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[7])(fra.me.REG[7]);
- REGB4 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB3));
- if (UNTAG_Bool(REGB4)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB3 = TAG_Bool((REGB0)==(REGB3));
- /* syntax/mmbuilder.nit:964 */
- REGB4 = REGB3;
- }
- REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:965 */
- REGB4 = TAG_Int(11);
- fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4);
- if (!once_value_12) {
- fra.me.REG[10] = BOX_NativeString("Redef error: ");
- REGB4 = TAG_Int(13);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB4);
- once_value_12 = fra.me.REG[10];
- register_static_object(&once_value_12);
- } else fra.me.REG[10] = once_value_12;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[10])(fra.me.REG[10]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_13) {
- fra.me.REG[10] = BOX_NativeString("::");
- REGB4 = TAG_Int(2);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB4);
- once_value_13 = fra.me.REG[10];
- register_static_object(&once_value_13);
- } else fra.me.REG[10] = once_value_13;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_14) {
- fra.me.REG[10] = BOX_NativeString(" redefines ");
- REGB4 = TAG_Int(11);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB4);
- once_value_14 = fra.me.REG[10];
- register_static_object(&once_value_14);
- } else fra.me.REG[10] = once_value_14;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[10])(fra.me.REG[10]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_15) {
- fra.me.REG[10] = BOX_NativeString("::");
- REGB4 = TAG_Int(2);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB4);
- once_value_15 = fra.me.REG[10];
- register_static_object(&once_value_15);
- } else fra.me.REG[10] = once_value_15;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_16) {
- fra.me.REG[10] = BOX_NativeString(" with ");
- REGB4 = TAG_Int(6);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB4);
- once_value_16 = fra.me.REG[10];
- register_static_object(&once_value_16);
- } else fra.me.REG[10] = once_value_16;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- REGB4 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 965);
- }
- REGB4 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[7])(fra.me.REG[7]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(REGB4)(REGB4);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_17) {
- fra.me.REG[10] = BOX_NativeString(" parameter(s).");
- REGB4 = TAG_Int(14);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB4);
- once_value_17 = fra.me.REG[10];
- register_static_object(&once_value_17);
- } else fra.me.REG[10] = once_value_17;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[8]);
- /* syntax/mmbuilder.nit:966 */
- goto label4;
- }
- /* syntax/mmbuilder.nit:968 */
- fra.me.REG[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra.me.REG[8])(fra.me.REG[8]);
- /* ../lib/standard/collection/array.nit:24 */
- REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
- /* syntax/mmbuilder.nit:968 */
- REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 968);
- }
- fra.me.REG[8] = CALL_metamodel___static_type___MMSignature___closures(fra.me.REG[7])(fra.me.REG[7]);
- /* ../lib/standard/collection/array.nit:24 */
- REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
- /* syntax/mmbuilder.nit:968 */
- REGB0 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB3));
- if (UNTAG_Bool(REGB0)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB3 = TAG_Bool((REGB4)==(REGB3));
- /* syntax/mmbuilder.nit:968 */
- REGB0 = REGB3;
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:969 */
- REGB0 = TAG_Int(11);
- fra.me.REG[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_18) {
- fra.me.REG[10] = BOX_NativeString("Redef error: ");
- REGB0 = TAG_Int(13);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB0);
- once_value_18 = fra.me.REG[10];
- register_static_object(&once_value_18);
- } else fra.me.REG[10] = once_value_18;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[10])(fra.me.REG[10]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_19) {
- fra.me.REG[10] = BOX_NativeString("::");
- REGB0 = TAG_Int(2);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB0);
- once_value_19 = fra.me.REG[10];
- register_static_object(&once_value_19);
- } else fra.me.REG[10] = once_value_19;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_20) {
- fra.me.REG[10] = BOX_NativeString(" redefines ");
- REGB0 = TAG_Int(11);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB0);
- once_value_20 = fra.me.REG[10];
- register_static_object(&once_value_20);
- } else fra.me.REG[10] = once_value_20;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[10])(fra.me.REG[10]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_21) {
- fra.me.REG[10] = BOX_NativeString("::");
- REGB0 = TAG_Int(2);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB0);
- once_value_21 = fra.me.REG[10];
- register_static_object(&once_value_21);
- } else fra.me.REG[10] = once_value_21;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_22) {
- fra.me.REG[10] = BOX_NativeString(" with ");
- REGB0 = TAG_Int(6);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB0);
- once_value_22 = fra.me.REG[10];
- register_static_object(&once_value_22);
- } else fra.me.REG[10] = once_value_22;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 969);
- }
- REGB0 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[7])(fra.me.REG[7]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- if (!once_value_23) {
- fra.me.REG[10] = BOX_NativeString(" closure(s).");
- REGB0 = TAG_Int(12);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB0);
- once_value_23 = fra.me.REG[10];
- register_static_object(&once_value_23);
- } else fra.me.REG[10] = once_value_23;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[10]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[8]);
- /* syntax/mmbuilder.nit:970 */
- goto label4;
- }
- /* syntax/mmbuilder.nit:972 */
- fra.me.REG[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[8])(fra.me.REG[8]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[10] = ATTR_standard___collection___array___Array____items(fra.me.REG[8]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
- REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB4)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB3 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB3));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB3)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB3 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[11] = ((Nit_NativeArray)fra.me.REG[10])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:973 */
- REGB3 = CALL_syntax___syntax_base___AParam___position(fra.me.REG[11])(fra.me.REG[11]);
- REGB4 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 973);
- }
- fra.me.REG[12] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[7])(fra.me.REG[7], REGB3);
- /* syntax/mmbuilder.nit:974 */
- CALL_syntax___mmbuilder___AParam___stype__eq(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- /* syntax/mmbuilder.nit:975 */
- REGB3 = CALL_syntax___syntax_base___AParam___position(fra.me.REG[11])(fra.me.REG[11]);
- REGB4 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 975);
- }
- REGB4 = CALL_metamodel___vararg___MMSignature___vararg_rank(fra.me.REG[7])(fra.me.REG[7]);
- REGB5 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB4));
- if (UNTAG_Bool(REGB5)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB4 = TAG_Bool((REGB3)==(REGB4));
- /* syntax/mmbuilder.nit:975 */
- REGB5 = REGB4;
- }
- if (UNTAG_Bool(REGB5)) {
- /* syntax/mmbuilder.nit:976 */
- fra.me.REG[13] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[12]);
- fra.me.REG[12] = fra.me.REG[13];
- }
- /* syntax/mmbuilder.nit:978 */
- fra.me.REG[13] = CALL_syntax___syntax_base___AParam___variable(fra.me.REG[11])(fra.me.REG[11]);
- CALL_syntax___syntax_base___Variable___stype__eq(fra.me.REG[13])(fra.me.REG[13], fra.me.REG[12]);
- /* syntax/mmbuilder.nit:980 */
- REGB5 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB5)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 980);
- }
- fra.me.REG[12] = CALL_metamodel___static_type___MMSignature___params(fra.me.REG[7])(fra.me.REG[7]);
- REGB5 = CALL_syntax___syntax_base___AParam___position(fra.me.REG[11])(fra.me.REG[11]);
- /* ../lib/standard/collection/array.nit:281 */
- REGB4 = TAG_Int(0);
- REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5), VTID_standard___kernel___Comparable___OTHER(REGB5))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:243 */
- REGB4 = TAG_Bool(UNTAG_Int(REGB5)>=UNTAG_Int(REGB4));
- /* ../lib/standard/collection/array.nit:281 */
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[12])!=NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281);
- }
- REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[12]);
- REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5), VTID_standard___kernel___Comparable___OTHER(REGB5))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB4 = TAG_Bool(UNTAG_Int(REGB5)<UNTAG_Int(REGB4));
- } else {
- /* ../lib/standard/collection/array.nit:281 */
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- }
- if (UNTAG_Bool(REGB4)) {
- } else {
- nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 281);
- }
- /* ../lib/standard/collection/array.nit:282 */
- fra.me.REG[12] = ATTR_standard___collection___array___Array____items(fra.me.REG[12]);
- REGB4 = TAG_Bool(fra.me.REG[12]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 282);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[12] = ((Nit_NativeArray)fra.me.REG[12])->val[UNTAG_Int(REGB5)];
- /* ../lib/standard/collection/array.nit:282 */
- goto label24;
- label24: while(0);
- /* syntax/mmbuilder.nit:980 */
- fra.me.REG[11] = CALL_syntax___syntax_base___AParam___variable(fra.me.REG[11])(fra.me.REG[11]);
- fra.me.REG[11] = CALL_syntax___syntax_base___Variable___name(fra.me.REG[11])(fra.me.REG[11]);
- REGB5 = TAG_Bool(fra.me.REG[12]==NIT_NULL);
- if (UNTAG_Bool(REGB5)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 980);
- }
- CALL_metamodel___static_type___MMParam___name__eq(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[11]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB5 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB5 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB5));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB5;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label25;
- }
- }
- label25: while(0);
- /* syntax/mmbuilder.nit:982 */
- fra.me.REG[4] = fra.me.REG[7];
- /* syntax/mmbuilder.nit:983 */
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
- }
- /* syntax/mmbuilder.nit:987 */
- fra.me.REG[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = CALL_toolcontext___ToolContext___error_count(fra.me.REG[10])(fra.me.REG[10]);
- /* syntax/mmbuilder.nit:995 */
- REGB5 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB5)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 995);
- }
- REGB5 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
- REGB4 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 995);
- }
- REGB4 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[7])(fra.me.REG[7]);
- REGB3 = TAG_Bool(IS_EQUAL_OO(REGB5,REGB4));
- if (UNTAG_Bool(REGB3)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB4 = TAG_Bool((REGB5)==(REGB4));
- /* syntax/mmbuilder.nit:995 */
- REGB3 = REGB4;
- }
- REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
- if (UNTAG_Bool(REGB3)) {
- /* syntax/mmbuilder.nit:996 */
- REGB3 = TAG_Int(11);
- fra.me.REG[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
- if (!once_value_26) {
- fra.me.REG[8] = BOX_NativeString("Redef error: ");
- REGB3 = TAG_Int(13);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB3);
- once_value_26 = fra.me.REG[8];
- register_static_object(&once_value_26);
- } else fra.me.REG[8] = once_value_26;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- if (!once_value_27) {
- fra.me.REG[8] = BOX_NativeString("::");
- REGB3 = TAG_Int(2);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB3);
- once_value_27 = fra.me.REG[8];
- register_static_object(&once_value_27);
- } else fra.me.REG[8] = once_value_27;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- if (!once_value_28) {
- fra.me.REG[8] = BOX_NativeString(" redefines ");
- REGB3 = TAG_Int(11);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB3);
- once_value_28 = fra.me.REG[8];
- register_static_object(&once_value_28);
- } else fra.me.REG[8] = once_value_28;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- if (!once_value_29) {
- fra.me.REG[8] = BOX_NativeString("::");
- REGB3 = TAG_Int(2);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB3);
- once_value_29 = fra.me.REG[8];
- register_static_object(&once_value_29);
- } else fra.me.REG[8] = once_value_29;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- if (!once_value_30) {
- fra.me.REG[8] = BOX_NativeString(" with ");
- REGB3 = TAG_Int(6);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB3);
- once_value_30 = fra.me.REG[8];
- register_static_object(&once_value_30);
- } else fra.me.REG[8] = once_value_30;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 996);
- }
- REGB3 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[7])(fra.me.REG[7]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(REGB3)(REGB3);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- if (!once_value_31) {
- fra.me.REG[8] = BOX_NativeString(" parameter(s).");
- REGB3 = TAG_Int(14);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB3);
- once_value_31 = fra.me.REG[8];
- register_static_object(&once_value_31);
- } else fra.me.REG[8] = once_value_31;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[10])(fra.me.REG[10]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[10]);
- } else {
- /* syntax/mmbuilder.nit:997 */
- REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 997);
- }
- REGB3 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
- REGB4 = TAG_Int(0);
- REGB5 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB5)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:244 */
- REGB4 = TAG_Bool(UNTAG_Int(REGB3)>UNTAG_Int(REGB4));
- /* syntax/mmbuilder.nit:997 */
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:998 */
- REGB4 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___AMethPropdef, ID_parser___parser_nodes___AMethPropdef)) /*cast AMethPropdef*/;
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1000 */
- REGB4 = TAG_Int(0);
- REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1000);
- }
- REGB3 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
- /* ../lib/standard/kernel.nit:404 */
- while(1) {
- REGB5 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4), VTID_standard___kernel___Comparable___OTHER(REGB4))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB5)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB5 = TAG_Bool(UNTAG_Int(REGB4)<UNTAG_Int(REGB3));
- /* ../lib/standard/kernel.nit:404 */
- if (UNTAG_Bool(REGB5)) {
- /* syntax/mmbuilder.nit:1000 */
- REGB5 = REGB4;
- /* syntax/mmbuilder.nit:1001 */
- REGB6 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB6)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1001);
- }
- fra.me.REG[10] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[4])(fra.me.REG[4], REGB5);
- REGB6 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB6)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1001);
- }
- fra.me.REG[8] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[7])(fra.me.REG[7], REGB5);
- REGB6 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[10],fra.me.REG[8]));
- if (UNTAG_Bool(REGB6)) {
- } else {
- REGB7 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- REGB6 = REGB7;
- }
- REGB6 = TAG_Bool(!UNTAG_Bool(REGB6));
- if (UNTAG_Bool(REGB6)) {
- /* syntax/mmbuilder.nit:1002 */
- fra.me.REG[8] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra.me.REG[0])(fra.me.REG[0]);
- REGB6 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB6)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1002);
- }
- fra.me.REG[8] = CALL_parser___parser_nodes___ASignature___n_params(fra.me.REG[8])(fra.me.REG[8]);
- fra.me.REG[8] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[8])(fra.me.REG[8], REGB5);
- REGB6 = TAG_Int(7);
- fra.me.REG[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6);
- if (!once_value_32) {
- fra.me.REG[11] = BOX_NativeString("Redef error: Expected ");
- REGB6 = TAG_Int(22);
- fra.me.REG[11] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[11])(fra.me.REG[11], REGB6);
- once_value_32 = fra.me.REG[11];
- register_static_object(&once_value_32);
- } else fra.me.REG[11] = once_value_32;
- fra.me.REG[11] = fra.me.REG[11];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- REGB6 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB6)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1002);
- }
- fra.me.REG[11] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[7])(fra.me.REG[7], REGB5);
- fra.me.REG[11] = CALL_standard___string___Object___to_s(fra.me.REG[11])(fra.me.REG[11]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- if (!once_value_33) {
- fra.me.REG[11] = BOX_NativeString(", as in ");
- REGB5 = TAG_Int(8);
- fra.me.REG[11] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[11])(fra.me.REG[11], REGB5);
- once_value_33 = fra.me.REG[11];
- register_static_object(&once_value_33);
- } else fra.me.REG[11] = once_value_33;
- fra.me.REG[11] = fra.me.REG[11];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- fra.me.REG[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[11] = CALL_standard___string___Object___to_s(fra.me.REG[11])(fra.me.REG[11]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- if (!once_value_34) {
- fra.me.REG[11] = BOX_NativeString("::");
- REGB5 = TAG_Int(2);
- fra.me.REG[11] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[11])(fra.me.REG[11], REGB5);
- once_value_34 = fra.me.REG[11];
- register_static_object(&once_value_34);
- } else fra.me.REG[11] = once_value_34;
- fra.me.REG[11] = fra.me.REG[11];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- fra.me.REG[11] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- if (!once_value_35) {
- fra.me.REG[11] = BOX_NativeString(".");
- REGB5 = TAG_Int(1);
- fra.me.REG[11] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[11])(fra.me.REG[11], REGB5);
- once_value_35 = fra.me.REG[11];
- register_static_object(&once_value_35);
- } else fra.me.REG[11] = once_value_35;
- fra.me.REG[11] = fra.me.REG[11];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[10])(fra.me.REG[10]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[8], fra.me.REG[10]);
- }
- /* ../lib/standard/kernel.nit:406 */
- REGB5 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB5 = TAG_Int(UNTAG_Int(REGB4)+UNTAG_Int(REGB5));
- /* ../lib/standard/kernel.nit:406 */
- REGB4 = REGB5;
- } else {
- /* ../lib/standard/kernel.nit:404 */
- goto label36;
- }
- }
- label36: while(0);
- } else {
- /* syntax/mmbuilder.nit:1005 */
- REGB4 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___AAttrPropdef, ID_parser___parser_nodes___AAttrPropdef)) /*cast AAttrPropdef*/;
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1007 */
- REGB4 = TAG_Int(0);
- REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1007);
- }
- fra.me.REG[10] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[4])(fra.me.REG[4], REGB4);
- REGB4 = TAG_Int(0);
- REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1007);
- }
- fra.me.REG[8] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[7])(fra.me.REG[7], REGB4);
- REGB4 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[10],fra.me.REG[8]));
- if (UNTAG_Bool(REGB4)) {
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- REGB4 = REGB3;
- }
- REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1008 */
- fra.me.REG[8] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra.me.REG[0])(fra.me.REG[0]);
- REGB4 = TAG_Int(7);
- fra.me.REG[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4);
- if (!once_value_37) {
- fra.me.REG[11] = BOX_NativeString("Redef error: Expected ");
- REGB4 = TAG_Int(22);
- fra.me.REG[11] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[11])(fra.me.REG[11], REGB4);
- once_value_37 = fra.me.REG[11];
- register_static_object(&once_value_37);
- } else fra.me.REG[11] = once_value_37;
- fra.me.REG[11] = fra.me.REG[11];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- REGB4 = TAG_Int(0);
- REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1008);
- }
- fra.me.REG[11] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[7])(fra.me.REG[7], REGB4);
- fra.me.REG[11] = CALL_standard___string___Object___to_s(fra.me.REG[11])(fra.me.REG[11]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- if (!once_value_38) {
- fra.me.REG[11] = BOX_NativeString(", as in the parameter of ");
- REGB4 = TAG_Int(25);
- fra.me.REG[11] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[11])(fra.me.REG[11], REGB4);
- once_value_38 = fra.me.REG[11];
- register_static_object(&once_value_38);
- } else fra.me.REG[11] = once_value_38;
- fra.me.REG[11] = fra.me.REG[11];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- fra.me.REG[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[11] = CALL_standard___string___Object___to_s(fra.me.REG[11])(fra.me.REG[11]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- if (!once_value_39) {
- fra.me.REG[11] = BOX_NativeString("::");
- REGB4 = TAG_Int(2);
- fra.me.REG[11] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[11])(fra.me.REG[11], REGB4);
- once_value_39 = fra.me.REG[11];
- register_static_object(&once_value_39);
- } else fra.me.REG[11] = once_value_39;
- fra.me.REG[11] = fra.me.REG[11];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- fra.me.REG[11] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- if (!once_value_40) {
- fra.me.REG[11] = BOX_NativeString(".");
- REGB4 = TAG_Int(1);
- fra.me.REG[11] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[11])(fra.me.REG[11], REGB4);
- once_value_40 = fra.me.REG[11];
- register_static_object(&once_value_40);
- } else fra.me.REG[11] = once_value_40;
- fra.me.REG[11] = fra.me.REG[11];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[11]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[10])(fra.me.REG[10]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[8], fra.me.REG[10]);
- }
- } else {
- /* syntax/mmbuilder.nit:1012 */
- nit_abort("Aborted", NULL, LOCATE_syntax___mmbuilder, 1012);
- }
- }
- }
- }
- /* syntax/mmbuilder.nit:1016 */
- REGB4 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1016);
- }
- fra.me.REG[10] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[4])(fra.me.REG[4]);
- /* syntax/mmbuilder.nit:1017 */
- REGB4 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1017);
- }
- fra.me.REG[8] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[7])(fra.me.REG[7]);
- /* syntax/mmbuilder.nit:1018 */
- REGB4 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], NIT_NULL);
- REGB4 = REGB3;
- }
- }
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
- REGB4 = REGB3;
- }
- }
- REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
- } else {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- }
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1019 */
- REGB4 = TAG_Int(9);
- fra.me.REG[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4);
- if (!once_value_41) {
- fra.me.REG[12] = BOX_NativeString("Redef error: The procedure ");
- REGB4 = TAG_Int(27);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_41 = fra.me.REG[12];
- register_static_object(&once_value_41);
- } else fra.me.REG[12] = once_value_41;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[12])(fra.me.REG[12]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- if (!once_value_42) {
- fra.me.REG[12] = BOX_NativeString("::");
- REGB4 = TAG_Int(2);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_42 = fra.me.REG[12];
- register_static_object(&once_value_42);
- } else fra.me.REG[12] = once_value_42;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- if (!once_value_43) {
- fra.me.REG[12] = BOX_NativeString(" redefines the function ");
- REGB4 = TAG_Int(24);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_43 = fra.me.REG[12];
- register_static_object(&once_value_43);
- } else fra.me.REG[12] = once_value_43;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[12])(fra.me.REG[12]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- if (!once_value_44) {
- fra.me.REG[12] = BOX_NativeString("::");
- REGB4 = TAG_Int(2);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_44 = fra.me.REG[12];
- register_static_object(&once_value_44);
- } else fra.me.REG[12] = once_value_44;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- if (!once_value_45) {
- fra.me.REG[12] = BOX_NativeString(".");
- REGB4 = TAG_Int(1);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_45 = fra.me.REG[12];
- register_static_object(&once_value_45);
- } else fra.me.REG[12] = once_value_45;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[11] = CALL_standard___string___Object___to_s(fra.me.REG[11])(fra.me.REG[11]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[11]);
- } else {
- /* syntax/mmbuilder.nit:1020 */
- REGB4 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], NIT_NULL);
- REGB4 = REGB3;
- }
- }
- REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
- REGB4 = REGB3;
- }
- }
- } else {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- }
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1021 */
- REGB4 = TAG_Int(9);
- fra.me.REG[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4);
- if (!once_value_46) {
- fra.me.REG[12] = BOX_NativeString("Redef error: The function ");
- REGB4 = TAG_Int(26);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_46 = fra.me.REG[12];
- register_static_object(&once_value_46);
- } else fra.me.REG[12] = once_value_46;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[12])(fra.me.REG[12]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- if (!once_value_47) {
- fra.me.REG[12] = BOX_NativeString("::");
- REGB4 = TAG_Int(2);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_47 = fra.me.REG[12];
- register_static_object(&once_value_47);
- } else fra.me.REG[12] = once_value_47;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- if (!once_value_48) {
- fra.me.REG[12] = BOX_NativeString(" redefines the procedure ");
- REGB4 = TAG_Int(25);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_48 = fra.me.REG[12];
- register_static_object(&once_value_48);
- } else fra.me.REG[12] = once_value_48;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[12])(fra.me.REG[12]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- if (!once_value_49) {
- fra.me.REG[12] = BOX_NativeString("::");
- REGB4 = TAG_Int(2);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_49 = fra.me.REG[12];
- register_static_object(&once_value_49);
- } else fra.me.REG[12] = once_value_49;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- if (!once_value_50) {
- fra.me.REG[12] = BOX_NativeString(".");
- REGB4 = TAG_Int(1);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB4);
- once_value_50 = fra.me.REG[12];
- register_static_object(&once_value_50);
- } else fra.me.REG[12] = once_value_50;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[12]);
- fra.me.REG[11] = CALL_standard___string___Object___to_s(fra.me.REG[11])(fra.me.REG[11]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[11]);
- } else {
- /* syntax/mmbuilder.nit:1022 */
- REGB4 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], NIT_NULL);
- REGB4 = REGB3;
- }
- }
- REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
- REGB4 = REGB3;
- }
- }
- REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
- } else {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- }
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1022);
- }
- REGB4 = CALL_metamodel___static_type___MMType_____l(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
- } else {
- REGB3 = TAG_Bool(0);
- REGB4 = REGB3;
- }
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1023 */
- fra.me.REG[11] = NIT_NULL;
- /* syntax/mmbuilder.nit:1024 */
- REGB4 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___AMethPropdef, ID_parser___parser_nodes___AMethPropdef)) /*cast AMethPropdef*/;
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1025 */
- fra.me.REG[12] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra.me.REG[0])(fra.me.REG[0]);
- REGB4 = TAG_Bool(fra.me.REG[12]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1025);
- }
- fra.me.REG[12] = CALL_parser___parser_nodes___ASignature___n_type(fra.me.REG[12])(fra.me.REG[12]);
- fra.me.REG[11] = fra.me.REG[12];
- } else {
- /* syntax/mmbuilder.nit:1026 */
- REGB4 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___AAttrPropdef, ID_parser___parser_nodes___AAttrPropdef)) /*cast AAttrPropdef*/;
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1027 */
- fra.me.REG[12] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[11] = fra.me.REG[12];
- } else {
- /* syntax/mmbuilder.nit:1028 */
- REGB4 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_parser___parser_nodes___ATypePropdef, ID_parser___parser_nodes___ATypePropdef)) /*cast ATypePropdef*/;
- if (UNTAG_Bool(REGB4)) {
- /* syntax/mmbuilder.nit:1029 */
- fra.me.REG[12] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[11] = fra.me.REG[12];
- }
- }
- }
- /* syntax/mmbuilder.nit:1031 */
- REGB4 = TAG_Int(7);
- fra.me.REG[12] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4);
- if (!once_value_51) {
- fra.me.REG[13] = BOX_NativeString("Redef error: Expected ");
- REGB4 = TAG_Int(22);
- fra.me.REG[13] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[13])(fra.me.REG[13], REGB4);
- once_value_51 = fra.me.REG[13];
- register_static_object(&once_value_51);
- } else fra.me.REG[13] = once_value_51;
- fra.me.REG[13] = fra.me.REG[13];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[13]);
- fra.me.REG[13] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[13]);
- if (!once_value_52) {
- fra.me.REG[13] = BOX_NativeString(", as in ");
- REGB4 = TAG_Int(8);
- fra.me.REG[13] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[13])(fra.me.REG[13], REGB4);
- once_value_52 = fra.me.REG[13];
- register_static_object(&once_value_52);
- } else fra.me.REG[13] = once_value_52;
- fra.me.REG[13] = fra.me.REG[13];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[13]);
- fra.me.REG[13] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[13] = CALL_standard___string___Object___to_s(fra.me.REG[13])(fra.me.REG[13]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[13]);
- if (!once_value_53) {
- fra.me.REG[13] = BOX_NativeString("::");
- REGB4 = TAG_Int(2);
- fra.me.REG[13] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[13])(fra.me.REG[13], REGB4);
- once_value_53 = fra.me.REG[13];
- register_static_object(&once_value_53);
- } else fra.me.REG[13] = once_value_53;
- fra.me.REG[13] = fra.me.REG[13];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[13]);
- fra.me.REG[13] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[13]);
- if (!once_value_54) {
- fra.me.REG[13] = BOX_NativeString(".");
- REGB4 = TAG_Int(1);
- fra.me.REG[13] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[13])(fra.me.REG[13], REGB4);
- once_value_54 = fra.me.REG[13];
- register_static_object(&once_value_54);
- } else fra.me.REG[13] = once_value_54;
- fra.me.REG[13] = fra.me.REG[13];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[12])(fra.me.REG[12], fra.me.REG[13]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[12])(fra.me.REG[12]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[11], fra.me.REG[12]);
- } else {
- /* syntax/mmbuilder.nit:1032 */
- REGB4 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1032);
- }
- REGB4 = CALL_metamodel___static_type___MMSignature_____l(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[7]);
- REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
- if (UNTAG_Bool(REGB4)) {
- fra.me.REG[7] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra.me.REG[1])(fra.me.REG[1]);
- REGB4 = CALL_toolcontext___ToolContext___error_count(fra.me.REG[7])(fra.me.REG[7]);
- REGB3 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB4));
- if (UNTAG_Bool(REGB3)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB4 = TAG_Bool((REGB0)==(REGB4));
- /* syntax/mmbuilder.nit:1032 */
- REGB3 = REGB4;
- }
- } else {
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- }
- if (UNTAG_Bool(REGB3)) {
- /* syntax/mmbuilder.nit:1034 */
- REGB3 = TAG_Int(9);
- fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
- if (!once_value_55) {
- fra.me.REG[12] = BOX_NativeString("Redef error: Incompatible redefinition of ");
- REGB3 = TAG_Int(42);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB3);
- once_value_55 = fra.me.REG[12];
- register_static_object(&once_value_55);
- } else fra.me.REG[12] = once_value_55;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- fra.me.REG[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[12])(fra.me.REG[12]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- if (!once_value_56) {
- fra.me.REG[12] = BOX_NativeString("::");
- REGB3 = TAG_Int(2);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB3);
- once_value_56 = fra.me.REG[12];
- register_static_object(&once_value_56);
- } else fra.me.REG[12] = once_value_56;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- if (!once_value_57) {
- fra.me.REG[12] = BOX_NativeString(" with ");
- REGB3 = TAG_Int(6);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB3);
- once_value_57 = fra.me.REG[12];
- register_static_object(&once_value_57);
- } else fra.me.REG[12] = once_value_57;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- fra.me.REG[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[12])(fra.me.REG[12]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- if (!once_value_58) {
- fra.me.REG[12] = BOX_NativeString("::");
- REGB3 = TAG_Int(2);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB3);
- once_value_58 = fra.me.REG[12];
- register_static_object(&once_value_58);
- } else fra.me.REG[12] = once_value_58;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- fra.me.REG[12] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- if (!once_value_59) {
- fra.me.REG[12] = BOX_NativeString("");
- REGB3 = TAG_Int(0);
- fra.me.REG[12] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[12])(fra.me.REG[12], REGB3);
- once_value_59 = fra.me.REG[12];
- register_static_object(&once_value_59);
- } else fra.me.REG[12] = once_value_59;
- fra.me.REG[12] = fra.me.REG[12];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[12]);
- fra.me.REG[7] = CALL_standard___string___Object___to_s(fra.me.REG[7])(fra.me.REG[7]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[7]);
- } else {
- /* syntax/mmbuilder.nit:1035 */
- REGB3 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- } else {
- REGB4 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- } else {
- REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], NIT_NULL);
- REGB3 = REGB4;
- }
- }
- REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- } else {
- REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- } else {
- REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
- REGB3 = REGB4;
- }
- }
- REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
- } else {
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- }
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[10],fra.me.REG[8]));
- if (UNTAG_Bool(REGB3)) {
- } else {
- REGB4 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
- if (UNTAG_Bool(REGB4)) {
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- } else {
- REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- REGB3 = REGB4;
- }
- }
- REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
- } else {
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- }
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_metamodel___abstractmetamodel___MMAttribute, ID_metamodel___abstractmetamodel___MMAttribute)) /*cast MMAttribute*/;
- } else {
- REGB4 = TAG_Bool(0);
- REGB3 = REGB4;
- }
- if (UNTAG_Bool(REGB3)) {
- /* syntax/mmbuilder.nit:1036 */
- REGB3 = TAG_Int(7);
- fra.me.REG[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
- if (!once_value_60) {
- fra.me.REG[7] = BOX_NativeString("Redef error: Expected ");
- REGB3 = TAG_Int(22);
- fra.me.REG[7] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[7])(fra.me.REG[7], REGB3);
- once_value_60 = fra.me.REG[7];
- register_static_object(&once_value_60);
- } else fra.me.REG[7] = once_value_60;
- fra.me.REG[7] = fra.me.REG[7];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[7]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- if (!once_value_61) {
- fra.me.REG[8] = BOX_NativeString(", as in ");
- REGB3 = TAG_Int(8);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB3);
- once_value_61 = fra.me.REG[8];
- register_static_object(&once_value_61);
- } else fra.me.REG[8] = once_value_61;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- fra.me.REG[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[9])(fra.me.REG[9]);
- fra.me.REG[8] = CALL_standard___string___Object___to_s(fra.me.REG[8])(fra.me.REG[8]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- if (!once_value_62) {
- fra.me.REG[8] = BOX_NativeString("::");
- REGB3 = TAG_Int(2);
- fra.me.REG[8] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[8])(fra.me.REG[8], REGB3);
- once_value_62 = fra.me.REG[8];
- register_static_object(&once_value_62);
- } else fra.me.REG[8] = once_value_62;
- fra.me.REG[8] = fra.me.REG[8];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[8]);
- fra.me.REG[9] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[9]);
- if (!once_value_63) {
- fra.me.REG[9] = BOX_NativeString(".");
- REGB3 = TAG_Int(1);
- fra.me.REG[9] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[9])(fra.me.REG[9], REGB3);
- once_value_63 = fra.me.REG[9];
- register_static_object(&once_value_63);
- } else fra.me.REG[9] = once_value_63;
- fra.me.REG[9] = fra.me.REG[9];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[9]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[10])(fra.me.REG[10]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[10]);
- }
- }
- }
- }
- }
- /* ../lib/standard/collection/array.nit:275 */
- REGB3 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
- /* ../lib/standard/collection/array.nit:275 */
- REGB2 = REGB3;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label64;
- }
- }
- label64: while(0);
- label11: while(0);
- /* syntax/mmbuilder.nit:1040 */
- REGB2 = TAG_Int(1);
- REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
- if (UNTAG_Bool(REGB3)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB2 = TAG_Bool((REGB1)==(REGB2));
- /* syntax/mmbuilder.nit:1040 */
- REGB3 = REGB2;
- }
- REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
- if (UNTAG_Bool(REGB3)) {
- REGB3 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra.me.REG[3])(fra.me.REG[3]);
- REGB2 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB1));
- if (UNTAG_Bool(REGB2)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB1 = TAG_Bool((REGB3)==(REGB1));
- /* syntax/mmbuilder.nit:1040 */
- REGB2 = REGB1;
- }
- REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
- } else {
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:1041 */
- REGB2 = TAG_Int(5);
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
- if (!once_value_65) {
- fra.me.REG[6] = BOX_NativeString("Redef error: ");
- REGB2 = TAG_Int(13);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB2);
- once_value_65 = fra.me.REG[6];
- register_static_object(&once_value_65);
- } else fra.me.REG[6] = once_value_65;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
- fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
- if (!once_value_66) {
- fra.me.REG[6] = BOX_NativeString("::");
- REGB2 = TAG_Int(2);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB2);
- once_value_66 = fra.me.REG[6];
- register_static_object(&once_value_66);
- } else fra.me.REG[6] = once_value_66;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
- fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
- if (!once_value_67) {
- fra.me.REG[2] = BOX_NativeString(" redefinition cannot change visibility.");
- REGB2 = TAG_Int(39);
- fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB2);
- once_value_67 = fra.me.REG[2];
- register_static_object(&once_value_67);
- } else fra.me.REG[2] = once_value_67;
- fra.me.REG[2] = fra.me.REG[2];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]);
- }
- /* syntax/mmbuilder.nit:1043 */
- fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[1])(fra.me.REG[1]);
- REGB2 = TAG_Bool(1);
- CALL_syntax___syntax_base___MMGlobalProperty___check_visibility(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1], fra.me.REG[0], fra.me.REG[4], REGB2);
- label4: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::readmethod)";
-val_t syntax___mmbuilder___AAttrPropdef___readmethod(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___mmbuilder;
- fra.me.line = 1048;
- fra.me.meth = LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1048 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::writemethod)";
-val_t syntax___mmbuilder___AAttrPropdef___writemethod(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___mmbuilder;
- fra.me.line = 1049;
- fra.me.meth = LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1049 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AAttrPropdef___prop[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::prop)";
-val_t syntax___mmbuilder___AAttrPropdef___prop(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___mmbuilder;
- fra.me.line = 1051;
- fra.me.meth = LOCATE_syntax___mmbuilder___AAttrPropdef___prop;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1051 */
- fra.me.REG[1] = fra.me.REG[0];
- fra.me.REG[1] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1051);
- }
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder[] = "mmbuilder::AAttrPropdef::(mmbuilder::ANode::accept_property_builder)";
-void syntax___mmbuilder___AAttrPropdef___accept_property_builder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_1; /* Once value */
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1053;
- fra.me.meth = LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 6;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1053 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1055 */
- CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1057 */
- fra.me.REG[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___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)) {
- /* syntax/mmbuilder.nit:1058 */
- fra.me.REG[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1058);
- }
- fra.me.REG[1] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
- } else {
- /* syntax/mmbuilder.nit:1060 */
- if (!once_value_1) {
- fra.me.REG[0] = BOX_NativeString("@");
- REGB0 = TAG_Int(1);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- 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];
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1060);
- }
- fra.me.REG[4] = CALL_parser___parser_nodes___Token___text(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___string___String_____plus(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- fra.me.REG[4] = CALL_symbol___String___to_symbol(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[1] = fra.me.REG[4];
- }
- /* syntax/mmbuilder.nit:1062 */
- fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- /* syntax/mmbuilder.nit:1063 */
- fra.me.REG[0] = NEW_MMSrcAttribute_syntax___syntax_base___MMSrcAttribute___init(fra.me.REG[1], fra.me.REG[4], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1064 */
- ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra.me.REG[2]) = fra.me.REG[0];
- /* syntax/mmbuilder.nit:1065 */
- fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:1067 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(1);
- } else {
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1068 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1069 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1069);
- }
- fra.me.REG[0] = CALL_parser___parser_nodes___Token___text(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Int(1);
- fra.me.REG[0] = CALL_standard___string___AbstractString___substring_from(fra.me.REG[0])(fra.me.REG[0], REGB0);
- fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[1] = fra.me.REG[0];
- } else {
- /* syntax/mmbuilder.nit:1071 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1071);
- }
- fra.me.REG[0] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[1] = fra.me.REG[0];
- }
- /* syntax/mmbuilder.nit:1073 */
- fra.me.REG[0] = NEW_MMReadImplementationMethod_syntax___syntax_base___MMReadImplementationMethod___init(fra.me.REG[1], fra.me.REG[4], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1074 */
- ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra.me.REG[2]) = fra.me.REG[0];
- /* syntax/mmbuilder.nit:1075 */
- fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3], fra.me.REG[0]);
- }
- /* syntax/mmbuilder.nit:1077 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(1);
- } else {
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1078 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1079 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1079);
- }
- fra.me.REG[0] = CALL_parser___parser_nodes___Token___text(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = TAG_Int(1);
- fra.me.REG[0] = CALL_standard___string___AbstractString___substring_from(fra.me.REG[0])(fra.me.REG[0], REGB0);
- if (!once_value_2) {
- fra.me.REG[5] = BOX_NativeString("=");
- REGB0 = TAG_Int(1);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- 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_standard___string___String_____plus(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5]);
- fra.me.REG[5] = CALL_symbol___String___to_symbol(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[1] = fra.me.REG[5];
- } else {
- /* syntax/mmbuilder.nit:1081 */
- fra.me.REG[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1081);
- }
- fra.me.REG[5] = CALL_parser___parser_nodes___Token___text(fra.me.REG[5])(fra.me.REG[5]);
- if (!once_value_3) {
- fra.me.REG[0] = BOX_NativeString("=");
- REGB0 = TAG_Int(1);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- once_value_3 = fra.me.REG[0];
- register_static_object(&once_value_3);
- } else fra.me.REG[0] = once_value_3;
- fra.me.REG[0] = fra.me.REG[0];
- fra.me.REG[0] = CALL_standard___string___String_____plus(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
- fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[1] = fra.me.REG[0];
- }
- /* syntax/mmbuilder.nit:1083 */
- fra.me.REG[4] = NEW_MMWriteImplementationMethod_syntax___syntax_base___MMWriteImplementationMethod___init(fra.me.REG[1], fra.me.REG[4], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1084 */
- ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra.me.REG[2]) = fra.me.REG[4];
- /* syntax/mmbuilder.nit:1085 */
- fra.me.REG[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4]);
- }
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier[] = "mmbuilder::AAttrPropdef::(mmbuilder::ANode::accept_property_verifier)";
-void syntax___mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t REGB3;
- val_t tmp;
- static val_t once_value_2; /* Once value */
- 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 */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1089;
- fra.me.meth = LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 7;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1089 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1091 */
- CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1092 */
- fra.me.REG[1] = NIT_NULL;
- /* syntax/mmbuilder.nit:1093 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1094 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1094);
- }
- fra.me.REG[4] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:1095 */
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[1] = fra.me.REG[4];
- } else {
- goto label1;
- }
- } else {
- /* syntax/mmbuilder.nit:1096 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1097 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1097);
- }
- fra.me.REG[4] = CALL_syntax___mmbuilder___AExpr___get_easy_stype(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
- fra.me.REG[1] = fra.me.REG[4];
- }
- }
- /* syntax/mmbuilder.nit:1100 */
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1101 */
- REGB0 = TAG_Int(5);
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_2) {
- fra.me.REG[5] = BOX_NativeString("Not yet implemented: Attribute definition ");
- REGB0 = TAG_Int(42);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- 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];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___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(2);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_3 = fra.me.REG[5];
- register_static_object(&once_value_3);
- } else fra.me.REG[5] = once_value_3;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- if (!once_value_4) {
- fra.me.REG[5] = BOX_NativeString(" requires an explicit type.");
- REGB0 = TAG_Int(27);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_4 = fra.me.REG[5];
- register_static_object(&once_value_4);
- } else fra.me.REG[5] = once_value_4;
- fra.me.REG[5] = fra.me.REG[5];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[4]);
- /* syntax/mmbuilder.nit:1102 */
- goto label1;
- }
- /* syntax/mmbuilder.nit:1105 */
- fra.me.REG[4] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1106 */
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
- fra.me.REG[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[6])(fra.me.REG[6]);
- fra.me.REG[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[5], fra.me.REG[1], fra.me.REG[6]);
- /* syntax/mmbuilder.nit:1107 */
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
- /* syntax/mmbuilder.nit:1108 */
- fra.me.REG[5] = CALL_parser___parser_nodes___AAttrPropdef___n_visibility(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_syntax___mmbuilder___AVisibility___level(fra.me.REG[5])(fra.me.REG[5]);
- /* syntax/mmbuilder.nit:1109 */
- fra.me.REG[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[5] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- CALL_syntax___mmbuilder___APropdef___process_and_check(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4], REGB1, REGB0);
- /* syntax/mmbuilder.nit:1110 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(1);
- } else {
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB2 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB2 = REGB3;
- }
- }
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:1111 */
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1111);
- }
- /* syntax/mmbuilder.nit:1112 */
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
- /* syntax/mmbuilder.nit:1113 */
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1113);
- }
- fra.me.REG[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(1);
- } else {
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB2 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB2 = REGB3;
- }
- }
- if (UNTAG_Bool(REGB2)) {
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB2 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB2 = REGB3;
- }
- }
- REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
- } else {
- REGB3 = TAG_Bool(0);
- REGB2 = REGB3;
- }
- REGB1 = REGB2;
- }
- CALL_syntax___mmbuilder___APropdef___process_and_check(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4], REGB1, REGB0);
- /* syntax/mmbuilder.nit:1114 */
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1114);
- }
- CALL_syntax___mmbuilder___AType___check_visibility(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3], fra.me.REG[4]);
- }
- }
- /* syntax/mmbuilder.nit:1116 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(1);
- } else {
- fra.me.REG[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB3)) {
- REGB3 = TAG_Bool(0);
- REGB2 = REGB3;
- } else {
- REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB2 = REGB3;
- }
- }
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:1117 */
- fra.me.REG[4] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1117);
- }
- /* syntax/mmbuilder.nit:1118 */
- REGB1 = TAG_Int(0);
- fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_5) {
- if (!once_value_6) {
- fra.me.REG[6] = BOX_NativeString("value");
- REGB1 = TAG_Int(5);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB1);
- once_value_6 = fra.me.REG[6];
- register_static_object(&once_value_6);
- } else fra.me.REG[6] = once_value_6;
- fra.me.REG[6] = fra.me.REG[6];
- fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
- once_value_5 = fra.me.REG[6];
- register_static_object(&once_value_5);
- } else fra.me.REG[6] = once_value_5;
- fra.me.REG[6] = fra.me.REG[6];
- fra.me.REG[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra.me.REG[1], fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6]);
- fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_items(fra.me.REG[0]);
- fra.me.REG[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[6])(fra.me.REG[6]);
- fra.me.REG[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[0], NIT_NULL, fra.me.REG[6]);
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
- /* syntax/mmbuilder.nit:1120 */
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:1121 */
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Int(3);
- REGB0 = REGB1;
- } else {
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1121);
- }
- fra.me.REG[6] = CALL_parser___parser_nodes___AAble___n_visibility(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1121);
- }
- REGB1 = CALL_syntax___mmbuilder___AVisibility___level(fra.me.REG[6])(fra.me.REG[6]);
- REGB0 = REGB1;
- }
- }
- /* syntax/mmbuilder.nit:1123 */
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1123);
- }
- fra.me.REG[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- } else {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- }
- CALL_syntax___mmbuilder___APropdef___process_and_check(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4], REGB1, REGB0);
- /* syntax/mmbuilder.nit:1124 */
- fra.me.REG[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[2] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1124);
- }
- CALL_syntax___mmbuilder___AType___check_visibility(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4]);
- }
- }
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor[] = "mmbuilder::AAttrPropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
-void syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1128;
- fra.me.meth = LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:1128 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1130 */
- fra.me.REG[2] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra.me.REG[2]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1131 */
- CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1132 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AMethPropdef___name[] = "mmbuilder::AMethPropdef::name";
-val_t syntax___mmbuilder___AMethPropdef___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___mmbuilder;
- fra.me.line = 1137;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMethPropdef___name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1137 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AMethPropdef____name(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AMethPropdef___method[] = "mmbuilder::AMethPropdef::(syntax_base::AMethPropdef::method)";
-val_t syntax___mmbuilder___AMethPropdef___method(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___mmbuilder;
- fra.me.line = 1141;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMethPropdef___method;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1141 */
- fra.me.REG[1] = fra.me.REG[0];
- fra.me.REG[1] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1141);
- }
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder[] = "mmbuilder::AMethPropdef::(mmbuilder::ANode::accept_property_builder)";
-void syntax___mmbuilder___AMethPropdef___accept_property_builder(val_t p0, val_t p1){
- 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_1; /* Once value */
- static val_t once_value_2; /* Once value */
- 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 */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1143;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 5;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1143 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1145 */
- CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1147 */
- fra.me.REG[1] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1148 */
- REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_parser___parser_nodes___AInitPropdef, ID_parser___parser_nodes___AInitPropdef)) /*cast AInitPropdef*/;
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1149 */
- if (!once_value_1) {
- if (!once_value_2) {
- fra.me.REG[1] = BOX_NativeString("init");
- REGB0 = TAG_Int(4);
- fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
- 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];
- } else {
- /* syntax/mmbuilder.nit:1151 */
- if (!once_value_3) {
- if (!once_value_4) {
- fra.me.REG[4] = BOX_NativeString("main");
- REGB0 = TAG_Int(4);
- fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
- once_value_4 = fra.me.REG[4];
- register_static_object(&once_value_4);
- } else fra.me.REG[4] = once_value_4;
- fra.me.REG[4] = fra.me.REG[4];
- fra.me.REG[4] = CALL_symbol___String___to_symbol(fra.me.REG[4])(fra.me.REG[4]);
- once_value_3 = fra.me.REG[4];
- register_static_object(&once_value_3);
- } else fra.me.REG[4] = once_value_3;
- fra.me.REG[4] = fra.me.REG[4];
- fra.me.REG[1] = fra.me.REG[4];
- }
- } else {
- /* syntax/mmbuilder.nit:1154 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1154);
- }
- fra.me.REG[4] = CALL_syntax___syntax_base___AMethid___name(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1154);
- }
- fra.me.REG[1] = fra.me.REG[4];
- /* syntax/mmbuilder.nit:1156 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1156);
- }
- fra.me.REG[4] = CALL_syntax___syntax_base___AMethid___name(fra.me.REG[4])(fra.me.REG[4]);
- if (!once_value_5) {
- if (!once_value_6) {
- fra.me.REG[0] = BOX_NativeString("-");
- REGB0 = TAG_Int(1);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
- once_value_6 = fra.me.REG[0];
- register_static_object(&once_value_6);
- } else fra.me.REG[0] = once_value_6;
- fra.me.REG[0] = fra.me.REG[0];
- fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- once_value_5 = fra.me.REG[0];
- register_static_object(&once_value_5);
- } else fra.me.REG[0] = once_value_5;
- fra.me.REG[0] = fra.me.REG[0];
- REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[4]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1157 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra.me.REG[2])(fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1158 */
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1158);
- }
- fra.me.REG[0] = CALL_parser___parser_nodes___ASignature___n_params(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
- REGB1 = TAG_Int(0);
- REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
- if (UNTAG_Bool(REGB2)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB1 = TAG_Bool((REGB0)==(REGB1));
- /* syntax/mmbuilder.nit:1158 */
- REGB2 = REGB1;
- }
- } else {
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:1159 */
- if (!once_value_7) {
- if (!once_value_8) {
- fra.me.REG[0] = BOX_NativeString("unary -");
- REGB2 = TAG_Int(7);
- fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB2);
- once_value_8 = fra.me.REG[0];
- register_static_object(&once_value_8);
- } else fra.me.REG[0] = once_value_8;
- fra.me.REG[0] = fra.me.REG[0];
- fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- once_value_7 = fra.me.REG[0];
- register_static_object(&once_value_7);
- } else fra.me.REG[0] = once_value_7;
- fra.me.REG[0] = fra.me.REG[0];
- fra.me.REG[1] = fra.me.REG[0];
- }
- }
- }
- /* syntax/mmbuilder.nit:1163 */
- ATTR_syntax___mmbuilder___AMethPropdef____name(fra.me.REG[2]) = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1164 */
- fra.me.REG[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[0] = NEW_MMMethSrcMethod_syntax___syntax_base___MMMethSrcMethod___init(fra.me.REG[1], fra.me.REG[0], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1165 */
- ATTR_syntax___mmbuilder___AMethPropdef____method(fra.me.REG[2]) = fra.me.REG[0];
- /* syntax/mmbuilder.nit:1166 */
- fra.me.REG[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier[] = "mmbuilder::AMethPropdef::(mmbuilder::ANode::accept_property_verifier)";
-void syntax___mmbuilder___AMethPropdef___accept_property_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t REGB3;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1169;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 5;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1169 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1171 */
- fra.me.REG[4] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
- CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- /* syntax/mmbuilder.nit:1172 */
- CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1174 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB0)) {
- goto label1;
- }
- /* syntax/mmbuilder.nit:1176 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra.me.REG[1])(fra.me.REG[1]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- } else {
- /* syntax/mmbuilder.nit:1179 */
- fra.me.REG[1] = CALL_syntax___syntax_base___AMethPropdef___method(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1179);
- }
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
- }
- /* syntax/mmbuilder.nit:1181 */
- REGB0 = TAG_Int(1);
- /* syntax/mmbuilder.nit:1182 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1182);
- }
- REGB1 = CALL_syntax___mmbuilder___AVisibility___level(fra.me.REG[4])(fra.me.REG[4]);
- REGB2 = TAG_Int(1);
- REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB3)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:244 */
- REGB2 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB2));
- } else {
- /* syntax/mmbuilder.nit:1182 */
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- }
- if (UNTAG_Bool(REGB2)) {
- /* syntax/mmbuilder.nit:1183 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1183);
- }
- REGB2 = CALL_syntax___mmbuilder___AVisibility___level(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = REGB2;
- }
- /* syntax/mmbuilder.nit:1185 */
- fra.me.REG[4] = CALL_syntax___syntax_base___AMethPropdef___method(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[1] = CALL_parser___parser_nodes___AMethPropdef___n_kwredef(fra.me.REG[2])(fra.me.REG[2]);
- REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB2 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
- REGB2 = REGB1;
- }
- }
- REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
- CALL_syntax___mmbuilder___APropdef___process_and_check(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4], REGB2, REGB0);
- /* syntax/mmbuilder.nit:1186 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB0 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB0 = REGB2;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1186);
- }
- CALL_syntax___mmbuilder___ASignature___check_visibility(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3], fra.me.REG[2]);
- }
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor[] = "mmbuilder::AMethPropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
-void syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1189;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:1189 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1191 */
- fra.me.REG[2] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra.me.REG[2]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1192 */
- CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1193 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check[] = "mmbuilder::AMainMethPropdef::(mmbuilder::APropdef::process_and_check)";
-void syntax___mmbuilder___AMainMethPropdef___process_and_check(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4){
- 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___mmbuilder;
- fra.me.line = 1198;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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] = p2;
- REGB0 = p3;
- REGB1 = p4;
- /* syntax/mmbuilder.nit:1200 */
- fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
- CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra.me.REG[0])(fra.me.REG[0], REGB1);
- /* syntax/mmbuilder.nit:1201 */
- fra.me.REG[0] = NEW_Array_standard___collection___array___Array___init();
- fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[1] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[0], NIT_NULL, fra.me.REG[1]);
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier[] = "mmbuilder::AExternPropdef::(mmbuilder::ANode::accept_property_verifier)";
-void syntax___mmbuilder___AExternPropdef___accept_property_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1207;
- fra.me.meth = LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- 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/mmbuilder.nit:1207 */
- fra.me.REG[2] = fra.me.REG[0];
- /* syntax/mmbuilder.nit:1209 */
- CALL_SUPER_syntax___mmbuilder___AExternPropdef___accept_property_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1211 */
- fra.me.REG[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___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)) {
- /* syntax/mmbuilder.nit:1212 */
- fra.me.REG[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1212);
- }
- fra.me.REG[1] = CALL_parser___parser_nodes___Token___text(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1213 */
- REGB0 = TAG_Int(1);
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1213 */
- REGB2 = TAG_Int(2);
- /* ../lib/standard/kernel.nit:247 */
- REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
- /* syntax/mmbuilder.nit:1213 */
- fra.me.REG[0] = CALL_standard___string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB0, REGB2);
- fra.me.REG[1] = fra.me.REG[0];
- } else {
- /* syntax/mmbuilder.nit:1215 */
- fra.me.REG[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = CALL_primitive_info___MMMethod___default_extern_name(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[1] = fra.me.REG[0];
- }
- /* syntax/mmbuilder.nit:1217 */
- fra.me.REG[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra.me.REG[2])(fra.me.REG[2]);
- CALL_syntax___syntax_base___MMMethSrcMethod___extern_name__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ATypePropdef___prop[] = "mmbuilder::ATypePropdef::(syntax_base::ATypePropdef::prop)";
-val_t syntax___mmbuilder___ATypePropdef___prop(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___mmbuilder;
- fra.me.line = 1222;
- fra.me.meth = LOCATE_syntax___mmbuilder___ATypePropdef___prop;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1222 */
- fra.me.REG[1] = fra.me.REG[0];
- fra.me.REG[1] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1222);
- }
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder[] = "mmbuilder::ATypePropdef::(mmbuilder::ANode::accept_property_builder)";
-void syntax___mmbuilder___ATypePropdef___accept_property_builder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1225;
- fra.me.meth = LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:1225 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1227 */
- CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1228 */
- fra.me.REG[1] = CALL_parser___parser_nodes___ATypePropdef___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[1] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1229 */
- fra.me.REG[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[0] = NEW_MMSrcTypeProperty_syntax___syntax_base___MMSrcTypeProperty___init(fra.me.REG[1], fra.me.REG[0], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1230 */
- ATTR_syntax___mmbuilder___ATypePropdef____prop(fra.me.REG[2]) = fra.me.REG[0];
- /* syntax/mmbuilder.nit:1231 */
- fra.me.REG[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier[] = "mmbuilder::ATypePropdef::(mmbuilder::ANode::accept_property_verifier)";
-void syntax___mmbuilder___ATypePropdef___accept_property_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[4];} 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___mmbuilder;
- fra.me.line = 1234;
- fra.me.meth = LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 5;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1234 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1236 */
- CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1237 */
- fra.me.REG[1] = NEW_Array_standard___collection___array___Array___init();
- fra.me.REG[0] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
- fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]);
- /* syntax/mmbuilder.nit:1238 */
- fra.me.REG[0] = CALL_syntax___syntax_base___ATypePropdef___prop(fra.me.REG[2])(fra.me.REG[2]);
- CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
- /* syntax/mmbuilder.nit:1239 */
- fra.me.REG[4] = CALL_parser___parser_nodes___ATypePropdef___n_visibility(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_syntax___mmbuilder___AVisibility___level(fra.me.REG[4])(fra.me.REG[4]);
- /* syntax/mmbuilder.nit:1240 */
- fra.me.REG[4] = CALL_syntax___syntax_base___ATypePropdef___prop(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = CALL_parser___parser_nodes___ATypePropdef___n_kwredef(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- CALL_syntax___mmbuilder___APropdef___process_and_check(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4], REGB1, REGB0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor[] = "mmbuilder::ATypePropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
-void syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1243;
- fra.me.meth = LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:1243 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1245 */
- fra.me.REG[2] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra.me.REG[2]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1246 */
- CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1247 */
- CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___MethidAccumulator___name[] = "mmbuilder::MethidAccumulator::name";
-val_t syntax___mmbuilder___MethidAccumulator___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___mmbuilder;
- fra.me.line = 1254;
- fra.me.meth = LOCATE_syntax___mmbuilder___MethidAccumulator___name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1254 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder, 1254);
- }
- fra.me.REG[0] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___MethidAccumulator___visit[] = "mmbuilder::MethidAccumulator::(parser_nodes::Visitor::visit)";
-void syntax___mmbuilder___MethidAccumulator___visit(val_t p0, val_t p1){
- 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___mmbuilder;
- fra.me.line = 1255;
- fra.me.meth = LOCATE_syntax___mmbuilder___MethidAccumulator___visit;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:1257 */
- REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___Token, ID_parser___parser_nodes___Token)) /*cast Token*/;
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1258 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder, 1258);
- }
- fra.me.REG[2] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra.me.REG[0]);
- fra.me.REG[3] = CALL_parser___parser_nodes___Token___text(fra.me.REG[1])(fra.me.REG[1]);
- CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- } else {
- /* syntax/mmbuilder.nit:1260 */
- CALL_parser___parser_nodes___ANode___visit_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- }
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AMethid___name[] = "mmbuilder::AMethid::(syntax_base::AMethid::name)";
-val_t syntax___mmbuilder___AMethid___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___mmbuilder;
- fra.me.line = 1266;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMethid___name;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1266 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AMethid____name(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AMethid___accept_property_builder[] = "mmbuilder::AMethid::(mmbuilder::ANode::accept_property_builder)";
-void syntax___mmbuilder___AMethid___accept_property_builder(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1268;
- fra.me.meth = LOCATE_syntax___mmbuilder___AMethid___accept_property_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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;
- /* syntax/mmbuilder.nit:1268 */
- fra.me.REG[2] = fra.me.REG[0];
- /* syntax/mmbuilder.nit:1270 */
- fra.me.REG[3] = NEW_MethidAccumulator_parser___parser_nodes___Visitor___init();
- /* syntax/mmbuilder.nit:1271 */
- CALL_parser___parser_nodes___Visitor___enter_visit(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1272 */
- fra.me.REG[3] = CALL_syntax___mmbuilder___MethidAccumulator___name(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
- ATTR_syntax___mmbuilder___AMethid____name(fra.me.REG[2]) = fra.me.REG[3];
- /* syntax/mmbuilder.nit:1273 */
- CALL_SUPER_syntax___mmbuilder___AMethid___accept_property_builder(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier[] = "mmbuilder::ASignature::(mmbuilder::ANode::accept_property_verifier)";
-void syntax___mmbuilder___ASignature___accept_property_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_2; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1278;
- fra.me.meth = LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 8;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1278 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1280 */
- CALL_SUPER_syntax___mmbuilder___ASignature___accept_property_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1281 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1282 */
- goto label1;
- } else {
- /* syntax/mmbuilder.nit:1283 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1284 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[1] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[1],fra.me.REG[4]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(1);
- } else {
- fra.me.REG[4] = CALL_parser___parser_nodes___ASignature___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1285 */
- fra.me.REG[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[4] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[4])(fra.me.REG[4]);
- if (!once_value_2) {
- fra.me.REG[1] = BOX_NativeString("Syntax error: untyped parameter.");
- REGB0 = TAG_Int(32);
- fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
- 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];
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1286 */
- goto label1;
- }
- } else {
- /* syntax/mmbuilder.nit:1288 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(1);
- } else {
- fra.me.REG[1] = CALL_parser___parser_nodes___ASignature___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
- REGB1 = REGB2;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1289 */
- fra.me.REG[1] = NEW_Array_standard___collection___array___Array___init();
- /* syntax/mmbuilder.nit:1290 */
- fra.me.REG[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[4])(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:1291 */
- fra.me.REG[7] = CALL_syntax___mmbuilder___AParam___stype(fra.me.REG[6])(fra.me.REG[6]);
- REGB1 = TAG_Bool(fra.me.REG[7]!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1291);
- }
- fra.me.REG[6] = CALL_parser___parser_nodes___AParam___n_id(fra.me.REG[6])(fra.me.REG[6]);
- fra.me.REG[6] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
- fra.me.REG[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra.me.REG[7], fra.me.REG[6]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label3;
- }
- }
- label3: while(0);
- /* syntax/mmbuilder.nit:1293 */
- fra.me.REG[0] = NIT_NULL;
- /* syntax/mmbuilder.nit:1294 */
- fra.me.REG[5] = CALL_parser___parser_nodes___ASignature___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1295 */
- fra.me.REG[2] = CALL_parser___parser_nodes___ASignature___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1295);
- }
- fra.me.REG[2] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- fra.me.REG[0] = fra.me.REG[2];
- /* syntax/mmbuilder.nit:1296 */
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1297 */
- fra.me.REG[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = TAG_Bool(1);
- CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
- /* syntax/mmbuilder.nit:1298 */
- goto label1;
- }
- }
- /* syntax/mmbuilder.nit:1301 */
- fra.me.REG[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[1], fra.me.REG[0], fra.me.REG[5]);
- CALL_syntax___mmbuilder___SignatureBuilder___signature__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
- /* syntax/mmbuilder.nit:1302 */
- fra.me.REG[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra.me.REG[5])(fra.me.REG[5]);
- REGB1 = TAG_Int(0);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:243 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
- /* syntax/mmbuilder.nit:1302 */
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:1303 */
- fra.me.REG[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB1 = CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1303);
- }
- CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra.me.REG[5])(fra.me.REG[5], REGB1);
- }
- /* syntax/mmbuilder.nit:1305 */
- fra.me.REG[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra.me.REG[5])(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB1 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB0)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[0] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
- /* syntax/mmbuilder.nit:1306 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1306);
- }
- fra.me.REG[1] = CALL_metamodel___static_type___MMSignature___closures(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = REGB0;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label4;
- }
- }
- label4: while(0);
- }
- }
- }
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___ASignature___check_visibility[] = "mmbuilder::ASignature::check_visibility";
-void syntax___mmbuilder___ASignature___check_visibility(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 REGB1;
- val_t REGB2;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1311;
- fra.me.meth = LOCATE_syntax___mmbuilder___ASignature___check_visibility;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- fra.me.nitni_local_ref_head = NULL;
- 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/mmbuilder.nit:1314 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra.me.REG[3])(fra.me.REG[3]);
- REGB1 = TAG_Int(3);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:243 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
- /* syntax/mmbuilder.nit:1314 */
- if (UNTAG_Bool(REGB1)) {
- goto label1;
- }
- /* syntax/mmbuilder.nit:1315 */
- fra.me.REG[3] = CALL_parser___parser_nodes___ASignature___n_params(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[3])(fra.me.REG[3], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___ASignature___check_visibility_2));
- /* syntax/mmbuilder.nit:1318 */
- fra.me.REG[3] = CALL_parser___parser_nodes___ASignature___n_type(fra.me.REG[0])(fra.me.REG[0]);
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(0);
- REGB1 = REGB0;
- } else {
- REGB0 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- REGB1 = REGB0;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- if (UNTAG_Bool(REGB1)) {
- fra.me.REG[0] = CALL_parser___parser_nodes___ASignature___n_type(fra.me.REG[0])(fra.me.REG[0]);
- REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1318);
- }
- CALL_syntax___mmbuilder___AType___check_visibility(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
- }
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
- void OC_syntax___mmbuilder___ASignature___check_visibility_2(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[1];} 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___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___ASignature___check_visibility;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.closure_ctx = closctx_param;
- fra.me.closure_funs = CREG;
- fra.me.REG[0] = p0;
- CREG[0] = clos_fun0;
- /* syntax/mmbuilder.nit:1316 */
- fra.me.REG[1] = CALL_parser___parser_nodes___AParam___n_type(fra.me.REG[0])(fra.me.REG[0]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___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)) {
- fra.me.REG[0] = CALL_parser___parser_nodes___AParam___n_type(fra.me.REG[0])(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___mmbuilder, 1316);
- }
- CALL_syntax___mmbuilder___AType___check_visibility(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1], closctx->REG[2]);
- }
- stack_frame_head = fra.me.prev;
- return;
- }
-static const char LOCATE_syntax___mmbuilder___AParam___position[] = "mmbuilder::AParam::(syntax_base::AParam::position)";
-val_t syntax___mmbuilder___AParam___position(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___mmbuilder;
- fra.me.line = 1323;
- fra.me.meth = LOCATE_syntax___mmbuilder___AParam___position;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1323 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___AParam____position(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder, 1323);
- }
- REGB0 = ATTR_syntax___mmbuilder___AParam____position(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AParam___variable[] = "mmbuilder::AParam::(syntax_base::AParam::variable)";
-val_t syntax___mmbuilder___AParam___variable(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___mmbuilder;
- fra.me.line = 1325;
- fra.me.meth = LOCATE_syntax___mmbuilder___AParam___variable;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1325 */
- fra.me.REG[1] = fra.me.REG[0];
- fra.me.REG[1] = ATTR_syntax___mmbuilder___AParam____variable(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1325);
- }
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___AParam___stype[] = "mmbuilder::AParam::stype";
-val_t syntax___mmbuilder___AParam___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___mmbuilder;
- fra.me.line = 1328;
- fra.me.meth = LOCATE_syntax___mmbuilder___AParam___stype;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1328 */
- fra.me.REG[0] = ATTR_syntax___mmbuilder___AParam____stype(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_syntax___mmbuilder___AParam___stype__eq[] = "mmbuilder::AParam::stype=";
-void syntax___mmbuilder___AParam___stype__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___mmbuilder;
- fra.me.line = 1328;
- fra.me.meth = LOCATE_syntax___mmbuilder___AParam___stype__eq;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1328 */
- ATTR_syntax___mmbuilder___AParam____stype(fra.me.REG[0]) = fra.me.REG[1];
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AParam___accept_property_verifier[] = "mmbuilder::AParam::(mmbuilder::ANode::accept_property_verifier)";
-void syntax___mmbuilder___AParam___accept_property_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t REGB3;
- val_t tmp;
- static val_t once_value_2; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1331;
- fra.me.meth = LOCATE_syntax___mmbuilder___AParam___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 7;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1331 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1333 */
- CALL_SUPER_syntax___mmbuilder___AParam___accept_property_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1334 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[1])(fra.me.REG[1]);
- /* ../lib/standard/collection/array.nit:24 */
- REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1334 */
- ATTR_syntax___mmbuilder___AParam____position(fra.me.REG[2]) = REGB0;
- /* syntax/mmbuilder.nit:1335 */
- fra.me.REG[1] = CALL_parser___parser_nodes___AParam___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[1] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
- fra.me.REG[0] = CALL_parser___parser_nodes___AParam___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = NEW_ParamVariable_syntax___syntax_base___ParamVariable___init(fra.me.REG[1], fra.me.REG[0]);
- ATTR_syntax___mmbuilder___AParam____variable(fra.me.REG[2]) = fra.me.REG[0];
- /* syntax/mmbuilder.nit:1336 */
- fra.me.REG[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[0] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1337 */
- fra.me.REG[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[0] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1338 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AParam___n_type(fra.me.REG[2])(fra.me.REG[2]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1339 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AParam___n_type(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1339);
- }
- fra.me.REG[0] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
- /* syntax/mmbuilder.nit:1340 */
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1341 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = TAG_Bool(1);
- CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
- /* syntax/mmbuilder.nit:1342 */
- goto label1;
- }
- /* syntax/mmbuilder.nit:1344 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra.me.REG[1])(fra.me.REG[1]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:1345 */
- CALL_syntax___mmbuilder___AParam___stype__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:1346 */
- REGB1 = CALL_syntax___mmbuilder___AParam___is_vararg(fra.me.REG[2])(fra.me.REG[2]);
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:1347 */
- fra.me.REG[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB1 = CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra.me.REG[6])(fra.me.REG[6]);
- REGB2 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:246 */
- REGB2 = TAG_Int(-UNTAG_Int(REGB2));
- /* syntax/mmbuilder.nit:1347 */
- REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
- if (UNTAG_Bool(REGB3)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB2 = TAG_Bool((REGB1)==(REGB2));
- /* syntax/mmbuilder.nit:1347 */
- REGB3 = REGB2;
- }
- if (UNTAG_Bool(REGB3)) {
- /* syntax/mmbuilder.nit:1348 */
- fra.me.REG[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB3 = CALL_syntax___syntax_base___AParam___position(fra.me.REG[5])(fra.me.REG[5]);
- CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(fra.me.REG[6])(fra.me.REG[6], REGB3);
- } else {
- /* syntax/mmbuilder.nit:1350 */
- if (!once_value_2) {
- fra.me.REG[6] = BOX_NativeString("Error: A vararg parameter is already defined.");
- REGB3 = TAG_Int(45);
- fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB3);
- once_value_2 = fra.me.REG[6];
- register_static_object(&once_value_2);
- } else fra.me.REG[6] = once_value_2;
- fra.me.REG[6] = fra.me.REG[6];
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[6]);
- }
- /* syntax/mmbuilder.nit:1352 */
- fra.me.REG[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
- fra.me.REG[0] = fra.me.REG[6];
- }
- /* syntax/mmbuilder.nit:1354 */
- fra.me.REG[5] = CALL_syntax___syntax_base___AParam___variable(fra.me.REG[5])(fra.me.REG[5]);
- CALL_syntax___syntax_base___Variable___stype__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
- /* ../lib/standard/collection/array.nit:275 */
- REGB3 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB3;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label3;
- }
- }
- label3: while(0);
- /* syntax/mmbuilder.nit:1356 */
- fra.me.REG[3] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[3] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra.me.REG[3])(fra.me.REG[3]);
- CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[3])(fra.me.REG[3]);
- }
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AParam___is_vararg[] = "mmbuilder::AParam::is_vararg";
-val_t syntax___mmbuilder___AParam___is_vararg(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___mmbuilder;
- fra.me.line = 1360;
- fra.me.meth = LOCATE_syntax___mmbuilder___AParam___is_vararg;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1360 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AParam___n_dotdotdot(fra.me.REG[0])(fra.me.REG[0]);
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___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;
-}
-static const char LOCATE_syntax___mmbuilder___AClosureDecl___position[] = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::position)";
-val_t syntax___mmbuilder___AClosureDecl___position(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___mmbuilder;
- fra.me.line = 1364;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClosureDecl___position;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1364 */
- REGB0 = TAG_Bool(ATTR_syntax___mmbuilder___AClosureDecl____position(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder, 1364);
- }
- REGB0 = ATTR_syntax___mmbuilder___AClosureDecl____position(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_syntax___mmbuilder___AClosureDecl___variable[] = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::variable)";
-val_t syntax___mmbuilder___AClosureDecl___variable(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___mmbuilder;
- fra.me.line = 1366;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClosureDecl___variable;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* syntax/mmbuilder.nit:1366 */
- fra.me.REG[1] = fra.me.REG[0];
- fra.me.REG[1] = ATTR_syntax___mmbuilder___AClosureDecl____variable(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_syntax___mmbuilder, 1366);
- }
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier[] = "mmbuilder::AClosureDecl::(mmbuilder::ANode::accept_property_verifier)";
-void syntax___mmbuilder___AClosureDecl___accept_property_verifier(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_2; /* Once value */
- 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 */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1369;
- fra.me.meth = LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 11;
- fra.me.nitni_local_ref_head = NULL;
- 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[9] = NIT_NULL;
- fra.me.REG[10] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1369 */
- fra.me.REG[2] = fra.me.REG[0];
- fra.me.REG[3] = fra.me.REG[1];
- /* syntax/mmbuilder.nit:1371 */
- fra.me.REG[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- /* syntax/mmbuilder.nit:1372 */
- fra.me.REG[5] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
- CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
- /* syntax/mmbuilder.nit:1373 */
- CALL_SUPER_syntax___mmbuilder___AClosureDecl___accept_property_verifier(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1374 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- REGB0 = CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra.me.REG[1])(fra.me.REG[1]);
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1375 */
- goto label1;
- }
- /* syntax/mmbuilder.nit:1377 */
- fra.me.REG[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra.me.REG[1])(fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1378 */
- 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(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1379 */
- fra.me.REG[0] = NEW_Array_standard___collection___array___Array___init();
- fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[5])(fra.me.REG[5]);
- fra.me.REG[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[0], NIT_NULL, fra.me.REG[5]);
- fra.me.REG[1] = fra.me.REG[5];
- }
- /* syntax/mmbuilder.nit:1381 */
- REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1381);
- }
- fra.me.REG[5] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[1])(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- } else {
- REGB1 = TAG_Bool(0);
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1382 */
- if (!once_value_2) {
- fra.me.REG[5] = BOX_NativeString("Syntax Error: A break block cannot have a return value.");
- REGB0 = TAG_Int(55);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- 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];
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[5]);
- }
- /* syntax/mmbuilder.nit:1386 */
- fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
- fra.me.REG[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[0] = CALL_metamodel___inheritance___MMModule___type_any(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra.me.REG[5], NIT_NULL, fra.me.REG[0]);
- /* syntax/mmbuilder.nit:1387 */
- if (!once_value_3) {
- if (!once_value_4) {
- fra.me.REG[5] = BOX_NativeString("break");
- REGB0 = TAG_Int(5);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- once_value_4 = fra.me.REG[5];
- register_static_object(&once_value_4);
- } else fra.me.REG[5] = once_value_4;
- 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_3 = fra.me.REG[5];
- register_static_object(&once_value_3);
- } else fra.me.REG[5] = once_value_3;
- fra.me.REG[5] = fra.me.REG[5];
- REGB0 = TAG_Bool(0);
- REGB1 = TAG_Bool(1);
- fra.me.REG[0] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra.me.REG[5], fra.me.REG[0], REGB0, REGB1);
- /* syntax/mmbuilder.nit:1388 */
- REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1388);
- }
- fra.me.REG[5] = CALL_metamodel___static_type___MMSignature___closures(fra.me.REG[1])(fra.me.REG[1]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
- /* syntax/mmbuilder.nit:1390 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[0] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
- /* syntax/mmbuilder.nit:1391 */
- fra.me.REG[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(0);
- REGB1 = REGB0;
- } else {
- REGB0 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
- REGB1 = REGB0;
- }
- }
- REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
- fra.me.REG[5] = CALL_parser___parser_nodes___AClosureDecl___n_expr(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(0);
- REGB0 = REGB2;
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
- REGB0 = REGB2;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- fra.me.REG[1] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra.me.REG[0], fra.me.REG[1], REGB1, REGB0);
- /* syntax/mmbuilder.nit:1392 */
- fra.me.REG[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra.me.REG[4])(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:270 */
- REGB0 = TAG_Int(0);
- /* ../lib/standard/collection/array.nit:271 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:272 */
- fra.me.REG[6] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
- /* ../lib/standard/collection/array.nit:273 */
- while(1) {
- /* ../lib/standard/collection/array.nit:24 */
- REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:242 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:273 */
- if (UNTAG_Bool(REGB1)) {
- /* ../lib/standard/collection/array.nit:274 */
- REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 274);
- }
- /* ../lib/standard/collection/array.nit:725 */
- fra.me.REG[7] = ((Nit_NativeArray)fra.me.REG[6])->val[UNTAG_Int(REGB0)];
- /* syntax/mmbuilder.nit:1393 */
- fra.me.REG[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra.me.REG[7])(fra.me.REG[7]);
- fra.me.REG[8] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[8])(fra.me.REG[8]);
- REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[8],fra.me.REG[0]));
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[0]);
- REGB1 = REGB2;
- }
- if (UNTAG_Bool(REGB1)) {
- /* syntax/mmbuilder.nit:1394 */
- fra.me.REG[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra.me.REG[2])(fra.me.REG[2]);
- REGB1 = TAG_Int(5);
- fra.me.REG[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
- if (!once_value_5) {
- fra.me.REG[10] = BOX_NativeString("Error: A closure '!");
- REGB1 = TAG_Int(19);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_5 = fra.me.REG[10];
- register_static_object(&once_value_5);
- } else fra.me.REG[10] = once_value_5;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- fra.me.REG[10] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- if (!once_value_6) {
- fra.me.REG[10] = BOX_NativeString("' already defined at ");
- REGB1 = TAG_Int(21);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_6 = fra.me.REG[10];
- register_static_object(&once_value_6);
- } else fra.me.REG[10] = once_value_6;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- fra.me.REG[7] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra.me.REG[7])(fra.me.REG[7]);
- fra.me.REG[7] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[7])(fra.me.REG[7]);
- fra.me.REG[10] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[10] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[10])(fra.me.REG[10]);
- fra.me.REG[10] = CALL_location___Location___relative_to(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[10]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- if (!once_value_7) {
- fra.me.REG[10] = BOX_NativeString(".");
- REGB1 = TAG_Int(1);
- fra.me.REG[10] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[10])(fra.me.REG[10], REGB1);
- once_value_7 = fra.me.REG[10];
- register_static_object(&once_value_7);
- } else fra.me.REG[10] = once_value_7;
- fra.me.REG[10] = fra.me.REG[10];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
- fra.me.REG[9] = CALL_standard___string___Object___to_s(fra.me.REG[9])(fra.me.REG[9]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[8], fra.me.REG[9]);
- /* syntax/mmbuilder.nit:1395 */
- goto label1;
- }
- /* ../lib/standard/collection/array.nit:275 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:245 */
- REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ../lib/standard/collection/array.nit:275 */
- REGB0 = REGB1;
- } else {
- /* ../lib/standard/collection/array.nit:273 */
- goto label8;
- }
- }
- label8: while(0);
- /* syntax/mmbuilder.nit:1398 */
- CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
- /* syntax/mmbuilder.nit:1399 */
- fra.me.REG[3] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra.me.REG[4])(fra.me.REG[4]);
- /* ../lib/standard/collection/array.nit:24 */
- REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
- }
- REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
- /* syntax/mmbuilder.nit:1399 */
- ATTR_syntax___mmbuilder___AClosureDecl____position(fra.me.REG[2]) = REGB0;
- /* syntax/mmbuilder.nit:1400 */
- fra.me.REG[4] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra.me.REG[4])(fra.me.REG[4]);
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
- /* syntax/mmbuilder.nit:1401 */
- fra.me.REG[4] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[4] = CALL_syntax___syntax_base___Token___to_symbol(fra.me.REG[4])(fra.me.REG[4]);
- fra.me.REG[3] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra.me.REG[2])(fra.me.REG[2]);
- fra.me.REG[1] = NEW_ClosureVariable_syntax___syntax_base___ClosureVariable___init(fra.me.REG[4], fra.me.REG[3], fra.me.REG[1]);
- ATTR_syntax___mmbuilder___AClosureDecl____variable(fra.me.REG[2]) = fra.me.REG[1];
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AType___check_visibility[] = "mmbuilder::AType::check_visibility";
-void syntax___mmbuilder___AType___check_visibility(val_t p0, val_t p1, val_t p2){
- struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t REGB2;
- val_t tmp;
- static val_t once_value_2; /* Once value */
- static val_t once_value_3; /* Once value */
- static val_t once_value_4; /* Once value */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 1406;
- fra.me.meth = LOCATE_syntax___mmbuilder___AType___check_visibility;
- fra.me.has_broke = 0;
- fra.me.REG_size = 6;
- fra.me.nitni_local_ref_head = NULL;
- 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[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- /* syntax/mmbuilder.nit:1409 */
- fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra.me.REG[3])(fra.me.REG[3]);
- REGB1 = TAG_Int(3);
- REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:243 */
- REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
- /* syntax/mmbuilder.nit:1409 */
- if (UNTAG_Bool(REGB1)) {
- goto label1;
- }
- /* syntax/mmbuilder.nit:1410 */
- fra.me.REG[3] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* syntax/mmbuilder.nit:1411 */
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(0);
- REGB1 = REGB0;
- } else {
- REGB0 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- REGB1 = REGB0;
- }
- }
- if (UNTAG_Bool(REGB1)) {
- goto label1;
- }
- /* syntax/mmbuilder.nit:1412 */
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- nit_abort("Reciever is null", NULL, LOCATE_syntax___mmbuilder, 1412);
- }
- fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[3])(fra.me.REG[3]);
- /* syntax/mmbuilder.nit:1413 */
- fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[3])(fra.me.REG[3]);
- REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra.me.REG[4])(fra.me.REG[4]);
- REGB0 = TAG_Int(3);
- REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
- if (UNTAG_Bool(REGB2)) {
- } else {
- nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
- }
- /* ../lib/standard/kernel.nit:243 */
- REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
- /* syntax/mmbuilder.nit:1413 */
- if (UNTAG_Bool(REGB0)) {
- /* syntax/mmbuilder.nit:1414 */
- REGB0 = TAG_Int(5);
- fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
- if (!once_value_2) {
- fra.me.REG[5] = BOX_NativeString("Access error: Class ");
- REGB0 = TAG_Int(20);
- fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
- 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];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
- fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
- CALL_standard___collection___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(" is private and cannot be used in the signature of the non-private property ");
- REGB0 = TAG_Int(76);
- fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
- once_value_3 = fra.me.REG[3];
- register_static_object(&once_value_3);
- } else fra.me.REG[3] = once_value_3;
- fra.me.REG[3] = fra.me.REG[3];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
- fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
- CALL_standard___collection___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(".");
- REGB0 = TAG_Int(1);
- fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
- once_value_4 = fra.me.REG[3];
- register_static_object(&once_value_4);
- } else fra.me.REG[3] = once_value_4;
- fra.me.REG[3] = fra.me.REG[3];
- CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
- fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
- CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[4]);
- }
- /* syntax/mmbuilder.nit:1416 */
- fra.me.REG[0] = CALL_parser___parser_nodes___AType___n_types(fra.me.REG[0])(fra.me.REG[0]);
- CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_syntax___mmbuilder___AType___check_visibility_5));
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return;
-}
- void OC_syntax___mmbuilder___AType___check_visibility_5(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;
- fun_t CREG[1];
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_syntax___mmbuilder;
- fra.me.line = 0;
- fra.me.meth = LOCATE_syntax___mmbuilder___AType___check_visibility;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- 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/mmbuilder.nit:1417 */
- CALL_syntax___mmbuilder___AType___check_visibility(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1], closctx->REG[2]);
- stack_frame_head = fra.me.prev;
- return;
- }
-static const char LOCATE_syntax___mmbuilder___AExpr___accept_class_builder[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_class_builder)";
-void syntax___mmbuilder___AExpr___accept_class_builder(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___mmbuilder;
- fra.me.line = 1423;
- fra.me.meth = LOCATE_syntax___mmbuilder___AExpr___accept_class_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AExpr___accept_property_builder[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_builder)";
-void syntax___mmbuilder___AExpr___accept_property_builder(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___mmbuilder;
- fra.me.line = 1424;
- fra.me.meth = LOCATE_syntax___mmbuilder___AExpr___accept_property_builder;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_verifier)";
-void syntax___mmbuilder___AExpr___accept_property_verifier(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___mmbuilder;
- fra.me.line = 1425;
- fra.me.meth = LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_syntax___mmbuilder___AExpr___get_easy_stype[] = "mmbuilder::AExpr::get_easy_stype";
-val_t syntax___mmbuilder___AExpr___get_easy_stype(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___mmbuilder;
- fra.me.line = 1427;
- fra.me.meth = LOCATE_syntax___mmbuilder___AExpr___get_easy_stype;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1427 */
- fra.me.REG[1] = NIT_NULL;
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___ABoolExpr___get_easy_stype[] = "mmbuilder::ABoolExpr::(mmbuilder::AExpr::get_easy_stype)";
-val_t syntax___mmbuilder___ABoolExpr___get_easy_stype(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___mmbuilder;
- fra.me.line = 1431;
- fra.me.meth = LOCATE_syntax___mmbuilder___ABoolExpr___get_easy_stype;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1431 */
- fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_bool(fra.me.REG[1])(fra.me.REG[1]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___AStringExpr___get_easy_stype[] = "mmbuilder::AStringExpr::(mmbuilder::AExpr::get_easy_stype)";
-val_t syntax___mmbuilder___AStringExpr___get_easy_stype(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___mmbuilder;
- fra.me.line = 1435;
- fra.me.meth = LOCATE_syntax___mmbuilder___AStringExpr___get_easy_stype;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1435 */
- fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_string(fra.me.REG[1])(fra.me.REG[1]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___ACharExpr___get_easy_stype[] = "mmbuilder::ACharExpr::(mmbuilder::AExpr::get_easy_stype)";
-val_t syntax___mmbuilder___ACharExpr___get_easy_stype(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___mmbuilder;
- fra.me.line = 1439;
- fra.me.meth = LOCATE_syntax___mmbuilder___ACharExpr___get_easy_stype;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1439 */
- fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_char(fra.me.REG[1])(fra.me.REG[1]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___AIntExpr___get_easy_stype[] = "mmbuilder::AIntExpr::(mmbuilder::AExpr::get_easy_stype)";
-val_t syntax___mmbuilder___AIntExpr___get_easy_stype(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___mmbuilder;
- fra.me.line = 1443;
- fra.me.meth = LOCATE_syntax___mmbuilder___AIntExpr___get_easy_stype;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1443 */
- fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_int(fra.me.REG[1])(fra.me.REG[1]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___AFloatExpr___get_easy_stype[] = "mmbuilder::AFloatExpr::(mmbuilder::AExpr::get_easy_stype)";
-val_t syntax___mmbuilder___AFloatExpr___get_easy_stype(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___mmbuilder;
- fra.me.line = 1447;
- fra.me.meth = LOCATE_syntax___mmbuilder___AFloatExpr___get_easy_stype;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1447 */
- fra.me.REG[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_float(fra.me.REG[1])(fra.me.REG[1]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_syntax___mmbuilder___ANewExpr___get_easy_stype[] = "mmbuilder::ANewExpr::(mmbuilder::AExpr::get_easy_stype)";
-val_t syntax___mmbuilder___ANewExpr___get_easy_stype(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___mmbuilder;
- fra.me.line = 1451;
- fra.me.meth = LOCATE_syntax___mmbuilder___ANewExpr___get_easy_stype;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* syntax/mmbuilder.nit:1451 */
- fra.me.REG[0] = CALL_parser___parser_nodes___ANewExpr___n_type(fra.me.REG[0])(fra.me.REG[0]);
- fra.me.REG[1] = CALL_syntax___syntax_base___AType___get_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- goto label1;
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}