- /* Register variable[11]: Result */
- if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_global, 234); nit_exit(1);}
- /* Register variable[11]: Result */
- variable[11] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
- /* Register variable[11]: Result */
- variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
- variable[10] = variable[11];
- goto return_label142;
- return_label142: while(false);
- /* Register variable[8]: Result */
- variable[8] = variable[10];
- /* Register variable[8]: Result */
- variable[8] = CALL_abstractmetamodel___MMLocalClass___global(variable[8])(variable[8]) /*MMLocalClass::global*/;
- /* Register variable[9]: Result */
- variable[9] = ATTR_compiling_global___AbsTableEltClass____local_class(variable[0]) /*AbsTableEltClass::_local_class*/;
- /* Register variable[9]: Result */
- variable[9] = CALL_abstractmetamodel___MMLocalClass___global(variable[9])(variable[9]) /*MMLocalClass::global*/;
- /* Register variable[8]: Result */
- variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == variable[9]) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8],variable[9])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], variable[9]) /*Object::==*/)))))));
- if (!UNTAG_Bool(variable[8])) break; /* while*/
- variable[7] = TAG_Int(UNTAG_Int(variable[7])+UNTAG_Int( TAG_Int(1))) /*i*/;
- continue_141: while(0);
- }
- break_141: while(0);
- variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
- /* Register variable[9]: Once String constant */
- if (once_value_143 != NIT_NULL) variable[9] = once_value_143;
- else {
- variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
- once_value_143 = variable[9];
- }
- /* Register variable[9]: Result */
- /* Ensure var variable[9]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
- variable[9] = variable[7] /*i*/ /* Ensure var: super-string element*/;
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[9]: Once String constant */
- if (once_value_144 != NIT_NULL) variable[9] = once_value_144;
- else {
- variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)) /*new String*/;
- once_value_144 = variable[9];
- }
- /* Register variable[9]: Result */
- /* Ensure var variable[9]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
- /* Register variable[9]: Result */
- variable[9] = CALL_compiling_global___ColorContext___color( variable[4] /*ga*/)( variable[4] /*ga*/, variable[0]) /*ColorContext::color*/;
- /* Ensure var variable[9]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[9]: Once String constant */
- if (once_value_145 != NIT_NULL) variable[9] = once_value_145;
- else {
- variable[9] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
- once_value_145 = variable[9];
- }
- /* Register variable[9]: Result */
- /* Ensure var variable[9]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
- variable[9] = variable[2] /*c*/ /* Ensure var: super-string element*/;
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[9]: Once String constant */
- if (once_value_146 != NIT_NULL) variable[9] = once_value_146;
- else {
- variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)) /*new String*/;
- once_value_146 = variable[9];
- }
- /* Register variable[9]: Result */
- /* Ensure var variable[9]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
- /* Register variable[9]: Result */
- variable[9] = CALL_compiling_global___CompiledClass___local_class( variable[5] /*cc*/)( variable[5] /*cc*/) /*CompiledClass::local_class*/;
- /* Ensure var variable[9]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[9]: Once String constant */
- if (once_value_147 != NIT_NULL) variable[9] = once_value_147;
- else {
- variable[9] = NEW_String_string___String___with_native(BOX_NativeString(": superclass init_table position */"), TAG_Int(35)) /*new String*/;
- once_value_147 = variable[9];
- }
- /* Register variable[9]: Result */
- /* Ensure var variable[9]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
- /* Register variable[8]: Result */
- variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
- variable[3] = variable[8];
- goto return_label140;
- return_label140: while(false);
- tracehead = trace.prev;
- return variable[3];
-}
-val_t compiling_global___TableEltClassInitTable___symbol(val_t self) {
- struct trace_t trace = {NULL, NULL, 698, LOCATE_compiling_global___TableEltClassInitTable___symbol};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_compiling_global;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = ATTR_compiling_global___AbsTableEltClass____local_class(variable[0]) /*AbsTableEltClass::_local_class*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_abstractmetamodel___MMLocalClass___global(variable[2])(variable[2]) /*MMLocalClass::global*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(variable[2])(variable[2]) /*MMGlobalClass::init_table_pos_id*/;
- variable[1] = variable[2];
- goto return_label148;
- return_label148: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t compiling_global___TableEltClassColor___compile_to_c(val_t self, val_t param0, val_t param1) {
- struct trace_t trace = {NULL, NULL, 727, LOCATE_compiling_global___TableEltClassColor___compile_to_c};
- static val_t once_value_150 = NIT_NULL; /* Once value for string variable[7]*/
- static val_t once_value_151 = NIT_NULL; /* Once value for string variable[7]*/
- static val_t once_value_152 = NIT_NULL; /* Once value for string variable[7]*/
- static val_t once_value_153 = NIT_NULL; /* Once value for string variable[7]*/
- static val_t once_value_154 = NIT_NULL; /* Once value for string variable[7]*/
- val_t variable[8];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_compiling_global;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Local variable */
- variable[2] = param1;
- /* Register variable[3]: Method return value and escape marker */
- /* Register variable[4]: Local variable */
- /* Register variable[5]: Result */
- variable[5] = CALL_compiling_global___GlobalCompilerVisitor___global_analysis( variable[1] /*v*/)( variable[1] /*v*/) /*GlobalCompilerVisitor::global_analysis*/;
- variable[4] = variable[5];
- /* Register variable[5]: Local variable */
- /* Register variable[6]: Result */
- variable[6] = CALL_compiling_global___GlobalAnalysis___compiled_classes( variable[4] /*ga*/)( variable[4] /*ga*/) /*GlobalAnalysis::compiled_classes*/;
- /* Register variable[7]: Result */
- variable[7] = ATTR_compiling_global___AbsTableEltClass____local_class(variable[0]) /*AbsTableEltClass::_local_class*/;
- /* Register variable[7]: Result */
- variable[7] = CALL_abstractmetamodel___MMLocalClass___global(variable[7])(variable[7]) /*MMLocalClass::global*/;
- /* Register variable[6]: Result */
- variable[6] = CALL_abstract_collection___MapRead_____bra(variable[6])(variable[6], variable[7]) /*CoupleMap::[]*/;
- variable[5] = variable[6];
- variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
- /* Register variable[7]: Once String constant */
- if (once_value_150 != NIT_NULL) variable[7] = once_value_150;
- else {
- variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
- once_value_150 = variable[7];
- }
- /* Register variable[7]: Result */
- /* Ensure var variable[7]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
- /* Register variable[7]: Result */
- variable[7] = CALL_compiling_global___CompiledClass___id( variable[5] /*cc*/)( variable[5] /*cc*/) /*CompiledClass::id*/;
- /* Ensure var variable[7]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[7]: Once String constant */
- if (once_value_151 != NIT_NULL) variable[7] = once_value_151;
- else {
- variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" /* "), TAG_Int(4)) /*new String*/;
- once_value_151 = variable[7];
- }
- /* Register variable[7]: Result */
- /* Ensure var variable[7]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
- /* Register variable[7]: Result */
- variable[7] = CALL_compiling_global___ColorContext___color( variable[4] /*ga*/)( variable[4] /*ga*/, variable[0]) /*ColorContext::color*/;
- /* Ensure var variable[7]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[7]: Once String constant */
- if (once_value_152 != NIT_NULL) variable[7] = once_value_152;
- else {
- variable[7] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
- once_value_152 = variable[7];
- }
- /* Register variable[7]: Result */
- /* Ensure var variable[7]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
- variable[7] = variable[2] /*c*/ /* Ensure var: super-string element*/;
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[7]: Once String constant */
- if (once_value_153 != NIT_NULL) variable[7] = once_value_153;
- else {
- variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" < "), TAG_Int(3)) /*new String*/;
- once_value_153 = variable[7];
- }
- /* Register variable[7]: Result */
- /* Ensure var variable[7]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
- /* Register variable[7]: Result */
- variable[7] = CALL_compiling_global___CompiledClass___local_class( variable[5] /*cc*/)( variable[5] /*cc*/) /*CompiledClass::local_class*/;
- /* Ensure var variable[7]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[7]: Once String constant */
- if (once_value_154 != NIT_NULL) variable[7] = once_value_154;
- else {
- variable[7] = NEW_String_string___String___with_native(BOX_NativeString(": superclass typecheck marker */"), TAG_Int(32)) /*new String*/;
- once_value_154 = variable[7];
- }
- /* Register variable[7]: Result */
- /* Ensure var variable[7]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
- /* Register variable[6]: Result */
- variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
- variable[3] = variable[6];
- goto return_label149;
- return_label149: while(false);
- tracehead = trace.prev;
- return variable[3];
-}
-val_t compiling_global___TableEltClassColor___symbol(val_t self) {
- struct trace_t trace = {NULL, NULL, 720, LOCATE_compiling_global___TableEltClassColor___symbol};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_compiling_global;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = ATTR_compiling_global___AbsTableEltClass____local_class(variable[0]) /*AbsTableEltClass::_local_class*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_abstractmetamodel___MMLocalClass___global(variable[2])(variable[2]) /*MMLocalClass::global*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_compiling_base___MMGlobalClass___color_id(variable[2])(variable[2]) /*MMGlobalClass::color_id*/;
- variable[1] = variable[2];
- goto return_label155;
- return_label155: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t compiling_global___TableEltClassColor___value(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 722, LOCATE_compiling_global___TableEltClassColor___value};
- static val_t once_value_157 = NIT_NULL; /* Once value for string variable[4]*/
- static val_t once_value_158 = NIT_NULL; /* Once value for string variable[4]*/
- static val_t once_value_159 = NIT_NULL; /* Once value for string variable[4]*/
- val_t variable[5];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_compiling_global;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
- /* Register variable[4]: Once String constant */
- if (once_value_157 != NIT_NULL) variable[4] = once_value_157;
- else {
- variable[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
- once_value_157 = variable[4];
- }
- /* Register variable[4]: Result */
- /* Ensure var variable[4]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_compiling_global___ColorContext___color( variable[1] /*ga*/)( variable[1] /*ga*/, variable[0]) /*ColorContext::color*/;
- /* Ensure var variable[4]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[4]: Once String constant */
- if (once_value_158 != NIT_NULL) variable[4] = once_value_158;
- else {
- variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" /* Color of "), TAG_Int(13)) /*new String*/;
- once_value_158 = variable[4];
- }
- /* Register variable[4]: Result */
- /* Ensure var variable[4]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
- /* Register variable[4]: Result */
- variable[4] = ATTR_compiling_global___AbsTableEltClass____local_class(variable[0]) /*AbsTableEltClass::_local_class*/;
- /* Ensure var variable[4]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[4]: Once String constant */
- if (once_value_159 != NIT_NULL) variable[4] = once_value_159;
- else {
- variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
- once_value_159 = variable[4];
- }
- /* Register variable[4]: Result */
- /* Ensure var variable[4]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
- /* Register variable[3]: Result */
- variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
- variable[2] = variable[3];
- goto return_label156;
- return_label156: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t compiling_global___TableEltComposite___is_related_to(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 742, LOCATE_compiling_global___TableEltComposite___is_related_to};
- val_t variable[5];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_compiling_global;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = CALL_abstractmetamodel___MMLocalClass___cshe( variable[1] /*c*/)( variable[1] /*c*/) /*MMLocalClass::cshe*/;
- /* Register variable[4]: Result */
- variable[4] = ATTR_compiling_global___TableEltComposite____cc(variable[0]) /*TableEltComposite::_cc*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_compiling_global___CompiledClass___local_class(variable[4])(variable[4]) /*CompiledClass::local_class*/;
- /* Register variable[3]: Result */
- variable[3] = CALL_partial_order___PartialOrderElement_____leq(variable[3])(variable[3], variable[4]) /*PartialOrderElement::<=*/;
- variable[2] = variable[3];
- goto return_label160;
- return_label160: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t compiling_global___TableEltComposite___length(val_t self) {
- struct trace_t trace = {NULL, NULL, 741, LOCATE_compiling_global___TableEltComposite___length};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_compiling_global;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = ATTR_compiling_global___TableEltComposite____table(variable[0]) /*TableEltComposite::_table*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_abstract_collection___Collection___length(variable[2])(variable[2]) /*AbstractArrayRead::length*/;
- variable[1] = variable[2];
- goto return_label161;
- return_label161: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t compiling_global___TableEltComposite___item(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 750, LOCATE_compiling_global___TableEltComposite___item};
- val_t variable[8];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_compiling_global;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = ATTR_compiling_global___TableEltComposite____table(variable[0]) /*TableEltComposite::_table*/;
- /* Register variable[4]: Local variable */
- variable[4] = variable[3];
- /* Register variable[5]: Local variable */
- variable[5] = variable[1] /*i*/;
- /* Register variable[6]: Method return value and escape marker */
- /* Register variable[7]: Result */
- variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
- /* Ensure var variable[7]: Left 'and' operand*/
- if (UNTAG_Bool(variable[7])) { /* and */
- /* Register variable[7]: Result */
- variable[7] = ATTR_array___AbstractArrayRead____length(variable[4]) /*AbstractArrayRead::_length*/;
- /* Register variable[7]: Result */
- variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)<UNTAG_Int(variable[7]));