Update c_src
[nit.git] / c_src / mmloader._sep.c
index e064760..1d91eab 100644 (file)
@@ -1,19 +1,19 @@
 /* This C file is generated by NIT to compile module mmloader. */
 #include "mmloader._sep.h"
 val_t mmloader___ToolContext___error_count(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___error_count, 27};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 27, LOCATE_mmloader___ToolContext___error_count};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____error_count( self) /*ToolContext::_error_count*/;
 }
 val_t mmloader___ToolContext___warning_count(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___warning_count, 30};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 30, LOCATE_mmloader___ToolContext___warning_count};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____warning_count( self) /*ToolContext::_warning_count*/;
 }
 void mmloader___ToolContext___error(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___error, 33};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 33, LOCATE_mmloader___ToolContext___error};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -24,7 +24,7 @@ void mmloader___ToolContext___error(val_t  self, val_t  param0) {
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
-  variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*ToolContext::stderr*/;
+  variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*Object::stderr*/;
   variable2 = NEW_string___String___init(); /*new String*/
   variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
@@ -42,7 +42,7 @@ void mmloader___ToolContext___error(val_t  self, val_t  param0) {
   return;
 }
 void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___warning, 40};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 40, LOCATE_mmloader___ToolContext___warning};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -54,11 +54,11 @@ void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_mmloader___ToolContext____opt_warn( self) /*ToolContext::_opt_warn*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionBool::value*/;
+  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*Option::value*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
     goto return_label1;
   }
-  variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*ToolContext::stderr*/;
+  variable1 = ((file___Object___stderr_t)CALL( self,COLOR_file___Object___stderr))( self) /*Object::stderr*/;
   variable2 = NEW_string___String___init(); /*new String*/
   variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable4 = variable3;
@@ -77,55 +77,55 @@ void mmloader___ToolContext___warning(val_t  self, val_t  param0) {
   return;
 }
 val_t mmloader___ToolContext___paths(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___paths, 48};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 48, LOCATE_mmloader___ToolContext___paths};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____paths( self) /*ToolContext::_paths*/;
 }
 val_t mmloader___ToolContext___option_context(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___option_context, 54};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 54, LOCATE_mmloader___ToolContext___option_context};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____option_context( self) /*ToolContext::_option_context*/;
 }
 val_t mmloader___ToolContext___opt_warn(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_warn, 57};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 57, LOCATE_mmloader___ToolContext___opt_warn};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_warn( self) /*ToolContext::_opt_warn*/;
 }
 val_t mmloader___ToolContext___opt_path(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_path, 60};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 60, LOCATE_mmloader___ToolContext___opt_path};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_path( self) /*ToolContext::_opt_path*/;
 }
 val_t mmloader___ToolContext___opt_log(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_log, 63};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 63, LOCATE_mmloader___ToolContext___opt_log};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_log( self) /*ToolContext::_opt_log*/;
 }
 val_t mmloader___ToolContext___opt_only_metamodel(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_only_metamodel, 66};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 66, LOCATE_mmloader___ToolContext___opt_only_metamodel};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_only_metamodel( self) /*ToolContext::_opt_only_metamodel*/;
 }
 val_t mmloader___ToolContext___opt_only_parse(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_only_parse, 69};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 69, LOCATE_mmloader___ToolContext___opt_only_parse};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_only_parse( self) /*ToolContext::_opt_only_parse*/;
 }
 val_t mmloader___ToolContext___opt_help(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___opt_help, 72};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 72, LOCATE_mmloader___ToolContext___opt_help};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___ToolContext____opt_help( self) /*ToolContext::_opt_help*/;
 }
 void mmloader___ToolContext___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___init, 75};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 75, LOCATE_mmloader___ToolContext___init};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -138,26 +138,26 @@ void mmloader___ToolContext___init(val_t  self, int* init_table) {
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ToolContext].i]) return;
   ((abstractmetamodel___MMContext___init_t)CALL( self,COLOR_abstractmetamodel___MMContext___init))( self, init_table /*YYY*/) /*MMContext::init*/;
   variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
-  variable1 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Option]*/
+  variable1 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[E]*/
   variable2 = ((mmloader___ToolContext___opt_warn_t)CALL( self,COLOR_mmloader___ToolContext___opt_warn))( self) /*ToolContext::opt_warn*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*AbstractArray::add*/;
   variable3 = ((mmloader___ToolContext___opt_path_t)CALL( self,COLOR_mmloader___ToolContext___opt_path))( self) /*ToolContext::opt_path*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*AbstractArray::add*/;
   variable4 = ((mmloader___ToolContext___opt_log_t)CALL( self,COLOR_mmloader___ToolContext___opt_log))( self) /*ToolContext::opt_log*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*AbstractArray::add*/;
   variable5 = ((mmloader___ToolContext___opt_only_parse_t)CALL( self,COLOR_mmloader___ToolContext___opt_only_parse))( self) /*ToolContext::opt_only_parse*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*AbstractArray::add*/;
   variable6 = ((mmloader___ToolContext___opt_only_metamodel_t)CALL( self,COLOR_mmloader___ToolContext___opt_only_metamodel))( self) /*ToolContext::opt_only_metamodel*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*AbstractArray::add*/;
   variable7 = ((mmloader___ToolContext___opt_help_t)CALL( self,COLOR_mmloader___ToolContext___opt_help))( self) /*ToolContext::opt_help*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*AbstractArray::add*/;
   ((opts___OptionContext___add_option_t)CALL(variable0,COLOR_opts___OptionContext___add_option))(variable0, variable1) /*OptionContext::add_option*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ToolContext].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void mmloader___ToolContext___process_options(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___process_options, 81};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 81, LOCATE_mmloader___ToolContext___process_options};
   val_t variable0;
   val_t variable1;
   static val_t once_value_variable1_4; static int once_bool_variable1_4;
@@ -171,14 +171,14 @@ void mmloader___ToolContext___process_options(val_t  self) {
   val_t variable8;
   trace.prev = tracehead; tracehead = &trace;
   variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
-  variable1 = ((string___Object___args_t)CALL( self,COLOR_string___Object___args))( self) /*ToolContext::args*/;
+  variable1 = ((string___Object___args_t)CALL( self,COLOR_string___Object___args))( self) /*Object::args*/;
   ((opts___OptionContext___parse_t)CALL(variable0,COLOR_opts___OptionContext___parse))(variable0, variable1) /*OptionContext::parse*/;
-  variable0 = NEW_array___Array___init(); /*new Array[String]*/
+  variable0 = NEW_array___Array___init(); /*new Array[E]*/
   ATTR_mmloader___ToolContext____paths( self) /*ToolContext::_paths*/ = variable0;
   variable0 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
   variable1 = ((mmloader___ToolContext___opt_path_t)CALL( self,COLOR_mmloader___ToolContext___opt_path))( self) /*ToolContext::opt_path*/;
-  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*OptionArray::value*/;
-  ((abstract_collection___IndexedCollection___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable1) /*Array::append*/;
+  variable1 = ((opts___Option___value_t)CALL(variable1,COLOR_opts___Option___value))(variable1) /*Option::value*/;
+  ((abstract_collection___IndexedCollection___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable1) /*IndexedCollection::append*/;
   if (once_bool_variable1_4) variable1 = once_value_variable1_4;
   else {
     variable1 = NEW_string___String___with_native(BOX_NativeString("NIT_PATH"), TAG_Int(8)); /*new String*/
@@ -188,11 +188,11 @@ void mmloader___ToolContext___process_options(val_t  self) {
     once_bool_variable1_4 = true;
   }
   variable0 = variable1;
-  variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*path_env*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*path_env*/) /*String::is_empty*/;
+  variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*path_env*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*path_env*/) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
     variable1 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
     variable2 = ((string_search___String___split_with_t)CALL( variable0 /*path_env*/,COLOR_string_search___String___split_with))( variable0 /*path_env*/,  TAG_Char(':')) /*String::split_with*/;
-    ((abstract_collection___IndexedCollection___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable2) /*Array::append*/;
+    ((abstract_collection___IndexedCollection___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable2) /*IndexedCollection::append*/;
   }
   if (once_bool_variable1_5) variable1 = once_value_variable1_5;
   else {
@@ -203,7 +203,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
     once_bool_variable1_5 = true;
   }
   variable0 = variable1 /*path_env=*/;
-  variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*path_env*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*path_env*/) /*String::is_empty*/;
+  variable1 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*path_env*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*path_env*/) /*AbstractArray::is_empty*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { /*if*/
     variable2 = NEW_string___String___init(); /*new String*/
     variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
@@ -218,7 +218,7 @@ void mmloader___ToolContext___process_options(val_t  self) {
     variable2 = ((file___String___file_exists_t)CALL( variable1 /*libname*/,COLOR_file___String___file_exists))( variable1 /*libname*/) /*String::file_exists*/;
     if (UNTAG_Bool(variable2)) { /*if*/
       variable2 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
-      ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*Array::add*/;
+      ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*AbstractArray::add*/;
     }
   }
   variable2 = NEW_string___String___init(); /*new String*/
@@ -237,13 +237,13 @@ void mmloader___ToolContext___process_options(val_t  self) {
   variable2 = ((file___String___file_exists_t)CALL( variable1 /*libname*/,COLOR_file___String___file_exists))( variable1 /*libname*/) /*String::file_exists*/;
   if (UNTAG_Bool(variable2)) { /*if*/
     variable2 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
-    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2,  variable1 /*libname*/) /*AbstractArray::add*/;
   }
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___try_to_load, 106};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 106, LOCATE_mmloader___ToolContext___try_to_load};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -262,32 +262,32 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
   variable2 = ((abstractmetamodel___MMDirectory___modules_t)CALL( variable1 /*dir*/,COLOR_abstractmetamodel___MMDirectory___modules))( variable1 /*dir*/) /*MMDirectory::modules*/;
   variable2 = ((abstract_collection___Map___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Map::iterator*/;
   while (true) { /*for*/
-    variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*MapIterator::is_ok*/;
+    variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable3)) break; /*for*/
-    variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*MapIterator::item*/;
+    variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
     variable4 = ((abstractmetamodel___MMModule___name_t)CALL( variable3 /*m*/,COLOR_abstractmetamodel___MMModule___name))( variable3 /*m*/) /*MMModule::name*/;
-    variable4 = TAG_Bool((variable4 ==  variable0 /*module_name*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*module_name*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*module_name*/) /*Symbol::==*/)))));
+    variable4 = TAG_Bool((variable4 ==  variable0 /*module_name*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*module_name*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4,  variable0 /*module_name*/) /*Object::==*/)))));
     if (UNTAG_Bool(variable4)) { /*if*/
       variable2 =  variable3 /*m*/;
       goto return_label6;
     }
     continue_7: while(0);
-    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
   }
   break_7: while(0);
   variable2 = ATTR_mmloader___ToolContext____loaders( self) /*ToolContext::_loaders*/;
-  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
+  variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable3)) break; /*for*/
     variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
     variable5 = ((mmloader___ModuleLoader___try_to_load_dir_t)CALL( variable3 /*l*/,COLOR_mmloader___ModuleLoader___try_to_load_dir))( variable3 /*l*/,  variable0 /*module_name*/,  variable1 /*dir*/) /*ModuleLoader::try_to_load_dir*/;
     variable4 = variable5;
-    variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*dir2*/ ==  NIT_NULL /*null*/) || (( variable4 /*dir2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*dir2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*dir2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*dir2*/,COLOR_kernel___Object_____eqeq))( variable4 /*dir2*/,  NIT_NULL /*null*/) /*MMDirectory::==*/)))))));
+    variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*dir2*/ ==  NIT_NULL /*null*/) || (( variable4 /*dir2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*dir2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*dir2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*dir2*/,COLOR_kernel___Object_____eqeq))( variable4 /*dir2*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable5)) { /*if*/
       variable6 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable0 /*module_name*/,  variable4 /*dir2*/) /*ToolContext::try_to_load*/;
       variable5 = variable6;
-      variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*m*/ ==  NIT_NULL /*null*/) || (( variable5 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))( variable5 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+      variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*m*/ ==  NIT_NULL /*null*/) || (( variable5 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))( variable5 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable6)) { /*if*/
         ((abstractmetamodel___MMDirectory___owner__eq_t)CALL( variable4 /*dir2*/,COLOR_abstractmetamodel___MMDirectory___owner__eq))( variable4 /*dir2*/,  variable5 /*m*/) /*MMDirectory::owner=*/;
         ((abstractmetamodel___MMDirectory___add_module_t)CALL( variable1 /*dir*/,COLOR_abstractmetamodel___MMDirectory___add_module))( variable1 /*dir*/,  variable5 /*m*/) /*MMDirectory::add_module*/;
@@ -314,7 +314,7 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
         ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
         ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable6) /*ToolContext::error*/;
         exit(UNTAG_Int( TAG_Int(1)));
-        fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ToolContext___try_to_load, 135); nit_exit(1);
+        fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___try_to_load, LOCATE_mmloader, 135); nit_exit(1);
       }
       variable6 = ATTR_mmloader___ToolContext____processing_modules( self) /*ToolContext::_processing_modules*/;
       ((hash___HashSet___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6,  variable5 /*full_name*/) /*HashSet::add*/;
@@ -337,7 +337,7 @@ val_t mmloader___ToolContext___try_to_load(val_t  self, val_t  param0, val_t  pa
   return variable2;
 }
 val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___get_module_from_filename, 152};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 152, LOCATE_mmloader___ToolContext___get_module_from_filename};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -364,7 +364,7 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
   if (UNTAG_Bool(variable4)) { /*if*/
     variable5 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable2 /*module_name*/,  variable3 /*dir*/) /*ToolContext::try_to_load*/;
     variable4 = variable5;
-    variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+    variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable5)) { /*if*/
       variable1 =  variable4 /*m*/;
       goto return_label9;
@@ -386,11 +386,11 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
     ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
     ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable4) /*ToolContext::error*/;
     exit(UNTAG_Int( TAG_Int(1)));
-    fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ToolContext___get_module_from_filename, 175); nit_exit(1);
+    fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___get_module_from_filename, LOCATE_mmloader, 175); nit_exit(1);
   }
   variable5 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable2 /*module_name*/,  variable3 /*dir*/) /*ToolContext::try_to_load*/;
   variable4 = variable5;
-  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+  variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable5)) { /*if*/
     variable1 =  variable4 /*m*/;
     goto return_label9;
@@ -406,13 +406,13 @@ val_t mmloader___ToolContext___get_module_from_filename(val_t  self, val_t  para
   ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
   ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable5) /*ToolContext::error*/;
   exit(UNTAG_Int( TAG_Int(1)));
-  fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ToolContext___get_module_from_filename, 184); nit_exit(1);
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___get_module_from_filename, LOCATE_mmloader, 184); nit_exit(1);
   return_label9: while(false);
   tracehead = trace.prev;
   return variable1;
 }
 val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___get_module, 187};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 187, LOCATE_mmloader___ToolContext___get_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -426,16 +426,16 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
   variable0 =  param0;
   variable1 =  param1;
   variable2 = NIT_NULL /*decl variable m*/;
-  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*from*/ ==  NIT_NULL /*null*/) || (( variable1 /*from*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*from*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*from*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*from*/,COLOR_kernel___Object_____eqeq))( variable1 /*from*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+  variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*from*/ ==  NIT_NULL /*null*/) || (( variable1 /*from*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*from*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*from*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*from*/,COLOR_kernel___Object_____eqeq))( variable1 /*from*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable3)) { /*if*/
     variable4 = ((abstractmetamodel___MMModule___directory_t)CALL( variable1 /*from*/,COLOR_abstractmetamodel___MMModule___directory))( variable1 /*from*/) /*MMModule::directory*/;
     variable3 = variable4;
     while (true) { /*while*/
-      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*dir*/ ==  NIT_NULL /*null*/) || (( variable3 /*dir*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*dir*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*dir*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*dir*/,COLOR_kernel___Object_____eqeq))( variable3 /*dir*/,  NIT_NULL /*null*/) /*MMDirectory::==*/)))))));
+      variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*dir*/ ==  NIT_NULL /*null*/) || (( variable3 /*dir*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*dir*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*dir*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*dir*/,COLOR_kernel___Object_____eqeq))( variable3 /*dir*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (!UNTAG_Bool(variable4)) break; /* while*/
       variable5 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable0 /*module_name*/,  variable3 /*dir*/) /*ToolContext::try_to_load*/;
       variable4 = variable5;
-      variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+      variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*m*/ ==  NIT_NULL /*null*/) || (( variable4 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*m*/,COLOR_kernel___Object_____eqeq))( variable4 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
       if (UNTAG_Bool(variable5)) { /*if*/
         variable2 =  variable4 /*m*/;
         goto return_label10;
@@ -447,7 +447,7 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
     break_11: while(0);
   }
   variable3 = ((mmloader___ToolContext___paths_t)CALL( self,COLOR_mmloader___ToolContext___paths))( self) /*ToolContext::paths*/;
-  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable4)) break; /*for*/
@@ -455,7 +455,7 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
     variable6 = ((mmloader___ToolContext___directory_for_t)CALL( self,COLOR_mmloader___ToolContext___directory_for))( self,  variable4 /*p*/) /*ToolContext::directory_for*/;
     variable6 = ((mmloader___ToolContext___try_to_load_t)CALL( self,COLOR_mmloader___ToolContext___try_to_load))( self,  variable0 /*module_name*/, variable6) /*ToolContext::try_to_load*/;
     variable5 = variable6;
-    variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*m*/ ==  NIT_NULL /*null*/) || (( variable5 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))( variable5 /*m*/,  NIT_NULL /*null*/) /*MMModule::==*/)))))));
+    variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*m*/ ==  NIT_NULL /*null*/) || (( variable5 /*m*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*m*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*m*/,COLOR_kernel___Object_____eqeq))( variable5 /*m*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable6)) { /*if*/
       variable2 =  variable5 /*m*/;
       goto return_label10;
@@ -476,13 +476,13 @@ val_t mmloader___ToolContext___get_module(val_t  self, val_t  param0, val_t  par
   ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
   ((mmloader___ToolContext___error_t)CALL( self,COLOR_mmloader___ToolContext___error))( self, variable3) /*ToolContext::error*/;
   exit(UNTAG_Int( TAG_Int(1)));
-  fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ToolContext___get_module, 208); nit_exit(1);
+  fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___get_module, LOCATE_mmloader, 208); nit_exit(1);
   return_label10: while(false);
   tracehead = trace.prev;
   return variable2;
 }
 val_t mmloader___ToolContext___directory_for(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___directory_for, 211};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 211, LOCATE_mmloader___ToolContext___directory_for};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -509,26 +509,27 @@ val_t mmloader___ToolContext___directory_for(val_t  self, val_t  param0) {
   return variable1;
 }
 void mmloader___ToolContext___register_loader(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ToolContext___register_loader, 223};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 223, LOCATE_mmloader___ToolContext___register_loader};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
   variable0 =  param0;
   variable1 = ATTR_mmloader___ToolContext____loaders( self) /*ToolContext::_loaders*/;
-  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*ml*/) /*Array::add*/;
+  ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1,  variable0 /*ml*/) /*AbstractArray::add*/;
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___ModuleLoader___file_type(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___file_type, 232};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 232, LOCATE_mmloader___ModuleLoader___file_type};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "file_type", LOCATE_mmloader___ToolContext___register_loader, 232);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ToolContext___register_loader, LOCATE_mmloader, 232);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___try_to_load_dir, 235};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 235, LOCATE_mmloader___ModuleLoader___try_to_load_dir};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -578,7 +579,7 @@ val_t mmloader___ModuleLoader___try_to_load_dir(val_t  self, val_t  param0, val_
   return variable2;
 }
 val_t mmloader___ModuleLoader___can_handle(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___can_handle, 245};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 245, LOCATE_mmloader___ModuleLoader___can_handle};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -634,7 +635,7 @@ val_t mmloader___ModuleLoader___can_handle(val_t  self, val_t  param0, val_t  pa
   return variable2;
 }
 val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___load_and_process_module, 254};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 254, LOCATE_mmloader___ModuleLoader___load_and_process_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -683,7 +684,7 @@ val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  para
   variable5 = ((mmloader___ModuleLoader___load_module_t)CALL( self,COLOR_mmloader___ModuleLoader___load_module))( self,  variable0 /*context*/,  variable1 /*module_name*/,  variable2 /*dir*/,  variable3 /*filename*/) /*ModuleLoader::load_module*/;
   variable4 = variable5;
   variable5 = ((mmloader___ToolContext___opt_only_parse_t)CALL( variable0 /*context*/,COLOR_mmloader___ToolContext___opt_only_parse))( variable0 /*context*/) /*ToolContext::opt_only_parse*/;
-  variable5 = ((opts___Option___value_t)CALL(variable5,COLOR_opts___Option___value))(variable5) /*OptionBool::value*/;
+  variable5 = ((opts___Option___value_t)CALL(variable5,COLOR_opts___Option___value))(variable5) /*Option::value*/;
   if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5)))) { /*if*/
     ((mmloader___ModuleLoader___process_metamodel_t)CALL( self,COLOR_mmloader___ModuleLoader___process_metamodel))( self,  variable0 /*context*/,  variable4 /*m*/) /*ModuleLoader::process_metamodel*/;
   }
@@ -694,7 +695,7 @@ val_t mmloader___ModuleLoader___load_and_process_module(val_t  self, val_t  para
   return variable3;
 }
 val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___load_module, 264};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 264, LOCATE_mmloader___ModuleLoader___load_module};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -715,7 +716,7 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
   variable5 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
   variable5 = TAG_Bool(( variable3 /*filename*/ == variable5) || (( variable3 /*filename*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable3 /*filename*/,COLOR_kernel___Object_____eqeq))( variable3 /*filename*/, variable5) /*String::==*/)));
   if (UNTAG_Bool(variable5)) { /*if*/
-    variable5 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*ModuleLoader::stdin*/;
+    variable5 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
     variable4 = variable5 /*file=*/;
   } else { /*if*/
     variable5 = ((string___String___to_s_t)CALL( variable3 /*filename*/,COLOR_string___Object___to_s))( variable3 /*filename*/) /*String::to_s*/;
@@ -723,7 +724,7 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
     variable5 = variable6;
     variable4 = variable5 /*file=*/;
   }
-  variable5 = ((stream___BufferedIStream___eof_t)CALL( variable4 /*file*/,COLOR_stream___IStream___eof))( variable4 /*file*/) /*IFStream::eof*/;
+  variable5 = ((stream___BufferedIStream___eof_t)CALL( variable4 /*file*/,COLOR_stream___IStream___eof))( variable4 /*file*/) /*BufferedIStream::eof*/;
   if (UNTAG_Bool(variable5)) { /*if*/
     variable5 = NEW_string___String___init(); /*new String*/
     variable6 = NEW_string___String___with_native(BOX_NativeString("Error: Problem in opening file "), TAG_Int(31)); /*new String*/
@@ -736,13 +737,13 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
     ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
     ((mmloader___ToolContext___error_t)CALL( variable0 /*context*/,COLOR_mmloader___ToolContext___error))( variable0 /*context*/, variable5) /*ToolContext::error*/;
     exit(UNTAG_Int( TAG_Int(1)));
-    fprintf(stderr, "Aborted (%s: %d)\n", LOCATE_mmloader___ModuleLoader___load_module, 277); nit_exit(1);
+    fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ModuleLoader___load_module, LOCATE_mmloader, 277); nit_exit(1);
   }
   variable6 = ((mmloader___ModuleLoader___parse_file_t)CALL( self,COLOR_mmloader___ModuleLoader___parse_file))( self,  variable0 /*context*/,  variable4 /*file*/,  variable3 /*filename*/,  variable1 /*module_name*/,  variable2 /*dir*/) /*ModuleLoader::parse_file*/;
   variable5 = variable6;
   ((mmloader___MMModule___filename__eq_t)CALL( variable5 /*m*/,COLOR_mmloader___MMModule___filename__eq))( variable5 /*m*/,  variable3 /*filename*/) /*MMModule::filename=*/;
-  variable6 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*ModuleLoader::stdin*/;
-  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*file*/ == variable6) || (( variable4 /*file*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*file*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*file*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*file*/,COLOR_kernel___Object_____eqeq))( variable4 /*file*/, variable6) /*IFStream::==*/)))))));
+  variable6 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
+  variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4 /*file*/ == variable6) || (( variable4 /*file*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*file*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*file*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*file*/,COLOR_kernel___Object_____eqeq))( variable4 /*file*/, variable6) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
     ((file___IFStream___close_t)CALL( variable4 /*file*/,COLOR_stream___IOS___close))( variable4 /*file*/) /*IFStream::close*/;
   }
@@ -753,49 +754,51 @@ val_t mmloader___ModuleLoader___load_module(val_t  self, val_t  param0, val_t  p
   return variable4;
 }
 val_t mmloader___ModuleLoader___parse_file(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, val_t  param4) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___parse_file, 285};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 285, LOCATE_mmloader___ModuleLoader___parse_file};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "parse_file", LOCATE_mmloader___ModuleLoader___load_module, 285);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ModuleLoader___load_module, LOCATE_mmloader, 285);
   nit_exit(1);
   tracehead = trace.prev;
   return NIT_NULL;
 }
 void mmloader___ModuleLoader___process_metamodel(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___ModuleLoader___process_metamodel, 288};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 288, LOCATE_mmloader___ModuleLoader___process_metamodel};
   trace.prev = tracehead; tracehead = &trace;
-  fprintf(stderr, "Deferred method %s called (%s: %d)\n", "process_metamodel", LOCATE_mmloader___ModuleLoader___load_module, 288);
+  fprintf(stderr, "Deferred method %s called");
+  fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___ModuleLoader___load_module, LOCATE_mmloader, 288);
   nit_exit(1);
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___MMModule___filename(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___filename, 293};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 293, LOCATE_mmloader___MMModule___filename};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___MMModule____filename( self) /*MMModule::_filename*/;
 }
 void mmloader___MMModule___filename__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___filename__eq, 293};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 293, LOCATE_mmloader___MMModule___filename__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmloader___MMModule____filename( self) /*MMModule::_filename*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 val_t mmloader___MMModule___mtime(val_t  self) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___mtime, 296};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 296, LOCATE_mmloader___MMModule___mtime};
   trace.prev = tracehead; tracehead = &trace;
   tracehead = trace.prev;
   return ATTR_mmloader___MMModule____mtime( self) /*MMModule::_mtime*/;
 }
 void mmloader___MMModule___mtime__eq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___mtime__eq, 296};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 296, LOCATE_mmloader___MMModule___mtime__eq};
   trace.prev = tracehead; tracehead = &trace;
   ATTR_mmloader___MMModule____mtime( self) /*MMModule::_mtime*/ =  param0;
   tracehead = trace.prev;
   return;
 }
 void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, LOCATE_mmloader___MMModule___import_supers_modules, 299};
+  struct trace_t trace = {NULL, LOCATE_mmloader, 299, LOCATE_mmloader___MMModule___import_supers_modules};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -808,8 +811,8 @@ void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
   variable2 = ((abstractmetamodel___MMModule___context_t)CALL( self,COLOR_abstractmetamodel___MMModule___context))( self) /*MMModule::context*/;
   variable1 = variable2;
   variable2 = TAG_Bool(( variable1 /*c*/==NIT_NULL) || VAL_ISA( variable1 /*c*/, COLOR_ToolContext, ID_ToolContext)) /*cast ToolContext*/;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_mmloader___MMModule___import_supers_modules, 303); nit_exit(1);}
-  variable3 = NEW_array___Array___init(); /*new Array[MMModule]*/
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_mmloader___MMModule___import_supers_modules, LOCATE_mmloader, 303); nit_exit(1);}
+  variable3 = NEW_array___Array___init(); /*new Array[E]*/
   variable2 = variable3;
   variable3 = ((abstract_collection___Collection___iterator_t)CALL( variable0 /*names*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*names*/) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -818,12 +821,12 @@ void mmloader___MMModule___import_supers_modules(val_t  self, val_t  param0) {
     variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
     variable6 = ((mmloader___ToolContext___get_module_t)CALL( variable1 /*c*/,COLOR_mmloader___ToolContext___get_module))( variable1 /*c*/,  variable4 /*n*/,  self) /*ToolContext::get_module*/;
     variable5 = variable6;
-    ((array___AbstractArray___add_t)CALL( variable2 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*supers*/,  variable5 /*m*/) /*Array::add*/;
+    ((array___AbstractArray___add_t)CALL( variable2 /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*supers*/,  variable5 /*m*/) /*AbstractArray::add*/;
     continue_20: while(0);
     ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
   }
   break_20: while(0);
-  ((abstractmetamodel___MMContext___add_module_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMContext___add_module))( variable1 /*c*/,  self,  variable2 /*supers*/) /*ToolContext::add_module*/;
+  ((abstractmetamodel___MMContext___add_module_t)CALL( variable1 /*c*/,COLOR_abstractmetamodel___MMContext___add_module))( variable1 /*c*/,  self,  variable2 /*supers*/) /*MMContext::add_module*/;
   tracehead = trace.prev;
   return;
 }