Update SCM ignore rules.
[nit.git] / c_src / string._sep.c
index 50b3a01..a7ce642 100644 (file)
@@ -1,9 +1,11 @@
+/* This C file is generated by NIT to compile module string. */
 #include "string._sep.h"
 val_t string___String_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::[] (bin/../lib/standard//string.nit:31,2--44)"};
+  struct trace_t trace = {NULL, NULL, 31, LOCATE_string___String_____bra};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ATTR_string___String____items( self) /*String::_items*/;
   variable1 = TAG_Char(UNBOX_NativeString(variable1)[UNTAG_Int( variable0 /*index*/)]);
@@ -13,15 +15,16 @@ val_t string___String_____bra(val_t  self, val_t  param0) {
   return variable1;
 }
 void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "string::String::[]= (bin/../lib/standard//string.nit:33,2--40:22)"};
+  struct trace_t trace = {NULL, NULL, 33, LOCATE_string___String_____braeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = TAG_Bool(( variable0 /*index*/)==(variable2));
   if (UNTAG_Bool(variable2)) { /*if*/
     ((string___String___add_t)CALL( self,COLOR_abstract_collection___SimpleCollection___add))( self,  variable1 /*item*/) /*String::add*/;
@@ -30,11 +33,11 @@ void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*index*/)>=UNTAG_Int( TAG_Int(0)));
   variable3 = variable2;
   if (UNTAG_Bool(variable3)) { /* and */
-    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable3 = TAG_Bool(UNTAG_Int( variable0 /*index*/)<UNTAG_Int(variable3));
   }
   variable2 = variable3;
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: bin/../lib/standard//string.nit:39,3--38\n"); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String_____braeq, LOCATE_string, 39); nit_exit(1);}
   variable2 = ATTR_string___String____items( self) /*String::_items*/;
   UNBOX_NativeString(variable2)[UNTAG_Int( variable0 /*index*/)]=UNTAG_Char( variable1 /*item*/);
   return_label1: while(false);
@@ -42,35 +45,37 @@ void string___String_____braeq(val_t  self, val_t  param0, val_t  param1) {
   return;
 }
 void string___String___add(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::add (bin/../lib/standard//string.nit:43,2--47:14)"};
+  struct trace_t trace = {NULL, NULL, 43, LOCATE_string___String___add};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ATTR_string___String____capacity( self) /*String::_capacity*/;
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = TAG_Bool(UNTAG_Int(variable1)<=UNTAG_Int(variable2));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(5)));
     ((string___String___enlarge_t)CALL( self,COLOR_array___AbstractArray___enlarge))( self, variable1) /*String::enlarge*/;
   }
   variable1 = ATTR_string___String____items( self) /*String::_items*/;
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   UNBOX_NativeString(variable1)[UNTAG_Int(variable2)]=UNTAG_Char( variable0 /*c*/);
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*String::_length*/)+UNTAG_Int( TAG_Int(1)));
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/)+UNTAG_Int( TAG_Int(1)));
   tracehead = trace.prev;
   return;
 }
 void string___String___enlarge(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::enlarge (bin/../lib/standard//string.nit:50,2--58:15)"};
+  struct trace_t trace = {NULL, NULL, 50, LOCATE_string___String___enlarge};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable2 = ATTR_string___String____capacity( self) /*String::_capacity*/;
   variable1 = variable2;
@@ -90,7 +95,7 @@ void string___String___enlarge(val_t  self, val_t  param0) {
   variable3 = BOX_NativeString((char*)malloc((UNTAG_Int( variable1 /*c*/) * sizeof(char))));
   variable2 = variable3;
   variable3 = ATTR_string___String____items( self) /*String::_items*/;
-  variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   (void)memcpy(UNBOX_NativeString( variable2 /*a*/)+UNTAG_Int( TAG_Int(0)), UNBOX_NativeString(variable3)+UNTAG_Int( TAG_Int(0)), UNTAG_Int(variable4));
   ATTR_string___String____items( self) /*String::_items*/ =  variable2 /*a*/;
   ATTR_string___String____capacity( self) /*String::_capacity*/ =  variable1 /*c*/;
@@ -99,32 +104,33 @@ void string___String___enlarge(val_t  self, val_t  param0) {
   return;
 }
 void string___String___append(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::append (bin/../lib/standard//string.nit:61,2--69:8)"};
+  struct trace_t trace = {NULL, NULL, 61, LOCATE_string___String___append};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*s*/==NIT_NULL) || VAL_ISA( variable0 /*s*/, COLOR_String, ID_String)) /*cast String*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+    variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
     variable1 = variable2;
     variable2 = ATTR_string___String____capacity( self) /*String::_capacity*/;
-    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( variable1 /*sl*/));
     variable2 = TAG_Bool(UNTAG_Int(variable2)<UNTAG_Int(variable3));
     if (UNTAG_Bool(variable2)) { /*if*/
-      variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+      variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
       variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( variable1 /*sl*/));
       ((string___String___enlarge_t)CALL( self,COLOR_array___AbstractArray___enlarge))( self, variable2) /*String::enlarge*/;
     }
     variable2 = ((string___String___items_t)CALL( variable0 /*s*/,COLOR_string___String___items))( variable0 /*s*/) /*String::items*/;
     variable3 = ATTR_string___String____items( self) /*String::_items*/;
-    variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable4 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     (void)memcpy(UNBOX_NativeString(variable3)+UNTAG_Int(variable4), UNBOX_NativeString(variable2)+UNTAG_Int( TAG_Int(0)), UNTAG_Int( variable1 /*sl*/));
-    ATTR_array___AbstractArray____length( self) /*String::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*String::_length*/)+UNTAG_Int( variable1 /*sl*/));
+    ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/)+UNTAG_Int( variable1 /*sl*/));
   } else { /*if*/
     ((string___String___append_t)CALL( self,COLOR_SUPER_string___String___append))( self,  param0) /*super String::append*/;
   }
@@ -132,17 +138,18 @@ void string___String___append(val_t  self, val_t  param0) {
   return;
 }
 val_t string___String_____plus(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::+ (bin/../lib/standard//string.nit:73,2--79:10)"};
+  struct trace_t trace = {NULL, NULL, 73, LOCATE_string___String_____plus};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
-  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
+  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int(variable3));
-  variable3 = NEW_string___String___with_capacity(variable2); /*new String*/
+  variable3 = NEW_String_string___String___with_capacity(variable2); /*new String*/
   variable2 = variable3;
   variable1 = variable2;
   ((string___String___append_t)CALL( variable1 /*r*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*r*/,  self) /*String::append*/;
@@ -154,18 +161,19 @@ val_t string___String_____plus(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String_____star(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::* (bin/../lib/standard//string.nit:82,2--91:10)"};
+  struct trace_t trace = {NULL, NULL, 82, LOCATE_string___String_____star};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*i*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: bin/../lib/standard//string.nit:85,3--15\n"); nit_exit(1);}
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String_____star, LOCATE_string, 85); nit_exit(1);}
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = TAG_Int(UNTAG_Int(variable2)*UNTAG_Int( variable0 /*i*/));
-  variable3 = NEW_string___String___with_capacity(variable2); /*new String*/
+  variable3 = NEW_String_string___String___with_capacity(variable2); /*new String*/
   variable2 = variable3;
   variable1 = variable2;
   while (true) { /*while*/
@@ -183,19 +191,21 @@ val_t string___String_____star(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_s(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::to_s (bin/../lib/standard//string.nit:94,2--95:55)"};
+  struct trace_t trace = {NULL, NULL, 94, LOCATE_string___String___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_string___String___from( self); /*new String*/
+  trace.file = LOCATE_string;
+  variable0 = NEW_String_string___String___from( self); /*new String*/
   goto return_label9;
   return_label9: while(false);
   tracehead = trace.prev;
   return variable0;
 }
 val_t string___String___to_i(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::to_i (bin/../lib/standard//string.nit:97,2--101:24)"};
+  struct trace_t trace = {NULL, NULL, 97, LOCATE_string___String___to_i};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
   variable0 = TAG_Int(atoi(UNBOX_NativeString(variable0)));
   goto return_label10;
@@ -204,9 +214,10 @@ val_t string___String___to_i(val_t  self) {
   return variable0;
 }
 val_t string___String___to_hex(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::to_hex (bin/../lib/standard//string.nit:104,2--105:35)"};
+  struct trace_t trace = {NULL, NULL, 104, LOCATE_string___String___to_hex};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___String___a_to_t)CALL( self,COLOR_string___String___a_to))( self,  TAG_Int(16)) /*String::a_to*/;
   goto return_label11;
   return_label11: while(false);
@@ -214,7 +225,7 @@ val_t string___String___to_hex(val_t  self) {
   return variable0;
 }
 val_t string___String___a_to(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::a_to (bin/../lib/standard//string.nit:107,2--131:11)"};
+  struct trace_t trace = {NULL, NULL, 107, LOCATE_string___String___a_to};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -223,10 +234,11 @@ val_t string___String___a_to(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
   variable2 =  TAG_Bool(false);
-  variable3 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*String::iterator*/;
+  variable3 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*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*/
@@ -270,12 +282,13 @@ val_t string___String___a_to(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_cstring(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::to_cstring (bin/../lib/standard//string.nit:135,2--140:15)"};
+  struct trace_t trace = {NULL, NULL, 135, LOCATE_string___String___to_cstring};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  trace.file = LOCATE_string;
+  variable0 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   ((string___String_____braeq_t)CALL( self,COLOR_abstract_collection___Map_____braeq))( self, variable0,  TAG_Char('\0')) /*String::[]=*/;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*String::_length*/)-UNTAG_Int( TAG_Int(1)));
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/)-UNTAG_Int( TAG_Int(1)));
   variable0 = ATTR_string___String____items( self) /*String::_items*/;
   goto return_label14;
   return_label14: while(false);
@@ -283,32 +296,33 @@ val_t string___String___to_cstring(val_t  self) {
   return variable0;
 }
 val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "string::String::substring (bin/../lib/standard//string.nit:143,2--163:12)"};
+  struct trace_t trace = {NULL, NULL, 143, LOCATE_string___String___substring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
     val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*count*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: bin/../lib/standard//string.nit:151,3--19\n"); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String___substring, LOCATE_string, 151); nit_exit(1);}
   variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( variable0 /*from*/)) /*count*/;
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*from*/)<UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable0 =  TAG_Int(0) /*from=*/;
   }
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*count*/)>UNTAG_Int(variable2));
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable1 = variable2 /*count=*/;
   }
   variable2 = TAG_Bool(UNTAG_Int( variable0 /*from*/)<UNTAG_Int( variable1 /*count*/));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable3 = TAG_Int(UNTAG_Int( variable1 /*count*/)-UNTAG_Int( variable0 /*from*/));
-    variable4 = NEW_string___String___with_capacity(variable3); /*new String*/
+    variable4 = NEW_String_string___String___with_capacity(variable3); /*new String*/
     variable3 = variable4;
     variable2 = variable3;
     while (true) { /*while*/
@@ -316,7 +330,7 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
       if (!UNTAG_Bool(variable3)) break; /* while*/
       variable3 = ATTR_string___String____items( self) /*String::_items*/;
       variable3 = TAG_Char(UNBOX_NativeString(variable3)[UNTAG_Int( variable0 /*from*/)]);
-      ((array___AbstractArray___push_t)CALL( variable2 /*r*/,COLOR_abstract_collection___IndexedCollection___push))( variable2 /*r*/, variable3) /*String::push*/;
+      ((array___AbstractArray___push_t)CALL( variable2 /*r*/,COLOR_abstract_collection___IndexedCollection___push))( variable2 /*r*/, variable3) /*AbstractArray::push*/;
       variable0 = TAG_Int(UNTAG_Int(variable0)+UNTAG_Int( TAG_Int(1))) /*from*/;
       continue_16: while(0);
     }
@@ -324,7 +338,7 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
     variable2 =  variable2 /*r*/;
     goto return_label15;
   } else { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     goto return_label15;
   }
   return_label15: while(false);
@@ -332,15 +346,16 @@ val_t string___String___substring(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___String___substring_from(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::substring_from (bin/../lib/standard//string.nit:167,2--175:38)"};
+  struct trace_t trace = {NULL, NULL, 167, LOCATE_string___String___substring_from};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*from*/)<UNTAG_Int(variable1));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: bin/../lib/standard//string.nit:174,3--22\n"); nit_exit(1);}
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String___substring_from, LOCATE_string, 174); nit_exit(1);}
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( variable0 /*from*/));
   variable1 = ((string___String___substring_t)CALL( self,COLOR_string___String___substring))( self,  variable0 /*from*/, variable1) /*String::substring*/;
   goto return_label17;
@@ -349,7 +364,7 @@ val_t string___String___substring_from(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "string::String::has_substring (bin/../lib/standard//string.nit:178,2--194:13)"};
+  struct trace_t trace = {NULL, NULL, 178, LOCATE_string___String___has_substring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -359,9 +374,10 @@ val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1)
   val_t variable6;
   val_t variable7;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
-  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*str*/,COLOR_abstract_collection___Collection___length))( variable0 /*str*/) /*String::length*/;
+  variable3 = ((array___AbstractArray___length_t)CALL( variable0 /*str*/,COLOR_abstract_collection___Collection___length))( variable0 /*str*/) /*AbstractArray::length*/;
   variable3 = TAG_Int(UNTAG_Int(variable3)-UNTAG_Int( TAG_Int(1)));
   variable2 = variable3;
   variable4 = TAG_Int(UNTAG_Int( variable1 /*pos*/)+UNTAG_Int( variable2 /*itsindex*/));
@@ -370,7 +386,7 @@ val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1)
   variable4 = variable5;
   variable6 = ATTR_string___String____items( variable0 /*str*/) /*String::_items*/;
   variable5 = variable6;
-  variable6 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable6 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable6 = TAG_Bool(UNTAG_Int( variable3 /*myindex*/)>UNTAG_Int(variable6));
   variable7 = variable6;
   if (!UNTAG_Bool(variable7)) { /* or */
@@ -403,10 +419,11 @@ val_t string___String___has_substring(val_t  self, val_t  param0, val_t  param1)
   return variable2;
 }
 val_t string___String___has_prefix(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::has_prefix (bin/../lib/standard//string.nit:197,2--201:71)"};
+  struct trace_t trace = {NULL, NULL, 197, LOCATE_string___String___has_prefix};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ((string___String___has_substring_t)CALL( self,COLOR_string___String___has_substring))( self,  variable0 /*prefix*/,  TAG_Int(0)) /*String::has_substring*/;
   goto return_label20;
@@ -415,14 +432,15 @@ val_t string___String___has_prefix(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___has_suffix(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::has_suffix (bin/../lib/standard//string.nit:203,2--207:93)"};
+  struct trace_t trace = {NULL, NULL, 203, LOCATE_string___String___has_suffix};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
-  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*suffix*/,COLOR_abstract_collection___Collection___length))( variable0 /*suffix*/) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*suffix*/,COLOR_abstract_collection___Collection___length))( variable0 /*suffix*/) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int(variable2));
   variable1 = ((string___String___has_substring_t)CALL( self,COLOR_string___String___has_substring))( self,  variable0 /*suffix*/, variable1) /*String::has_substring*/;
   goto return_label21;
@@ -431,7 +449,7 @@ val_t string___String___has_suffix(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String_____l(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::< (bin/../lib/standard//string.nit:209,2--227:15)"};
+  struct trace_t trace = {NULL, NULL, 209, LOCATE_string___String_____l};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -440,11 +458,12 @@ val_t string___String_____l(val_t  self, val_t  param0) {
     val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  TAG_Int(0);
-  variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  variable3 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable2 = variable3;
-  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  variable4 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable3 = variable4;
   while (true) { /*while*/
     variable4 = TAG_Bool(UNTAG_Int( variable1 /*i*/)<UNTAG_Int( variable2 /*l1*/));
@@ -488,8 +507,9 @@ val_t string___String_____l(val_t  self, val_t  param0) {
   return variable1;
 }
 void string___String___init(val_t  self, int* init_table) {
-  struct trace_t trace = {NULL, "string::String::init (bin/../lib/standard//string.nit:231,2--234:17)"};
+  struct trace_t trace = {NULL, NULL, 231, LOCATE_string___String___init};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   ((string___String___with_capacity_t)CALL( self,COLOR_string___String___with_capacity))( self,  TAG_Int(5), init_table /*YYY*/) /*String::with_capacity*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
@@ -497,71 +517,75 @@ void string___String___init(val_t  self, int* init_table) {
   return;
 }
 void string___String___from(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, "string::String::from (bin/../lib/standard//string.nit:237,2--242:39)"};
+  struct trace_t trace = {NULL, NULL, 237, LOCATE_string___String___from};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
+  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
   variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1)));
   ATTR_string___String____capacity( self) /*String::_capacity*/ = variable1;
-  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ = variable1;
+  variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*AbstractArray::length*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ = variable1;
   variable1 = ATTR_string___String____capacity( self) /*String::_capacity*/;
   variable1 = BOX_NativeString((char*)malloc((UNTAG_Int(variable1) * sizeof(char))));
   ATTR_string___String____items( self) /*String::_items*/ = variable1;
   variable1 = ((string___String___items_t)CALL( variable0 /*s*/,COLOR_string___String___items))( variable0 /*s*/) /*String::items*/;
   variable2 = ATTR_string___String____items( self) /*String::_items*/;
-  variable3 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
+  variable3 = ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/;
   (void)memcpy(UNBOX_NativeString(variable2)+UNTAG_Int( TAG_Int(0)), UNBOX_NativeString(variable1)+UNTAG_Int( TAG_Int(0)), UNTAG_Int(variable3));
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___with_capacity(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, "string::String::with_capacity (bin/../lib/standard//string.nit:245,2--252:13)"};
+  struct trace_t trace = {NULL, NULL, 245, LOCATE_string___String___with_capacity};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   variable1 = TAG_Bool(UNTAG_Int( variable0 /*cap*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: bin/../lib/standard//string.nit:248,3--17\n"); nit_exit(1);}
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String___with_capacity, LOCATE_string, 248); nit_exit(1);}
   variable1 = BOX_NativeString((char*)malloc((UNTAG_Int( variable0 /*cap*/) * sizeof(char))));
   ATTR_string___String____items( self) /*String::_items*/ = variable1;
   ATTR_string___String____capacity( self) /*String::_capacity*/ =  variable0 /*cap*/;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ =  TAG_Int(0);
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  TAG_Int(0);
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___with_native(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, "string::String::with_native (bin/../lib/standard//string.nit:255,2--261:16)"};
+  struct trace_t trace = {NULL, NULL, 255, LOCATE_string___String___with_native};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   variable2 = TAG_Bool(UNTAG_Int( variable1 /*size*/)>=UNTAG_Int( TAG_Int(0)));
-  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: bin/../lib/standard//string.nit:258,3--18\n"); nit_exit(1);}
+  if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String___with_native, LOCATE_string, 258); nit_exit(1);}
   ATTR_string___String____items( self) /*String::_items*/ =  variable0 /*nat*/;
   ATTR_string___String____capacity( self) /*String::_capacity*/ =  variable1 /*size*/;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ =  variable1 /*size*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  variable1 /*size*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___from_cstring(val_t  self, val_t  param0, int* init_table) {
-  struct trace_t trace = {NULL, "string::String::from_cstring (bin/../lib/standard//string.nit:264,2--270:16)"};
+  struct trace_t trace = {NULL, NULL, 264, LOCATE_string___String___from_cstring};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
   variable2 = ((string___NativeString___cstring_length_t)CALL( variable0 /*str*/,COLOR_string___NativeString___cstring_length))( variable0 /*str*/) /*NativeString::cstring_length*/;
@@ -569,18 +593,19 @@ void string___String___from_cstring(val_t  self, val_t  param0, int* init_table)
   ATTR_string___String____items( self) /*String::_items*/ =  variable0 /*str*/;
   variable2 = TAG_Int(UNTAG_Int( variable1 /*size*/)+UNTAG_Int( TAG_Int(1)));
   ATTR_string___String____capacity( self) /*String::_capacity*/ = variable2;
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ =  variable1 /*size*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  variable1 /*size*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___filled_with(val_t  self, val_t  param0, val_t  param1, int* init_table) {
-  struct trace_t trace = {NULL, "string::String::filled_with (bin/../lib/standard//string.nit:273,2--282:17)"};
+  struct trace_t trace = {NULL, NULL, 273, LOCATE_string___String___filled_with};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i]) return;
@@ -595,19 +620,20 @@ void string___String___filled_with(val_t  self, val_t  param0, val_t  param1, in
     continue_30: while(0);
   }
   break_30: while(0);
-  ATTR_array___AbstractArray____length( self) /*String::_length*/ =  variable1 /*count*/;
+  ATTR_array___AbstractArray____length( self) /*AbstractArray::_length*/ =  variable1 /*count*/;
   init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_String].i] = 1;
   tracehead = trace.prev;
   return;
 }
 void string___String___output(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::output (bin/../lib/standard//string.nit:285,2--290:9)"};
+  struct trace_t trace = {NULL, NULL, 285, LOCATE_string___String___output};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  TAG_Int(0);
   while (true) { /*while*/
-    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+    variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
     variable1 = TAG_Bool(UNTAG_Int( variable0 /*i*/)<UNTAG_Int(variable1));
     if (!UNTAG_Bool(variable1)) break; /* while*/
     variable1 = ATTR_string___String____items( self) /*String::_items*/;
@@ -621,7 +647,7 @@ void string___String___output(val_t  self) {
   return;
 }
 val_t string___String_____eqeq(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::String::== (bin/../lib/standard//string.nit:294,2--307:13)"};
+  struct trace_t trace = {NULL, NULL, 294, LOCATE_string___String_____eqeq};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -630,6 +656,7 @@ val_t string___String_____eqeq(val_t  self, val_t  param0) {
   val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*o*/==NIT_NULL) || VAL_ISA( variable0 /*o*/, COLOR_String, ID_String)) /*cast String*/;
   variable1 =  TAG_Bool(!UNTAG_Bool(variable1));
@@ -641,10 +668,10 @@ val_t string___String_____eqeq(val_t  self, val_t  param0) {
     goto return_label33;
   }
   variable1 = TAG_Bool(( variable0 /*o*/==NIT_NULL) || VAL_ISA( variable0 /*o*/, COLOR_String, ID_String)) /*cast String*/;
-  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: bin/../lib/standard//string.nit:297,3--21\n"); nit_exit(1);}
-  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
+  if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_string___String_____eqeq, LOCATE_string, 297); nit_exit(1);}
+  variable2 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
   variable1 = variable2;
-  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*o*/,COLOR_abstract_collection___Collection___length))( variable0 /*o*/) /*String::length*/;
+  variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*o*/,COLOR_abstract_collection___Collection___length))( variable0 /*o*/) /*AbstractArray::length*/;
   variable2 = TAG_Bool((variable2)!=( variable1 /*l*/));
   if (UNTAG_Bool(variable2)) { /*if*/
     variable1 =  TAG_Bool(false);
@@ -676,17 +703,18 @@ val_t string___String_____eqeq(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___String___to_upper(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::to_upper (bin/../lib/standard//string.nit:310,2--315:10)"};
+  struct trace_t trace = {NULL, NULL, 310, LOCATE_string___String___to_upper};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
-  variable2 = NEW_string___String___with_capacity(variable1); /*new String*/
+  trace.file = LOCATE_string;
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
+  variable2 = NEW_String_string___String___with_capacity(variable1); /*new String*/
   variable1 = variable2;
   variable0 = variable1;
-  variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*String::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -704,17 +732,18 @@ val_t string___String___to_upper(val_t  self) {
   return variable0;
 }
 val_t string___String___to_lower(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::to_lower (bin/../lib/standard//string.nit:318,2--323:10)"};
+  struct trace_t trace = {NULL, NULL, 318, LOCATE_string___String___to_lower};
   val_t variable0;
   val_t variable1;
   val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
-  variable2 = NEW_string___String___with_capacity(variable1); /*new String*/
+  trace.file = LOCATE_string;
+  variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*AbstractArray::length*/;
+  variable2 = NEW_String_string___String___with_capacity(variable1); /*new String*/
   variable1 = variable2;
   variable0 = variable1;
-  variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*String::iterator*/;
+  variable1 = ((array___AbstractArray___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*AbstractArray::iterator*/;
   while (true) { /*for*/
     variable2 = ((array___ArrayIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ArrayIterator::is_ok*/;
     if (!UNTAG_Bool(variable2)) break; /*for*/
@@ -732,21 +761,24 @@ val_t string___String___to_lower(val_t  self) {
   return variable0;
 }
 val_t string___String___items(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::items (bin/../lib/standard//string.nit:326,2--43)"};
+  struct trace_t trace = {NULL, NULL, 326, LOCATE_string___String___items};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return ATTR_string___String____items( self) /*String::_items*/;
 }
 val_t string___String___capacity(val_t  self) {
-  struct trace_t trace = {NULL, "string::String::capacity (bin/../lib/standard//string.nit:327,2--37)"};
+  struct trace_t trace = {NULL, NULL, 327, LOCATE_string___String___capacity};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return ATTR_string___String____capacity( self) /*String::_capacity*/;
 }
 val_t string___Object___to_s(val_t  self) {
-  struct trace_t trace = {NULL, "string::Object::to_s (bin/../lib/standard//string.nit:337,2--338:36)"};
+  struct trace_t trace = {NULL, NULL, 337, LOCATE_string___Object___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Object___inspect_t)CALL( self,COLOR_string___Object___inspect))( self) /*Object::inspect*/;
   goto return_label39;
   return_label39: while(false);
@@ -754,10 +786,11 @@ val_t string___Object___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Object___inspect(val_t  self) {
-  struct trace_t trace = {NULL, "string::Object::inspect (bin/../lib/standard//string.nit:340,2--346:10)"};
+  struct trace_t trace = {NULL, NULL, 340, LOCATE_string___Object___inspect};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable1 = ((string___Object___inspect_head_t)CALL( self,COLOR_string___Object___inspect_head))( self) /*Object::inspect_head*/;
   variable0 = variable1;
   ((string___String___add_t)CALL( variable0 /*r*/,COLOR_abstract_collection___SimpleCollection___add))( variable0 /*r*/,  TAG_Char('>')) /*String::add*/;
@@ -768,7 +801,7 @@ val_t string___Object___inspect(val_t  self) {
   return variable0;
 }
 val_t string___Object___inspect_head(val_t  self) {
-  struct trace_t trace = {NULL, "string::Object::inspect_head (bin/../lib/standard//string.nit:349,2--353:30)"};
+  struct trace_t trace = {NULL, NULL, 349, LOCATE_string___Object___inspect_head};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -777,15 +810,16 @@ val_t string___Object___inspect_head(val_t  self) {
   val_t variable5;
   val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
-  variable0 = NEW_string___String___init(); /*new String*/
-  variable1 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
+  trace.file = LOCATE_string;
+  variable0 = NEW_String_string___String___init(); /*new String*/
+  variable1 = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
   variable2 = variable1;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable2) /*String::append*/;
-  variable3 = TAG_Int((int) self);
+  variable3 = TAG_Int((bigint) self);
   variable3 = ((string___Int___to_hex_t)CALL(variable3,COLOR_string___Int___to_hex))(variable3) /*Int::to_hex*/;
   variable4 = variable3;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable4) /*String::append*/;
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable0,COLOR_abstract_collection___IndexedCollection___append))(variable0, variable6) /*String::append*/;
   goto return_label41;
@@ -794,9 +828,10 @@ val_t string___Object___inspect_head(val_t  self) {
   return variable0;
 }
 val_t string___Object___args(val_t  self) {
-  struct trace_t trace = {NULL, "string::Object::args (bin/../lib/standard//string.nit:356,2--358:17)"};
+  struct trace_t trace = {NULL, NULL, 356, LOCATE_string___Object___args};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = (G_sys);
   variable0 = ((string___Sys___args_t)CALL(variable0,COLOR_string___Object___args))(variable0) /*Sys::args*/;
   goto return_label42;
@@ -805,15 +840,16 @@ val_t string___Object___args(val_t  self) {
   return variable0;
 }
 val_t string___Bool___to_s(val_t  self) {
-  struct trace_t trace = {NULL, "string::Bool::to_s (bin/../lib/standard//string.nit:363,2--368:22)"};
+  struct trace_t trace = {NULL, NULL, 363, LOCATE_string___Bool___to_s};
   val_t variable0;
     static val_t once_value_variable0_44; static int once_bool_variable0_44;
     static val_t once_value_variable0_45; static int once_bool_variable0_45;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   if (UNTAG_Bool( self)) { /*if*/
     if (once_bool_variable0_44) variable0 = once_value_variable0_44;
     else {
-      variable0 = NEW_string___String___with_native(BOX_NativeString("true"), TAG_Int(4)); /*new String*/
+      variable0 = NEW_String_string___String___with_native(BOX_NativeString("true"), TAG_Int(4)); /*new String*/
       once_value_variable0_44 = variable0;
       once_bool_variable0_44 = true;
     }
@@ -821,7 +857,7 @@ val_t string___Bool___to_s(val_t  self) {
   } else { /*if*/
     if (once_bool_variable0_45) variable0 = once_value_variable0_45;
     else {
-      variable0 = NEW_string___String___with_native(BOX_NativeString("false"), TAG_Int(5)); /*new String*/
+      variable0 = NEW_String_string___String___with_native(BOX_NativeString("false"), TAG_Int(5)); /*new String*/
       once_value_variable0_45 = variable0;
       once_bool_variable0_45 = true;
     }
@@ -832,7 +868,7 @@ val_t string___Bool___to_s(val_t  self) {
   return variable0;
 }
 void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t  param2) {
-  struct trace_t trace = {NULL, "string::Int::fill_string (bin/../lib/standard//string.nit:374,2--394:11)"};
+  struct trace_t trace = {NULL, NULL, 374, LOCATE_string___Int___fill_string};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -841,10 +877,11 @@ void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t
   val_t variable5;
     val_t variable6;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable2 =  param2;
-  variable3 = TAG_Int((int)0) /*decl variable n*/;
+  variable3 = TAG_Int((bigint)0) /*decl variable n*/;
   variable4 = TAG_Bool(UNTAG_Int( self)<UNTAG_Int( TAG_Int(0)));
   if (UNTAG_Bool(variable4)) { /*if*/
     variable4 = TAG_Int(-UNTAG_Int( self));
@@ -884,9 +921,10 @@ void string___Int___fill_string(val_t  self, val_t  param0, val_t  param1, val_t
   return;
 }
 val_t string___Int___to_s(val_t  self) {
-  struct trace_t trace = {NULL, "string::Int::to_s (bin/../lib/standard//string.nit:398,2--399:42)"};
+  struct trace_t trace = {NULL, NULL, 398, LOCATE_string___Int___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Int___to_base_t)CALL( self,COLOR_string___Int___to_base))( self,  TAG_Int(10),  TAG_Bool(true)) /*Int::to_base*/;
   goto return_label48;
   return_label48: while(false);
@@ -894,9 +932,10 @@ val_t string___Int___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Int___to_hex(val_t  self) {
-  struct trace_t trace = {NULL, "string::Int::to_hex (bin/../lib/standard//string.nit:401,2--402:47)"};
+  struct trace_t trace = {NULL, NULL, 401, LOCATE_string___Int___to_hex};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Int___to_base_t)CALL( self,COLOR_string___Int___to_base))( self,  TAG_Int(16),  TAG_Bool(false)) /*Int::to_base*/;
   goto return_label49;
   return_label49: while(false);
@@ -904,18 +943,19 @@ val_t string___Int___to_hex(val_t  self) {
   return variable0;
 }
 val_t string___Int___to_base(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "string::Int::to_base (bin/../lib/standard//string.nit:404,2--410:10)"};
+  struct trace_t trace = {NULL, NULL, 404, LOCATE_string___Int___to_base};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
   variable3 = ((kernel___Int___digit_count_t)CALL( self,COLOR_kernel___Int___digit_count))( self,  variable0 /*base*/) /*Int::digit_count*/;
   variable2 = variable3;
-  variable4 = NEW_string___String___filled_with( TAG_Char(' '),  variable2 /*l*/); /*new String*/
+  variable4 = NEW_String_string___String___filled_with( TAG_Char(' '),  variable2 /*l*/); /*new String*/
   variable3 = variable4;
   ((string___Int___fill_string_t)CALL( self,COLOR_string___Int___fill_string))( self,  variable3 /*s*/,  variable0 /*base*/,  variable1 /*signed*/) /*Int::fill_string*/;
   variable2 =  variable3 /*s*/;
@@ -925,9 +965,10 @@ val_t string___Int___to_base(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___Float___to_s(val_t  self) {
-  struct trace_t trace = {NULL, "string::Float::to_s (bin/../lib/standard//string.nit:415,2--41)"};
+  struct trace_t trace = {NULL, NULL, 415, LOCATE_string___Float___to_s};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Float___to_precision_t)CALL( self,COLOR_string___Float___to_precision))( self,  TAG_Int(6)) /*Float::to_precision*/;
   goto return_label51;
   return_label51: while(false);
@@ -935,7 +976,7 @@ val_t string___Float___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Float___to_precision(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::Float::to_precision (bin/../lib/standard//string.nit:417,2--429:18)"};
+  struct trace_t trace = {NULL, NULL, 417, LOCATE_string___Float___to_precision};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -950,14 +991,15 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   val_t variable11;
   val_t variable12;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = TAG_Bool(( variable0 /*nb*/)==( TAG_Int(0)));
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = TAG_Int((int)UNBOX_Float( self));
+    variable1 = TAG_Int((bigint)UNBOX_Float( self));
     variable1 = ((string___Int___to_s_t)CALL(variable1,COLOR_string___Object___to_s))(variable1) /*Int::to_s*/;
     goto return_label52;
   }
-  variable2 = TAG_Int((int)UNBOX_Float( self));
+  variable2 = TAG_Int((bigint)UNBOX_Float( self));
   variable1 = variable2;
   variable3 = BOX_Float(1.0);
   variable2 = variable3;
@@ -974,22 +1016,22 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   variable4 = BOX_Float((float)UNTAG_Int( variable1 /*i*/));
   variable4 = BOX_Float(UNBOX_Float( self)-UNBOX_Float(variable4));
   variable4 = BOX_Float(UNBOX_Float(variable4)*UNBOX_Float( variable2 /*dec*/));
-  variable4 = TAG_Int((int)UNBOX_Float(variable4));
+  variable4 = TAG_Int((bigint)UNBOX_Float(variable4));
   variable3 = variable4;
-  variable4 = NEW_string___String___init(); /*new String*/
-  variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable4 = NEW_String_string___String___init(); /*new String*/
+  variable5 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable6 = variable5;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
   variable7 =  variable1 /*i*/;
   variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
-  variable8 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
+  variable8 = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
   variable9 = variable8;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
   variable10 =  variable3 /*d*/;
   variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
-  variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+  variable11 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
   variable12 = variable11;
   ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
   variable1 = variable4;
@@ -999,11 +1041,12 @@ val_t string___Float___to_precision(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___Char___to_s(val_t  self) {
-  struct trace_t trace = {NULL, "string::Char::to_s (bin/../lib/standard//string.nit:434,2--438:10)"};
+  struct trace_t trace = {NULL, NULL, 434, LOCATE_string___Char___to_s};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = NEW_string___String___with_capacity( TAG_Int(1)); /*new String*/
+  trace.file = LOCATE_string;
+  variable1 = NEW_String_string___String___with_capacity( TAG_Int(1)); /*new String*/
   variable0 = variable1;
   ((string___String_____braeq_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Map_____braeq))( variable0 /*s*/,  TAG_Int(0),  self) /*String::[]=*/;
   variable0 =  variable0 /*s*/;
@@ -1013,13 +1056,14 @@ val_t string___Char___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Collection___to_s(val_t  self) {
-  struct trace_t trace = {NULL, "string::Collection::to_s (bin/../lib/standard//string.nit:443,2--448:10)"};
+  struct trace_t trace = {NULL, NULL, 443, LOCATE_string___Collection___to_s};
   val_t variable0;
   val_t variable1;
     val_t variable2;
     val_t variable3;
   trace.prev = tracehead; tracehead = &trace;
-  variable1 = NEW_string___String___init(); /*new String*/
+  trace.file = LOCATE_string;
+  variable1 = NEW_String_string___String___init(); /*new String*/
   variable0 = variable1;
   variable1 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   while (true) { /*for*/
@@ -1042,20 +1086,21 @@ val_t string___Collection___to_s(val_t  self) {
   return variable0;
 }
 val_t string___Collection___join(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::Collection::join (bin/../lib/standard//string.nit:451,2--471:10)"};
+  struct trace_t trace = {NULL, NULL, 451, LOCATE_string___Collection___join};
   val_t variable0;
   val_t variable1;
   val_t variable2;
   val_t variable3;
   val_t variable4;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
   if (UNTAG_Bool(variable1)) { /*if*/
-    variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable1 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     goto return_label57;
   }
-  variable2 = NEW_string___String___init(); /*new String*/
+  variable2 = NEW_String_string___String___init(); /*new String*/
   variable1 = variable2;
   variable3 = ((abstract_collection___Collection___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Collection::iterator*/;
   variable2 = variable3;
@@ -1089,7 +1134,7 @@ val_t string___Collection___join(val_t  self, val_t  param0) {
   return variable1;
 }
 val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "string::Map::map_join (bin/../lib/standard//string.nit:476,2--498:10)"};
+  struct trace_t trace = {NULL, NULL, 476, LOCATE_string___Map___map_join};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1109,81 +1154,82 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
     val_t variable16;
     val_t variable17;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  param0;
   variable1 =  param1;
-  variable2 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Map::is_empty*/;
+  variable2 = ((abstract_collection___Collection___is_empty_t)CALL( self,COLOR_abstract_collection___Collection___is_empty))( self) /*Collection::is_empty*/;
   if (UNTAG_Bool(variable2)) { /*if*/
-    variable2 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable2 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     goto return_label59;
   }
-  variable3 = NEW_string___String___init(); /*new String*/
+  variable3 = NEW_String_string___String___init(); /*new String*/
   variable2 = variable3;
   variable4 = ((abstract_collection___Map___iterator_t)CALL( self,COLOR_abstract_collection___Collection___iterator))( self) /*Map::iterator*/;
   variable3 = variable4;
   variable5 = ((abstract_collection___MapIterator___key_t)CALL( variable3 /*i*/,COLOR_abstract_collection___MapIterator___key))( variable3 /*i*/) /*MapIterator::key*/;
   variable4 = variable5;
-  variable6 = ((abstract_collection___Iterator___item_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___item))( variable3 /*i*/) /*MapIterator::item*/;
+  variable6 = ((abstract_collection___Iterator___item_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___item))( variable3 /*i*/) /*Iterator::item*/;
   variable5 = variable6;
   variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*e*/ ==  NIT_NULL /*null*/) || (( variable5 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))( variable5 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
   if (UNTAG_Bool(variable6)) { /*if*/
-    variable6 = NEW_string___String___init(); /*new String*/
-    variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable6 = NEW_String_string___String___init(); /*new String*/
+    variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable8 = variable7;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
     variable9 =  variable4 /*k*/;
     variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-    variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable10 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable11 = variable10;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
     variable12 =  variable1 /*couple_sep*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-    variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable14 = variable13;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
     variable15 =  variable5 /*e*/;
     variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
-    variable16 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+    variable16 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
     variable17 = variable16;
     ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable17) /*String::append*/;
     ((string___String___append_t)CALL( variable2 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable2 /*s*/, variable6) /*String::append*/;
   }
-  ((abstract_collection___Iterator___next_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___next))( variable3 /*i*/) /*MapIterator::next*/;
+  ((abstract_collection___Iterator___next_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___next))( variable3 /*i*/) /*Iterator::next*/;
   while (true) { /*while*/
-    variable6 = ((abstract_collection___Iterator___is_ok_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___is_ok))( variable3 /*i*/) /*MapIterator::is_ok*/;
+    variable6 = ((abstract_collection___Iterator___is_ok_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___is_ok))( variable3 /*i*/) /*Iterator::is_ok*/;
     if (!UNTAG_Bool(variable6)) break; /* while*/
     ((string___String___append_t)CALL( variable2 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable2 /*s*/,  variable0 /*sep*/) /*String::append*/;
     variable6 = ((abstract_collection___MapIterator___key_t)CALL( variable3 /*i*/,COLOR_abstract_collection___MapIterator___key))( variable3 /*i*/) /*MapIterator::key*/;
     variable4 = variable6 /*k=*/;
-    variable6 = ((abstract_collection___Iterator___item_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___item))( variable3 /*i*/) /*MapIterator::item*/;
+    variable6 = ((abstract_collection___Iterator___item_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___item))( variable3 /*i*/) /*Iterator::item*/;
     variable5 = variable6 /*e=*/;
     variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable5 /*e*/ ==  NIT_NULL /*null*/) || (( variable5 /*e*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*e*/,COLOR_kernel___Object_____eqeq))( variable5 /*e*/,  NIT_NULL /*null*/) /*Object::==*/)))))));
     if (UNTAG_Bool(variable6)) { /*if*/
-      variable6 = NEW_string___String___init(); /*new String*/
-      variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable6 = NEW_String_string___String___init(); /*new String*/
+      variable7 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable8 = variable7;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
       variable9 =  variable4 /*k*/;
       variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
-      variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable10 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable11 = variable10;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
       variable12 =  variable1 /*couple_sep*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
-      variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable13 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable14 = variable13;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
       variable15 =  variable5 /*e*/;
       variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
-      variable16 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
+      variable16 = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
       variable17 = variable16;
       ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable17) /*String::append*/;
       ((string___String___append_t)CALL( variable2 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable2 /*s*/, variable6) /*String::append*/;
     }
-    ((abstract_collection___Iterator___next_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___next))( variable3 /*i*/) /*MapIterator::next*/;
+    ((abstract_collection___Iterator___next_t)CALL( variable3 /*i*/,COLOR_abstract_collection___Iterator___next))( variable3 /*i*/) /*Iterator::next*/;
     continue_60: while(0);
   }
   break_60: while(0);
@@ -1194,30 +1240,34 @@ val_t string___Map___map_join(val_t  self, val_t  param0, val_t  param1) {
   return variable2;
 }
 val_t string___NativeString_____bra(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::NativeString::[] (bin/../lib/standard//string.nit:508,2--26)"};
+  struct trace_t trace = {NULL, NULL, 508, LOCATE_string___NativeString_____bra};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return TAG_Char(UNBOX_NativeString( self)[UNTAG_Int( param0)]);
 }
 void string___NativeString_____braeq(val_t  self, val_t  param0, val_t  param1) {
-  struct trace_t trace = {NULL, "string::NativeString::[]= (bin/../lib/standard//string.nit:509,2--32)"};
+  struct trace_t trace = {NULL, NULL, 509, LOCATE_string___NativeString_____braeq};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   UNBOX_NativeString( self)[UNTAG_Int( param0)]=UNTAG_Char( param1);
   tracehead = trace.prev;
   return;
 }
 void string___NativeString___copy_to(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3) {
-  struct trace_t trace = {NULL, "string::NativeString::copy_to (bin/../lib/standard//string.nit:510,2--65)"};
+  struct trace_t trace = {NULL, NULL, 510, LOCATE_string___NativeString___copy_to};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   (void)memcpy(UNBOX_NativeString( param0)+UNTAG_Int( param3), UNBOX_NativeString( self)+UNTAG_Int( param2), UNTAG_Int( param1));
   tracehead = trace.prev;
   return;
 }
 val_t string___NativeString___cstring_length(val_t  self) {
-  struct trace_t trace = {NULL, "string::NativeString::cstring_length (bin/../lib/standard//string.nit:512,2--517:10)"};
+  struct trace_t trace = {NULL, NULL, 512, LOCATE_string___NativeString___cstring_length};
   val_t variable0;
     val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 =  TAG_Int(0);
   while (true) { /*while*/
     variable1 = TAG_Char(UNBOX_NativeString( self)[UNTAG_Int( variable0 /*l*/)]);
@@ -1234,23 +1284,40 @@ val_t string___NativeString___cstring_length(val_t  self) {
   return variable0;
 }
 val_t string___NativeString___atoi(val_t  self) {
-  struct trace_t trace = {NULL, "string::NativeString::atoi (bin/../lib/standard//string.nit:519,2--15)"};
+  struct trace_t trace = {NULL, NULL, 519, LOCATE_string___NativeString___atoi};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return TAG_Int(atoi(UNBOX_NativeString( self)));
 }
+void string___NativeString___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_string___NativeString___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
+  tracehead = trace.prev;
+  return;
+}
 val_t string___StringCapable___calloc_string(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::StringCapable::calloc_string (bin/../lib/standard//string.nit:524,2--54)"};
+  struct trace_t trace = {NULL, NULL, 524, LOCATE_string___StringCapable___calloc_string};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return BOX_NativeString((char*)malloc((UNTAG_Int( param0) * sizeof(char))));
 }
+void string___StringCapable___init(val_t  self, int* init_table) {
+  struct trace_t trace = {NULL, NULL, 0, LOCATE_string___StringCapable___init};
+  trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
+  tracehead = trace.prev;
+  return;
+}
 val_t string___Sys___args(val_t  self) {
-  struct trace_t trace = {NULL, "string::Sys::args (bin/../lib/standard//string.nit:530,2--533:20)"};
+  struct trace_t trace = {NULL, NULL, 530, LOCATE_string___Sys___args};
   val_t variable0;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ATTR_string___Sys____args_cache( self) /*Sys::_args_cache*/;
-  variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*IndexedCollection::==*/)))));
+  variable0 = TAG_Bool((variable0 ==  NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0,  NIT_NULL /*null*/) /*Object::==*/)))));
   if (UNTAG_Bool(variable0)) { /*if*/
     ((string___Sys___init_args_t)CALL( self,COLOR_string___Sys___init_args))( self) /*Sys::init_args*/;
   }
@@ -1261,12 +1328,13 @@ val_t string___Sys___args(val_t  self) {
   return variable0;
 }
 val_t string___Sys___program_name(val_t  self) {
-  struct trace_t trace = {NULL, "string::Sys::program_name (bin/../lib/standard//string.nit:536,2--539:46)"};
+  struct trace_t trace = {NULL, NULL, 536, LOCATE_string___Sys___program_name};
   val_t variable0;
   val_t variable1;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable0 = ((string___Sys___native_argv_t)CALL( self,COLOR_string___Sys___native_argv))( self,  TAG_Int(0)) /*Sys::native_argv*/;
-  variable1 = NEW_string___String___from_cstring(variable0); /*new String*/
+  variable1 = NEW_String_string___String___from_cstring(variable0); /*new String*/
   variable0 = variable1;
   goto return_label64;
   return_label64: while(false);
@@ -1274,7 +1342,7 @@ val_t string___Sys___program_name(val_t  self) {
   return variable0;
 }
 void string___Sys___init_args(val_t  self) {
-  struct trace_t trace = {NULL, "string::Sys::init_args (bin/../lib/standard//string.nit:542,2--552:20)"};
+  struct trace_t trace = {NULL, NULL, 542, LOCATE_string___Sys___init_args};
   val_t variable0;
   val_t variable1;
   val_t variable2;
@@ -1282,9 +1350,10 @@ void string___Sys___init_args(val_t  self) {
     val_t variable4;
     val_t variable5;
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   variable1 = ((string___Sys___native_argc_t)CALL( self,COLOR_string___Sys___native_argc))( self) /*Sys::native_argc*/;
   variable0 = variable1;
-  variable2 = NEW_array___Array___with_capacity( TAG_Int(0)); /*new Array[String]*/
+  variable2 = NEW_Array_array___Array___with_capacity( TAG_Int(0)); /*new Array[String]*/
   variable1 = variable2;
   variable2 =  TAG_Int(1);
   while (true) { /*while*/
@@ -1292,7 +1361,7 @@ void string___Sys___init_args(val_t  self) {
     if (!UNTAG_Bool(variable3)) break; /* while*/
     variable3 = TAG_Int(UNTAG_Int( variable2 /*i*/)-UNTAG_Int( TAG_Int(1)));
     variable4 = ((string___Sys___native_argv_t)CALL( self,COLOR_string___Sys___native_argv))( self,  variable2 /*i*/) /*Sys::native_argv*/;
-    variable5 = NEW_string___String___from_cstring(variable4); /*new String*/
+    variable5 = NEW_String_string___String___from_cstring(variable4); /*new String*/
     variable4 = variable5;
     ((array___Array_____braeq_t)CALL( variable1 /*args*/,COLOR_abstract_collection___Map_____braeq))( variable1 /*args*/, variable3, variable4) /*Array::[]=*/;
     variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
@@ -1304,14 +1373,16 @@ void string___Sys___init_args(val_t  self) {
   return;
 }
 val_t string___Sys___native_argc(val_t  self) {
-  struct trace_t trace = {NULL, "string::Sys::native_argc (bin/../lib/standard//string.nit:555,2--71)"};
+  struct trace_t trace = {NULL, NULL, 555, LOCATE_string___Sys___native_argc};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return TAG_Int(kernel_Sys_Sys_native_argc_0( self));
 }
 val_t string___Sys___native_argv(val_t  self, val_t  param0) {
-  struct trace_t trace = {NULL, "string::Sys::native_argv (bin/../lib/standard//string.nit:557,2--88)"};
+  struct trace_t trace = {NULL, NULL, 557, LOCATE_string___Sys___native_argv};
   trace.prev = tracehead; tracehead = &trace;
+  trace.file = LOCATE_string;
   tracehead = trace.prev;
   return BOX_NativeString(kernel_Sys_Sys_native_argv_1( self, UNTAG_Int( param0)));
 }