c_src: update to have intern args
[nit.git] / c_src / toolcontext._sep.c
index aa63338..e2bac90 100644 (file)
@@ -1,5 +1,6 @@
 /* This C file is generated by NIT to compile module toolcontext. */
 #include "toolcontext._sep.h"
+static const char LOCATE_toolcontext___Message___location[] = "toolcontext::Message::location";
 val_t toolcontext___Message___location(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -17,6 +18,7 @@ val_t toolcontext___Message___location(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___Message___text[] = "toolcontext::Message::text";
 val_t toolcontext___Message___text(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -40,6 +42,7 @@ val_t toolcontext___Message___text(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___Message_____l[] = "toolcontext::Message::(kernel::Comparable::<)";
 val_t toolcontext___Message_____l(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -66,14 +69,14 @@ val_t toolcontext___Message_____l(val_t p0, val_t p1){
   }
   /* toolcontext.nit:32 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* toolcontext.nit:33 */
+  /* toolcontext.nit:34 */
   fra.me.REG[3] = CALL_toolcontext___Message___location(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -81,17 +84,17 @@ val_t toolcontext___Message_____l(val_t p0, val_t p1){
     }
   }
   if (UNTAG_Bool(REGB0)) {
-    REGB0 = TAG_Bool(true);
+    REGB0 = TAG_Bool(1);
     goto label1;
   }
-  /* toolcontext.nit:34 */
+  /* toolcontext.nit:35 */
   fra.me.REG[3] = CALL_toolcontext___Message___location(fra.me.REG[1])(fra.me.REG[1]);
   REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
     REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      REGB2 = TAG_Bool(false);
+      REGB2 = TAG_Bool(0);
       REGB1 = REGB2;
     } else {
       REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -99,26 +102,26 @@ val_t toolcontext___Message_____l(val_t p0, val_t p1){
     }
   }
   if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
     goto label1;
   }
-  /* toolcontext.nit:36 */
+  /* toolcontext.nit:37 */
   fra.me.REG[2] = CALL_toolcontext___Message___location(fra.me.REG[2])(fra.me.REG[2]);
   REGB1 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_toolcontext, 36);
+    nit_abort("Cast failed", NULL, LOCATE_toolcontext, 37);
   }
   fra.me.REG[1] = CALL_toolcontext___Message___location(fra.me.REG[1])(fra.me.REG[1]);
   REGB1 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_toolcontext, 36);
+    nit_abort("Cast failed", NULL, LOCATE_toolcontext, 37);
   }
   REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
-    nit_abort("Reciever is null", NULL, LOCATE_toolcontext, 36);
+    nit_abort("Reciever is null", NULL, LOCATE_toolcontext, 37);
   }
   REGB1 = CALL_standard___kernel___Comparable_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
   REGB0 = REGB1;
@@ -127,6 +130,7 @@ val_t toolcontext___Message_____l(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_toolcontext___Message___to_s[] = "toolcontext::Message::(string::Object::to_s)";
 val_t toolcontext___Message___to_s(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -137,7 +141,7 @@ val_t toolcontext___Message___to_s(val_t p0){
     static val_t once_value_4; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 39;
+  fra.me.line = 40;
   fra.me.meth = LOCATE_toolcontext___Message___to_s;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -148,15 +152,15 @@ val_t toolcontext___Message___to_s(val_t p0){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:41 */
-  fra.me.REG[1] = CALL_toolcontext___Message___location(fra.me.REG[0])(fra.me.REG[0]);
   /* toolcontext.nit:42 */
+  fra.me.REG[1] = CALL_toolcontext___Message___location(fra.me.REG[0])(fra.me.REG[0]);
+  /* toolcontext.nit:43 */
   REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
@@ -164,11 +168,11 @@ val_t toolcontext___Message___to_s(val_t p0){
     }
   }
   if (UNTAG_Bool(REGB0)) {
-    /* toolcontext.nit:43 */
+    /* toolcontext.nit:44 */
     fra.me.REG[2] = CALL_toolcontext___Message___text(fra.me.REG[0])(fra.me.REG[0]);
     goto label1;
   } else {
-    /* toolcontext.nit:45 */
+    /* toolcontext.nit:46 */
     REGB0 = TAG_Int(5);
     fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
     if (!once_value_2) {
@@ -210,6 +214,7 @@ val_t toolcontext___Message___to_s(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_toolcontext___Message___to_color_string[] = "toolcontext::Message::to_color_string";
 val_t toolcontext___Message___to_color_string(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -239,7 +244,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
       static val_t once_value_23; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 49;
+  fra.me.line = 50;
   fra.me.meth = LOCATE_toolcontext___Message___to_color_string;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -252,11 +257,11 @@ val_t toolcontext___Message___to_color_string(val_t p0){
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[6] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:51 */
+  /* toolcontext.nit:52 */
   REGB0 = TAG_Int(27);
-  /* ../lib/standard/kernel.nit:297 */
+  /* ../lib/standard/kernel.nit:300 */
   REGB0 = TAG_Char(UNTAG_Int(REGB0));
-  /* toolcontext.nit:52 */
+  /* toolcontext.nit:53 */
   REGB1 = TAG_Int(3);
   fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_1) {
@@ -280,7 +285,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
   fra.me.REG[2] = fra.me.REG[2];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  /* toolcontext.nit:53 */
+  /* toolcontext.nit:54 */
   REGB1 = TAG_Int(3);
   fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_3) {
@@ -304,7 +309,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
   fra.me.REG[2] = fra.me.REG[2];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  /* toolcontext.nit:54 */
+  /* toolcontext.nit:55 */
   REGB1 = TAG_Int(3);
   fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_5) {
@@ -328,7 +333,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
   fra.me.REG[2] = fra.me.REG[2];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  /* toolcontext.nit:55 */
+  /* toolcontext.nit:56 */
   REGB1 = TAG_Int(3);
   fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_7) {
@@ -352,7 +357,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
   fra.me.REG[2] = fra.me.REG[2];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  /* toolcontext.nit:56 */
+  /* toolcontext.nit:57 */
   REGB1 = TAG_Int(3);
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
   if (!once_value_9) {
@@ -376,15 +381,15 @@ val_t toolcontext___Message___to_color_string(val_t p0){
   fra.me.REG[3] = fra.me.REG[3];
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
   fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  /* toolcontext.nit:58 */
-  fra.me.REG[3] = CALL_toolcontext___Message___location(fra.me.REG[0])(fra.me.REG[0]);
   /* toolcontext.nit:59 */
+  fra.me.REG[3] = CALL_toolcontext___Message___location(fra.me.REG[0])(fra.me.REG[0]);
+  /* toolcontext.nit:60 */
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -392,14 +397,14 @@ val_t toolcontext___Message___to_color_string(val_t p0){
     }
   }
   if (UNTAG_Bool(REGB0)) {
-    /* toolcontext.nit:60 */
+    /* toolcontext.nit:61 */
     fra.me.REG[4] = CALL_toolcontext___Message___text(fra.me.REG[0])(fra.me.REG[0]);
     goto label11;
   } else {
-    /* toolcontext.nit:61 */
+    /* toolcontext.nit:62 */
     REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_toolcontext, 61);
+      nit_abort("Reciever is null", NULL, LOCATE_toolcontext, 62);
     }
     fra.me.REG[5] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]);
     REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
@@ -407,7 +412,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
     } else {
       REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
@@ -415,7 +420,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
       }
     }
     if (UNTAG_Bool(REGB0)) {
-      /* toolcontext.nit:62 */
+      /* toolcontext.nit:63 */
       REGB0 = TAG_Int(9);
       fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
       if (!once_value_12) {
@@ -473,7 +478,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
       fra.me.REG[4] = fra.me.REG[5];
       goto label11;
     } else {
-      /* toolcontext.nit:64 */
+      /* toolcontext.nit:65 */
       REGB0 = TAG_Int(11);
       fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
       if (!once_value_17) {
@@ -537,7 +542,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
       fra.me.REG[0] = fra.me.REG[0];
       REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
       if (UNTAG_Bool(REGB0)) {
-        nit_abort("Reciever is null", NULL, LOCATE_toolcontext, 64);
+        nit_abort("Reciever is null", NULL, LOCATE_toolcontext, 65);
       }
       fra.me.REG[0] = CALL_location___Location___colored_line(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
@@ -559,6 +564,7 @@ val_t toolcontext___Message___to_color_string(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[4];
 }
+static const char LOCATE_toolcontext___Message___init[] = "toolcontext::Message::init";
 void toolcontext___Message___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_toolcontext___Message].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -583,75 +589,79 @@ void toolcontext___Message___init(val_t p0, val_t p1, val_t p2, int* init_table)
   init_table[itpos0] = 1;
   return;
 }
+static const char LOCATE_toolcontext___ToolContext___error_count[] = "toolcontext::ToolContext::error_count";
 val_t toolcontext___ToolContext___error_count(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 71;
+  fra.me.line = 72;
   fra.me.meth = LOCATE_toolcontext___ToolContext___error_count;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:71 */
+  /* toolcontext.nit:72 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____error_count(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_toolcontext, 71);
+    nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_toolcontext, 72);
   }
   REGB0 = ATTR_toolcontext___ToolContext____error_count(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_toolcontext___ToolContext___warning_count[] = "toolcontext::ToolContext::warning_count";
 val_t toolcontext___ToolContext___warning_count(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 74;
+  fra.me.line = 75;
   fra.me.meth = LOCATE_toolcontext___ToolContext___warning_count;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:74 */
+  /* toolcontext.nit:75 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____warning_count(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_warning_count", LOCATE_toolcontext, 74);
+    nit_abort("Uninitialized attribute %s", "_warning_count", LOCATE_toolcontext, 75);
   }
   REGB0 = ATTR_toolcontext___ToolContext____warning_count(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_toolcontext___ToolContext___log_directory[] = "toolcontext::ToolContext::log_directory";
 val_t toolcontext___ToolContext___log_directory(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 77;
+  fra.me.line = 78;
   fra.me.meth = LOCATE_toolcontext___ToolContext___log_directory;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:77 */
+  /* toolcontext.nit:78 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____log_directory(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_log_directory", LOCATE_toolcontext, 77);
+    nit_abort("Uninitialized attribute %s", "_log_directory", LOCATE_toolcontext, 78);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____log_directory(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___check_errors[] = "toolcontext::ToolContext::check_errors";
 void toolcontext___ToolContext___check_errors(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -664,7 +674,7 @@ void toolcontext___ToolContext___check_errors(val_t p0){
           static val_t once_value_4; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 84;
+  fra.me.line = 85;
   fra.me.meth = LOCATE_toolcontext___ToolContext___check_errors;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -677,11 +687,11 @@ void toolcontext___ToolContext___check_errors(val_t p0){
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[6] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:86 */
+  /* toolcontext.nit:87 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____messages(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 86);
+    nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 87);
   }
   fra.me.REG[1] = ATTR_toolcontext___ToolContext____messages(fra.me.REG[0]);
   /* ../lib/standard/collection/array.nit:24 */
@@ -691,36 +701,36 @@ void toolcontext___ToolContext___check_errors(val_t p0){
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
-  /* toolcontext.nit:86 */
+  /* toolcontext.nit:87 */
   REGB1 = TAG_Int(0);
   REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
   if (UNTAG_Bool(REGB2)) {
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:234 */
+  /* ../lib/standard/kernel.nit:237 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
-  /* toolcontext.nit:86 */
+  /* toolcontext.nit:87 */
   if (UNTAG_Bool(REGB1)) {
-    /* toolcontext.nit:87 */
+    /* toolcontext.nit:88 */
     REGB1 = TAG_Bool(ATTR_toolcontext___ToolContext____message_sorter(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
-      nit_abort("Uninitialized attribute %s", "_message_sorter", LOCATE_toolcontext, 87);
+      nit_abort("Uninitialized attribute %s", "_message_sorter", LOCATE_toolcontext, 88);
     }
     fra.me.REG[1] = ATTR_toolcontext___ToolContext____message_sorter(fra.me.REG[0]);
     REGB1 = TAG_Bool(ATTR_toolcontext___ToolContext____messages(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
-      nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 87);
+      nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 88);
     }
     fra.me.REG[2] = ATTR_toolcontext___ToolContext____messages(fra.me.REG[0]);
     CALL_standard___collection___sorter___AbstractSorter___sort(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    /* toolcontext.nit:89 */
+    /* toolcontext.nit:90 */
     REGB1 = TAG_Bool(ATTR_toolcontext___ToolContext____messages(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
-      nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 89);
+      nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 90);
     }
     fra.me.REG[2] = ATTR_toolcontext___ToolContext____messages(fra.me.REG[0]);
     /* ../lib/standard/collection/array.nit:269 */
@@ -748,7 +758,7 @@ void toolcontext___ToolContext___check_errors(val_t p0){
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:232 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
       /* ../lib/standard/collection/array.nit:272 */
       if (UNTAG_Bool(REGB0)) {
@@ -757,13 +767,13 @@ void toolcontext___ToolContext___check_errors(val_t p0){
         if (UNTAG_Bool(REGB0)) {
           nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
         }
-        /* ../lib/standard/collection/array.nit:718 */
+        /* ../lib/standard/collection/array.nit:724 */
         fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB1)];
-        /* toolcontext.nit:90 */
+        /* toolcontext.nit:91 */
         fra.me.REG[4] = CALL_toolcontext___ToolContext___opt_no_color(fra.me.REG[0])(fra.me.REG[0]);
         fra.me.REG[4] = CALL_opts___Option___value(fra.me.REG[4])(fra.me.REG[4]);
         if (UNTAG_Bool(fra.me.REG[4])) {
-          /* toolcontext.nit:91 */
+          /* toolcontext.nit:92 */
           fra.me.REG[4] = CALL_standard___file___Object___stderr(fra.me.REG[0])(fra.me.REG[0]);
           REGB0 = TAG_Int(3);
           fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
@@ -790,7 +800,7 @@ void toolcontext___ToolContext___check_errors(val_t p0){
           fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
           CALL_standard___stream___OStream___write(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
         } else {
-          /* toolcontext.nit:93 */
+          /* toolcontext.nit:94 */
           fra.me.REG[5] = CALL_standard___file___Object___stderr(fra.me.REG[0])(fra.me.REG[0]);
           REGB0 = TAG_Int(3);
           fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
@@ -819,7 +829,7 @@ void toolcontext___ToolContext___check_errors(val_t p0){
         }
         /* ../lib/standard/collection/array.nit:274 */
         REGB0 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
         /* ../lib/standard/collection/array.nit:274 */
         REGB1 = REGB0;
@@ -829,16 +839,16 @@ void toolcontext___ToolContext___check_errors(val_t p0){
       }
     }
     label5: while(0);
-    /* toolcontext.nit:97 */
+    /* toolcontext.nit:98 */
     REGB1 = TAG_Bool(ATTR_toolcontext___ToolContext____messages(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
     } else {
-      nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 97);
+      nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 98);
     }
     fra.me.REG[1] = ATTR_toolcontext___ToolContext____messages(fra.me.REG[0]);
     CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[1])(fra.me.REG[1]);
   }
-  /* toolcontext.nit:100 */
+  /* toolcontext.nit:101 */
   REGB1 = CALL_toolcontext___ToolContext___error_count(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Int(0);
   REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
@@ -846,9 +856,9 @@ void toolcontext___ToolContext___check_errors(val_t p0){
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:234 */
+  /* ../lib/standard/kernel.nit:237 */
   REGB0 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB0));
-  /* toolcontext.nit:100 */
+  /* toolcontext.nit:101 */
   if (UNTAG_Bool(REGB0)) {
     REGB0 = TAG_Int(1);
     CALL_standard___kernel___Object___exit(fra.me.REG[0])(fra.me.REG[0], REGB0);
@@ -856,6 +866,7 @@ void toolcontext___ToolContext___check_errors(val_t p0){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_toolcontext___ToolContext___error[] = "toolcontext::ToolContext::error";
 void toolcontext___ToolContext___error(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -863,7 +874,7 @@ void toolcontext___ToolContext___error(val_t p0, val_t p1, val_t p2){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 103;
+  fra.me.line = 104;
   fra.me.meth = LOCATE_toolcontext___ToolContext___error;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -875,28 +886,28 @@ void toolcontext___ToolContext___error(val_t p0, val_t p1, val_t p2){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* toolcontext.nit:106 */
+  /* toolcontext.nit:107 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____messages(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 106);
+    nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 107);
   }
   fra.me.REG[3] = ATTR_toolcontext___ToolContext____messages(fra.me.REG[0]);
   fra.me.REG[2] = NEW_Message_toolcontext___Message___init(fra.me.REG[1], fra.me.REG[2]);
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-  /* toolcontext.nit:107 */
+  /* toolcontext.nit:108 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____error_count(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_toolcontext, 107);
+    nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_toolcontext, 108);
   }
   REGB0 = ATTR_toolcontext___ToolContext____error_count(fra.me.REG[0]);
   REGB1 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:235 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-  /* toolcontext.nit:107 */
-  ATTR_toolcontext___ToolContext____error_count(fra.me.REG[0]) = REGB1;
   /* toolcontext.nit:108 */
+  ATTR_toolcontext___ToolContext____error_count(fra.me.REG[0]) = REGB1;
+  /* toolcontext.nit:109 */
   fra.me.REG[2] = CALL_toolcontext___ToolContext___opt_stop_on_first_error(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_opts___Option___value(fra.me.REG[2])(fra.me.REG[2]);
   if (UNTAG_Bool(fra.me.REG[2])) {
@@ -905,12 +916,13 @@ void toolcontext___ToolContext___error(val_t p0, val_t p1, val_t p2){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_toolcontext___ToolContext___fatal_error[] = "toolcontext::ToolContext::fatal_error";
 void toolcontext___ToolContext___fatal_error(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 111;
+  fra.me.line = 112;
   fra.me.meth = LOCATE_toolcontext___ToolContext___fatal_error;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -921,13 +933,14 @@ void toolcontext___ToolContext___fatal_error(val_t p0, val_t p1, val_t p2){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* toolcontext.nit:114 */
-  CALL_toolcontext___ToolContext___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
   /* toolcontext.nit:115 */
+  CALL_toolcontext___ToolContext___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
+  /* toolcontext.nit:116 */
   CALL_toolcontext___ToolContext___check_errors(fra.me.REG[0])(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_toolcontext___ToolContext___warning[] = "toolcontext::ToolContext::warning";
 void toolcontext___ToolContext___warning(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -936,7 +949,7 @@ void toolcontext___ToolContext___warning(val_t p0, val_t p1, val_t p2){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 118;
+  fra.me.line = 119;
   fra.me.meth = LOCATE_toolcontext___ToolContext___warning;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -948,11 +961,11 @@ void toolcontext___ToolContext___warning(val_t p0, val_t p1, val_t p2){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
-  /* toolcontext.nit:121 */
+  /* toolcontext.nit:122 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_warn(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_toolcontext, 121);
+    nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_toolcontext, 122);
   }
   fra.me.REG[3] = ATTR_toolcontext___ToolContext____opt_warn(fra.me.REG[0]);
   fra.me.REG[3] = CALL_opts___Option___value(fra.me.REG[3])(fra.me.REG[3]);
@@ -962,40 +975,40 @@ void toolcontext___ToolContext___warning(val_t p0, val_t p1, val_t p2){
   } else {
     REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      REGB2 = TAG_Bool(false);
+      REGB2 = TAG_Bool(0);
       REGB1 = REGB2;
     } else {
-      /* ../lib/standard/kernel.nit:227 */
+      /* ../lib/standard/kernel.nit:230 */
       REGB0 = TAG_Bool((fra.me.REG[3])==(REGB0));
-      /* toolcontext.nit:121 */
+      /* toolcontext.nit:122 */
       REGB1 = REGB0;
     }
   }
   if (UNTAG_Bool(REGB1)) {
     goto label1;
   }
-  /* toolcontext.nit:122 */
+  /* toolcontext.nit:123 */
   REGB1 = TAG_Bool(ATTR_toolcontext___ToolContext____messages(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 122);
+    nit_abort("Uninitialized attribute %s", "_messages", LOCATE_toolcontext, 123);
   }
   fra.me.REG[3] = ATTR_toolcontext___ToolContext____messages(fra.me.REG[0]);
   fra.me.REG[2] = NEW_Message_toolcontext___Message___init(fra.me.REG[1], fra.me.REG[2]);
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
-  /* toolcontext.nit:123 */
+  /* toolcontext.nit:124 */
   REGB1 = TAG_Bool(ATTR_toolcontext___ToolContext____warning_count(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_warning_count", LOCATE_toolcontext, 123);
+    nit_abort("Uninitialized attribute %s", "_warning_count", LOCATE_toolcontext, 124);
   }
   REGB1 = ATTR_toolcontext___ToolContext____warning_count(fra.me.REG[0]);
   REGB0 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:235 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
-  /* toolcontext.nit:123 */
-  ATTR_toolcontext___ToolContext____warning_count(fra.me.REG[0]) = REGB0;
   /* toolcontext.nit:124 */
+  ATTR_toolcontext___ToolContext____warning_count(fra.me.REG[0]) = REGB0;
+  /* toolcontext.nit:125 */
   fra.me.REG[2] = CALL_toolcontext___ToolContext___opt_stop_on_first_error(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_opts___Option___value(fra.me.REG[2])(fra.me.REG[2]);
   if (UNTAG_Bool(fra.me.REG[2])) {
@@ -1005,6 +1018,7 @@ void toolcontext___ToolContext___warning(val_t p0, val_t p1, val_t p2){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_toolcontext___ToolContext___info[] = "toolcontext::ToolContext::info";
 void toolcontext___ToolContext___info(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -1015,7 +1029,7 @@ void toolcontext___ToolContext___info(val_t p0, val_t p1, val_t p2){
     static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 127;
+  fra.me.line = 128;
   fra.me.meth = LOCATE_toolcontext___ToolContext___info;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -1027,18 +1041,18 @@ void toolcontext___ToolContext___info(val_t p0, val_t p1, val_t p2){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   REGB0 = p2;
-  /* toolcontext.nit:130 */
+  /* toolcontext.nit:131 */
   REGB1 = CALL_toolcontext___ToolContext___verbose_level(fra.me.REG[0])(fra.me.REG[0]);
   REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
   if (UNTAG_Bool(REGB2)) {
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:231 */
+  /* ../lib/standard/kernel.nit:234 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
-  /* toolcontext.nit:130 */
+  /* toolcontext.nit:131 */
   if (UNTAG_Bool(REGB1)) {
-    /* toolcontext.nit:131 */
+    /* toolcontext.nit:132 */
     REGB1 = TAG_Int(3);
     fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
     if (!once_value_1) {
@@ -1066,259 +1080,271 @@ void toolcontext___ToolContext___info(val_t p0, val_t p1, val_t p2){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_toolcontext___ToolContext___option_context[] = "toolcontext::ToolContext::option_context";
 val_t toolcontext___ToolContext___option_context(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 135;
+  fra.me.line = 136;
   fra.me.meth = LOCATE_toolcontext___ToolContext___option_context;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:135 */
+  /* toolcontext.nit:136 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____option_context(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_option_context", LOCATE_toolcontext, 135);
+    nit_abort("Uninitialized attribute %s", "_option_context", LOCATE_toolcontext, 136);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____option_context(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_warn[] = "toolcontext::ToolContext::opt_warn";
 val_t toolcontext___ToolContext___opt_warn(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 138;
+  fra.me.line = 139;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_warn;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:138 */
+  /* toolcontext.nit:139 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_warn(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_toolcontext, 138);
+    nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_toolcontext, 139);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_warn(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_quiet[] = "toolcontext::ToolContext::opt_quiet";
 val_t toolcontext___ToolContext___opt_quiet(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 141;
+  fra.me.line = 142;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_quiet;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:141 */
+  /* toolcontext.nit:142 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_quiet(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_quiet", LOCATE_toolcontext, 141);
+    nit_abort("Uninitialized attribute %s", "_opt_quiet", LOCATE_toolcontext, 142);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_quiet(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_log[] = "toolcontext::ToolContext::opt_log";
 val_t toolcontext___ToolContext___opt_log(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 144;
+  fra.me.line = 145;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_log;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:144 */
+  /* toolcontext.nit:145 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_log(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_log", LOCATE_toolcontext, 144);
+    nit_abort("Uninitialized attribute %s", "_opt_log", LOCATE_toolcontext, 145);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_log(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_log_dir[] = "toolcontext::ToolContext::opt_log_dir";
 val_t toolcontext___ToolContext___opt_log_dir(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 147;
+  fra.me.line = 148;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_log_dir;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:147 */
+  /* toolcontext.nit:148 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_log_dir(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_log_dir", LOCATE_toolcontext, 147);
+    nit_abort("Uninitialized attribute %s", "_opt_log_dir", LOCATE_toolcontext, 148);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_log_dir(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_help[] = "toolcontext::ToolContext::opt_help";
 val_t toolcontext___ToolContext___opt_help(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 150;
+  fra.me.line = 151;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_help;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:150 */
+  /* toolcontext.nit:151 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_help(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_help", LOCATE_toolcontext, 150);
+    nit_abort("Uninitialized attribute %s", "_opt_help", LOCATE_toolcontext, 151);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_help(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_version[] = "toolcontext::ToolContext::opt_version";
 val_t toolcontext___ToolContext___opt_version(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 153;
+  fra.me.line = 154;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_version;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:153 */
+  /* toolcontext.nit:154 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_version(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_version", LOCATE_toolcontext, 153);
+    nit_abort("Uninitialized attribute %s", "_opt_version", LOCATE_toolcontext, 154);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_version(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_verbose[] = "toolcontext::ToolContext::opt_verbose";
 val_t toolcontext___ToolContext___opt_verbose(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 156;
+  fra.me.line = 157;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_verbose;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:156 */
+  /* toolcontext.nit:157 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_verbose(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_verbose", LOCATE_toolcontext, 156);
+    nit_abort("Uninitialized attribute %s", "_opt_verbose", LOCATE_toolcontext, 157);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_verbose(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_stop_on_first_error[] = "toolcontext::ToolContext::opt_stop_on_first_error";
 val_t toolcontext___ToolContext___opt_stop_on_first_error(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 159;
+  fra.me.line = 160;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_stop_on_first_error;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:159 */
+  /* toolcontext.nit:160 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_stop_on_first_error(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_stop_on_first_error", LOCATE_toolcontext, 159);
+    nit_abort("Uninitialized attribute %s", "_opt_stop_on_first_error", LOCATE_toolcontext, 160);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_stop_on_first_error(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___opt_no_color[] = "toolcontext::ToolContext::opt_no_color";
 val_t toolcontext___ToolContext___opt_no_color(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 162;
+  fra.me.line = 163;
   fra.me.meth = LOCATE_toolcontext___ToolContext___opt_no_color;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:162 */
+  /* toolcontext.nit:163 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_no_color(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_no_color", LOCATE_toolcontext, 162);
+    nit_abort("Uninitialized attribute %s", "_opt_no_color", LOCATE_toolcontext, 163);
   }
   fra.me.REG[0] = ATTR_toolcontext___ToolContext____opt_no_color(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_toolcontext___ToolContext___verbose_level[] = "toolcontext::ToolContext::verbose_level";
 val_t toolcontext___ToolContext___verbose_level(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 165;
+  fra.me.line = 166;
   fra.me.meth = LOCATE_toolcontext___ToolContext___verbose_level;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.nitni_local_ref_head = NULL;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:165 */
+  /* toolcontext.nit:166 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____verbose_level(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_verbose_level", LOCATE_toolcontext, 165);
+    nit_abort("Uninitialized attribute %s", "_verbose_level", LOCATE_toolcontext, 166);
   }
   REGB0 = ATTR_toolcontext___ToolContext____verbose_level(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_toolcontext___ToolContext___init[] = "toolcontext::ToolContext::init";
 void toolcontext___ToolContext___init(val_t p0, int* init_table){
   int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_toolcontext___ToolContext].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -1327,7 +1353,7 @@ void toolcontext___ToolContext___init(val_t p0, int* init_table){
   if (init_table[itpos1]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 168;
+  fra.me.line = 169;
   fra.me.meth = LOCATE_toolcontext___ToolContext___init;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -1337,7 +1363,7 @@ void toolcontext___ToolContext___init(val_t p0, int* init_table){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:170 */
+  /* toolcontext.nit:171 */
   fra.me.REG[1] = CALL_toolcontext___ToolContext___option_context(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Int(8);
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
@@ -1364,6 +1390,7 @@ void toolcontext___ToolContext___init(val_t p0, int* init_table){
   init_table[itpos1] = 1;
   return;
 }
+static const char LOCATE_toolcontext___ToolContext___process_options[] = "toolcontext::ToolContext::process_options";
 void toolcontext___ToolContext___process_options(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -1371,7 +1398,7 @@ void toolcontext___ToolContext___process_options(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_toolcontext;
-  fra.me.line = 173;
+  fra.me.line = 174;
   fra.me.meth = LOCATE_toolcontext___ToolContext___process_options;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -1381,21 +1408,21 @@ void toolcontext___ToolContext___process_options(val_t p0){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* toolcontext.nit:173 */
+  /* toolcontext.nit:174 */
   fra.me.REG[1] = fra.me.REG[0];
-  /* toolcontext.nit:176 */
+  /* toolcontext.nit:177 */
   fra.me.REG[2] = CALL_toolcontext___ToolContext___opt_warn(fra.me.REG[1])(fra.me.REG[1]);
   REGB0 = TAG_Int(1);
   CALL_opts___Option___value__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
-  /* toolcontext.nit:179 */
+  /* toolcontext.nit:180 */
   fra.me.REG[2] = CALL_toolcontext___ToolContext___option_context(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[3] = CALL_standard___string___Object___args(fra.me.REG[1])(fra.me.REG[1]);
   CALL_opts___OptionContext___parse(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* toolcontext.nit:182 */
+  /* toolcontext.nit:183 */
   fra.me.REG[3] = CALL_toolcontext___ToolContext___opt_verbose(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[3] = CALL_opts___Option___value(fra.me.REG[3])(fra.me.REG[3]);
   ATTR_toolcontext___ToolContext____verbose_level(fra.me.REG[1]) = fra.me.REG[3];
-  /* toolcontext.nit:184 */
+  /* toolcontext.nit:185 */
   fra.me.REG[3] = CALL_toolcontext___ToolContext___opt_quiet(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[3] = CALL_opts___Option___value(fra.me.REG[3])(fra.me.REG[3]);
   if (UNTAG_Bool(fra.me.REG[3])) {
@@ -1403,7 +1430,7 @@ void toolcontext___ToolContext___process_options(val_t p0){
     REGB0 = TAG_Int(0);
     CALL_opts___Option___value__eq(fra.me.REG[3])(fra.me.REG[3], REGB0);
   }
-  /* toolcontext.nit:186 */
+  /* toolcontext.nit:187 */
   fra.me.REG[3] = CALL_toolcontext___ToolContext___opt_log_dir(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[3] = CALL_opts___Option___value(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
@@ -1411,7 +1438,7 @@ void toolcontext___ToolContext___process_options(val_t p0){
   } else {
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -1425,20 +1452,20 @@ void toolcontext___ToolContext___process_options(val_t p0){
     REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___string___String, ID_standard___string___String)) /*cast String*/;
     if (UNTAG_Bool(REGB0)) {
     } else {
-      nit_abort("Cast failed", NULL, LOCATE_toolcontext, 186);
+      nit_abort("Cast failed", NULL, LOCATE_toolcontext, 187);
     }
     ATTR_toolcontext___ToolContext____log_directory(fra.me.REG[1]) = fra.me.REG[3];
   }
-  /* toolcontext.nit:187 */
+  /* toolcontext.nit:188 */
   REGB0 = TAG_Bool(ATTR_toolcontext___ToolContext____opt_log(fra.me.REG[1])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_opt_log", LOCATE_toolcontext, 187);
+    nit_abort("Uninitialized attribute %s", "_opt_log", LOCATE_toolcontext, 188);
   }
   fra.me.REG[3] = ATTR_toolcontext___ToolContext____opt_log(fra.me.REG[1]);
   fra.me.REG[3] = CALL_opts___Option___value(fra.me.REG[3])(fra.me.REG[3]);
   if (UNTAG_Bool(fra.me.REG[3])) {
-    /* toolcontext.nit:189 */
+    /* toolcontext.nit:190 */
     fra.me.REG[1] = CALL_toolcontext___ToolContext___log_directory(fra.me.REG[1])(fra.me.REG[1]);
     CALL_standard___file___String___mkdir(fra.me.REG[1])(fra.me.REG[1]);
   }