-void abstracttool___MMModule___dump_module_info(val_t self) {
- struct trace_t trace = {NULL, NULL, 85, LOCATE_abstracttool___MMModule___dump_module_info};
- static val_t once_value_12 = NIT_NULL; /* Once value for string variable[5]*/
- static val_t once_value_13 = NIT_NULL; /* Once value for string variable[5]*/
- static val_t once_value_14 = NIT_NULL; /* Once value for string variable[5]*/
- static val_t once_value_15 = NIT_NULL; /* Once value for string variable[6]*/
- static val_t once_value_16 = NIT_NULL; /* Once value for string variable[6]*/
- static val_t once_value_17 = NIT_NULL; /* Once value for string variable[6]*/
- static val_t once_value_18 = NIT_NULL; /* Once value for string variable[6]*/
- static val_t once_value_20 = NIT_NULL; /* Once value for string variable[8]*/
- val_t variable[9];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_abstracttool;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Local variable */
- /* Register variable[3]: Result */
- variable[3] = CALL_abstractmetamodel___MMModule___filename(variable[0])(variable[0]) /*MMModule::filename*/;
- /* Register variable[3]: Result */
- variable[3] = CALL_file___String___file_path(variable[3])(variable[3]) /*String::file_path*/;
- variable[2] = variable[3];
- /* Register variable[3]: Local variable */
- variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
- /* Register variable[5]: Once String constant */
- if (once_value_12 != NIT_NULL) variable[5] = once_value_12;
- else {
- variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
- once_value_12 = variable[5];
- }
- /* Register variable[5]: Result */
- /* Ensure var variable[5]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
- variable[5] = variable[2] /*p*/ /* Ensure var: super-string element*/;
- CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
- /* Register variable[5]: Once String constant */
- if (once_value_13 != NIT_NULL) variable[5] = once_value_13;
- else {
- variable[5] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
- once_value_13 = variable[5];
- }
- /* Register variable[5]: Result */
- /* Ensure var variable[5]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_abstractmetamodel___MMModule___name(variable[0])(variable[0]) /*MMModule::name*/;
- /* Ensure var variable[5]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
- /* Register variable[5]: Once String constant */
- if (once_value_14 != NIT_NULL) variable[5] = once_value_14;
- else {
- variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
- once_value_14 = variable[5];
- }
- /* Register variable[5]: Result */
- /* Ensure var variable[5]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
- variable[3] = variable[4];
- /* Register variable[4]: Local variable */
- variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
- /* Register variable[6]: Once String constant */
- if (once_value_15 != NIT_NULL) variable[6] = once_value_15;
- else {
- variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
- once_value_15 = variable[6];
- }
- /* Register variable[6]: Result */
- /* Ensure var variable[6]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
- variable[6] = variable[3] /*fname*/ /* Ensure var: super-string element*/;
- CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
- /* Register variable[6]: Once String constant */
- if (once_value_16 != NIT_NULL) variable[6] = once_value_16;
- else {
- variable[6] = NEW_String_string___String___with_native(BOX_NativeString(".class_hierarchy.new.dot"), TAG_Int(24)) /*new String*/;
- once_value_16 = variable[6];
- }
- /* Register variable[6]: Result */
- /* Ensure var variable[6]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
- /* Register variable[5]: Result */
- variable[5] = NEW_OFStream_file___OFStream___open(variable[5]) /*new OFStream*/;
- variable[4] = variable[5];
- /* Register variable[5]: Result */
- variable[5] = CALL_abstractmetamodel___MMModule___class_specialization_hierarchy(variable[0])(variable[0]) /*MMModule::class_specialization_hierarchy*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_partial_order___PartialOrder___to_dot(variable[5])(variable[5]) /*PartialOrder::to_dot*/;
- CALL_stream___OStream___write( variable[4] /*f*/)( variable[4] /*f*/, variable[5]) /*OFStream::write*/;
- CALL_stream___IOS___close( variable[4] /*f*/)( variable[4] /*f*/) /*OFStream::close*/;
- variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
- /* Register variable[6]: Once String constant */
- if (once_value_17 != NIT_NULL) variable[6] = once_value_17;
- else {
- variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
- once_value_17 = variable[6];
- }
- /* Register variable[6]: Result */
- /* Ensure var variable[6]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
- variable[6] = variable[3] /*fname*/ /* Ensure var: super-string element*/;
- CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
- /* Register variable[6]: Once String constant */
- if (once_value_18 != NIT_NULL) variable[6] = once_value_18;
- else {
- variable[6] = NEW_String_string___String___with_native(BOX_NativeString(".properties.log"), TAG_Int(15)) /*new String*/;
- once_value_18 = variable[6];
- }
- /* Register variable[6]: Result */
- /* Ensure var variable[6]: super-string element*/
- CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
- /* Register variable[5]: Result */
- variable[5] = NEW_OFStream_file___OFStream___open(variable[5]) /*new OFStream*/;
- variable[4] = variable[5] /*f=*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_abstractmetamodel___MMModule___local_classes(variable[0])(variable[0]) /*MMModule::local_classes*/;
- /* Register variable[5]: For iterator */
- variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*AbstractArrayRead::iterator*/;
- while (true) { /*for*/
- /* Register variable[6]: For 'is_ok' result */
- variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ArrayIterator::is_ok*/;
- if (!UNTAG_Bool(variable[6])) break; /*for*/
- variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
- /* Register variable[7]: Local variable */
- variable[7] = variable[6];
- CALL_abstracttool___MMLocalClass___dump_properties( variable[7] /*cla*/)( variable[7] /*cla*/, variable[4] /*f*/) /*MMLocalClass::dump_properties*/;
- /* Register variable[8]: Once String constant */
- if (once_value_20 != NIT_NULL) variable[8] = once_value_20;
- else {
- variable[8] = NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)) /*new String*/;
- once_value_20 = variable[8];
- }
- /* Register variable[8]: Result */
- CALL_stream___OStream___write( variable[4] /*f*/)( variable[4] /*f*/, variable[8]) /*OFStream::write*/;
- continue_19: while(0);
- CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ArrayIterator::next*/;
+void abstracttool___AbstractCompiler___perform_work(val_t p0, val_t p1){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_abstracttool;
+ fra.me.line = 77;
+ fra.me.meth = LOCATE_abstracttool___AbstractCompiler___perform_work;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ /* ./abstracttool.nit:77 */
+ nit_abort("Deferred method called", NULL, LOCATE_abstracttool, 77);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void abstracttool___AbstractCompiler___dump_context_info(val_t p0){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ 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 */
+ static val_t once_value_8; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_abstracttool;
+ fra.me.line = 79;
+ fra.me.meth = LOCATE_abstracttool___AbstractCompiler___dump_context_info;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./abstracttool.nit:81 */
+ fra.me.REG[1] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
+ CALL_abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_abstracttool___AbstractCompiler___dump_context_info_1));
+ /* ./abstracttool.nit:84 */
+ fra.me.REG[1] = NEW_Array_array___Array___init();
+ /* ./abstracttool.nit:85 */
+ fra.me.REG[2] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
+ CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* ./abstracttool.nit:86 */
+ fra.me.REG[2] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[1] = CALL_partial_order___PartialOrder___select_smallests(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+ if (!once_value_2) {
+ fra.me.REG[2] = BOX_NativeString("-");
+ REGB0 = TAG_Int(1);
+ fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+ once_value_2 = fra.me.REG[2];
+ register_static_object(&once_value_2);
+ } else fra.me.REG[2] = once_value_2;
+ fra.me.REG[2] = fra.me.REG[2];
+ fra.me.REG[2] = CALL_string___Collection___join(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ /* ./abstracttool.nit:88 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
+ if (!once_value_3) {
+ fra.me.REG[3] = BOX_NativeString("");
+ REGB0 = TAG_Int(0);
+ fra.me.REG[3] = NEW_String_string___String___with_native(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_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+ fra.me.REG[3] = CALL_mmloader___ToolContext___log_directory(fra.me.REG[0])(fra.me.REG[0]);
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+ if (!once_value_4) {
+ fra.me.REG[3] = BOX_NativeString("/");
+ REGB0 = TAG_Int(1);
+ fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
+ once_value_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_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+ if (!once_value_5) {
+ fra.me.REG[3] = BOX_NativeString(".full_class_hierarchy.new.dot");
+ REGB0 = TAG_Int(29);
+ fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
+ once_value_5 = fra.me.REG[3];
+ register_static_object(&once_value_5);
+ } else fra.me.REG[3] = once_value_5;
+ fra.me.REG[3] = fra.me.REG[3];
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+ fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[1] = NEW_OFStream_file___OFStream___open(fra.me.REG[1]);
+ /* ./abstracttool.nit:89 */
+ fra.me.REG[3] = CALL_abstractmetamodel___MMContext___class_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[3] = CALL_partial_order___PartialOrder___to_dot(fra.me.REG[3])(fra.me.REG[3]);
+ CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
+ /* ./abstracttool.nit:90 */
+ CALL_stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./abstracttool.nit:92 */
+ REGB0 = TAG_Int(5);
+ fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
+ if (!once_value_6) {
+ fra.me.REG[4] = BOX_NativeString("");
+ REGB0 = TAG_Int(0);
+ fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
+ 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_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+ fra.me.REG[4] = CALL_mmloader___ToolContext___log_directory(fra.me.REG[0])(fra.me.REG[0]);
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+ if (!once_value_7) {
+ fra.me.REG[4] = BOX_NativeString("/");
+ REGB0 = TAG_Int(1);
+ fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
+ once_value_7 = fra.me.REG[4];
+ register_static_object(&once_value_7);
+ } else fra.me.REG[4] = once_value_7;
+ fra.me.REG[4] = fra.me.REG[4];
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+ if (!once_value_8) {
+ fra.me.REG[2] = BOX_NativeString(".module_hierarchy.new.dot");
+ REGB0 = TAG_Int(25);
+ fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
+ once_value_8 = fra.me.REG[2];
+ register_static_object(&once_value_8);
+ } else fra.me.REG[2] = once_value_8;
+ fra.me.REG[2] = fra.me.REG[2];
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
+ fra.me.REG[3] = NEW_OFStream_file___OFStream___open(fra.me.REG[3]);
+ fra.me.REG[1] = fra.me.REG[3];
+ /* ./abstracttool.nit:93 */
+ fra.me.REG[0] = CALL_abstractmetamodel___MMContext___module_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_partial_order___PartialOrder___to_dot(fra.me.REG[0])(fra.me.REG[0]);
+ CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
+ /* ./abstracttool.nit:94 */
+ CALL_stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+ void OC_abstracttool___AbstractCompiler___dump_context_info_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;
+ fun_t CREG[1];
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_abstracttool;
+ fra.me.line = 0;
+ fra.me.meth = LOCATE_abstracttool___AbstractCompiler___dump_context_info;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ 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;
+ /* ./abstracttool.nit:82 */
+ fra.me.REG[1] = CALL_mmloader___ToolContext___log_directory(closctx->REG[0])(closctx->REG[0]);
+ CALL_abstracttool___MMModule___dump_module_info(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ stack_frame_head = fra.me.prev;
+ return;