update c_src (now with ffi)
[nit.git] / c_src / standard___file._sep.c
index f9ee6ae..e122530 100644 (file)
@@ -1,5 +1,6 @@
 /* This C file is generated by NIT to compile module standard___file. */
 #include "standard___file._sep.h"
+static const char LOCATE_standard___file___Object___printn[] = "file::Object::printn";
 void standard___file___Object___printn(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -30,6 +31,7 @@ void standard___file___Object___printn(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___Object___print[] = "file::Object::print";
 void standard___file___Object___print(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -65,6 +67,7 @@ void standard___file___Object___print(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___Object___getc[] = "file::Object::getc";
 val_t standard___file___Object___getc(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -81,7 +84,7 @@ val_t standard___file___Object___getc(val_t p0){
   /* ../lib/standard/file.nit:41 */
   fra.me.REG[0] = CALL_standard___file___Object___stdin(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_standard___stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
-  /* ../lib/standard/kernel.nit:297 */
+  /* ../lib/standard/kernel.nit:300 */
   REGB0 = TAG_Char(UNTAG_Int(REGB0));
   /* ../lib/standard/file.nit:41 */
   goto label1;
@@ -89,6 +92,7 @@ val_t standard___file___Object___getc(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___Object___gets[] = "file::Object::gets";
 val_t standard___file___Object___gets(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -109,20 +113,21 @@ val_t standard___file___Object___gets(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___Object___stdin[] = "file::Object::stdin";
 val_t standard___file___Object___stdin(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   static val_t once_value_1; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 346;
+  fra.me.line = 350;
   fra.me.meth = LOCATE_standard___file___Object___stdin;
   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;
-  /* ../lib/standard/file.nit:347 */
+  /* ../lib/standard/file.nit:351 */
   if (!once_value_1) {
     fra.me.REG[0] = NEW_Stdin_standard___file___Stdin___init();
     once_value_1 = fra.me.REG[0];
@@ -134,20 +139,21 @@ val_t standard___file___Object___stdin(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___Object___stdout[] = "file::Object::stdout";
 val_t standard___file___Object___stdout(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   static val_t once_value_1; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 349;
+  fra.me.line = 353;
   fra.me.meth = LOCATE_standard___file___Object___stdout;
   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;
-  /* ../lib/standard/file.nit:350 */
+  /* ../lib/standard/file.nit:354 */
   if (!once_value_1) {
     fra.me.REG[0] = NEW_Stdout_standard___file___Stdout___init();
     once_value_1 = fra.me.REG[0];
@@ -159,20 +165,21 @@ val_t standard___file___Object___stdout(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___Object___stderr[] = "file::Object::stderr";
 val_t standard___file___Object___stderr(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   static val_t once_value_1; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 352;
+  fra.me.line = 356;
   fra.me.meth = LOCATE_standard___file___Object___stderr;
   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;
-  /* ../lib/standard/file.nit:353 */
+  /* ../lib/standard/file.nit:357 */
   if (!once_value_1) {
     fra.me.REG[0] = NEW_Stderr_standard___file___Stderr___init();
     once_value_1 = fra.me.REG[0];
@@ -184,6 +191,7 @@ val_t standard___file___Object___stderr(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___FStream___path[] = "file::FStream::path";
 val_t standard___file___FStream___path(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -201,6 +209,7 @@ val_t standard___file___FStream___path(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___FStream___file_stat[] = "file::FStream::file_stat";
 val_t standard___file___FStream___file_stat(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -226,6 +235,7 @@ val_t standard___file___FStream___file_stat(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___FStream___init[] = "file::FStream::init";
 void standard___file___FStream___init(val_t p0, int* init_table){
   int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___FStream].i;
   struct {struct stack_frame_t me;} fra;
@@ -242,6 +252,7 @@ void standard___file___FStream___init(val_t p0, int* init_table){
   init_table[itpos0] = 1;
   return;
 }
+static const char LOCATE_standard___file___IFStream___reopen[] = "file::IFStream::reopen";
 void standard___file___IFStream___reopen(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -272,7 +283,7 @@ void standard___file___IFStream___reopen(val_t p0){
   fra.me.REG[1] = NEW_NativeFile_standard___file___NativeFile___io_open_read(fra.me.REG[1]);
   ATTR_standard___file___FStream____file(fra.me.REG[0]) = fra.me.REG[1];
   /* ../lib/standard/file.nit:76 */
-  REGB0 = TAG_Bool(false);
+  REGB0 = TAG_Bool(0);
   ATTR_standard___file___IFStream____end_reached(fra.me.REG[0]) = REGB0;
   /* ../lib/standard/file.nit:77 */
   REGB0 = TAG_Int(0);
@@ -287,6 +298,7 @@ void standard___file___IFStream___reopen(val_t p0){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___IFStream___close[] = "file::IFStream::(stream::IOS::close)";
 void standard___file___IFStream___close(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -309,11 +321,12 @@ void standard___file___IFStream___close(val_t p0){
   }
   REGB0 = CALL_standard___file___NativeFile___io_close(fra.me.REG[1])(fra.me.REG[1]);
   /* ../lib/standard/file.nit:84 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   ATTR_standard___file___IFStream____end_reached(fra.me.REG[0]) = REGB0;
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___IFStream___fill_buffer[] = "file::IFStream::(stream::BufferedIStream::fill_buffer)";
 void standard___file___IFStream___fill_buffer(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -368,12 +381,12 @@ void standard___file___IFStream___fill_buffer(val_t p0){
   } 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));
   /* ../lib/standard/file.nit:90 */
   if (UNTAG_Bool(REGB1)) {
     /* ../lib/standard/file.nit:91 */
-    REGB1 = TAG_Bool(true);
+    REGB1 = TAG_Bool(1);
     ATTR_standard___file___IFStream____end_reached(fra.me.REG[0]) = REGB1;
     /* ../lib/standard/file.nit:92 */
     REGB1 = TAG_Int(0);
@@ -392,6 +405,7 @@ void standard___file___IFStream___fill_buffer(val_t p0){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___IFStream___end_reached[] = "file::IFStream::(stream::BufferedIStream::end_reached)";
 val_t standard___file___IFStream___end_reached(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -415,6 +429,7 @@ val_t standard___file___IFStream___end_reached(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___IFStream___open[] = "file::IFStream::open";
 void standard___file___IFStream___open(val_t p0, val_t p1, int* init_table){
   int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___IFStream].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -459,7 +474,7 @@ void standard___file___IFStream___open(val_t p0, val_t p1, int* init_table){
   } else {
     REGB1 = TAG_Bool(fra.me.REG[2]==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[2])(fra.me.REG[2], NIT_NULL);
@@ -475,6 +490,7 @@ void standard___file___IFStream___open(val_t p0, val_t p1, int* init_table){
   init_table[itpos1] = 1;
   return;
 }
+static const char LOCATE_standard___file___IFStream___init[] = "file::IFStream::init";
 void standard___file___IFStream___init(val_t p0, int* init_table){
   int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___IFStream].i;
   struct {struct stack_frame_t me;} fra;
@@ -496,6 +512,7 @@ void standard___file___IFStream___init(val_t p0, int* init_table){
   init_table[itpos2] = 1;
   return;
 }
+static const char LOCATE_standard___file___IFStream___without_file[] = "file::IFStream::without_file";
 void standard___file___IFStream___without_file(val_t p0, int* init_table){
   int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___IFStream].i;
   struct {struct stack_frame_t me;} fra;
@@ -517,6 +534,7 @@ void standard___file___IFStream___without_file(val_t p0, int* init_table){
   init_table[itpos3] = 1;
   return;
 }
+static const char LOCATE_standard___file___OFStream___write[] = "file::OFStream::(stream::OStream::write)";
 void standard___file___OFStream___write(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -558,6 +576,7 @@ void standard___file___OFStream___write(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___OFStream___is_writable[] = "file::OFStream::(stream::OStream::is_writable)";
 val_t standard___file___OFStream___is_writable(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -583,6 +602,7 @@ val_t standard___file___OFStream___is_writable(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___OFStream___close[] = "file::OFStream::(stream::IOS::close)";
 void standard___file___OFStream___close(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -605,11 +625,12 @@ void standard___file___OFStream___close(val_t p0){
   }
   REGB0 = CALL_standard___file___NativeFile___io_close(fra.me.REG[1])(fra.me.REG[1]);
   /* ../lib/standard/file.nit:130 */
-  REGB0 = TAG_Bool(false);
+  REGB0 = TAG_Bool(0);
   ATTR_standard___file___OFStream____writable(fra.me.REG[0]) = REGB0;
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___OFStream___write_native[] = "file::OFStream::write_native";
 void standard___file___OFStream___write_native(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -655,7 +676,7 @@ void standard___file___OFStream___write_native(val_t p0, val_t p1, val_t p2){
   REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB0));
   if (UNTAG_Bool(REGB2)) {
   } else {
-    /* ../lib/standard/kernel.nit:227 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB3 = TAG_Bool((REGB1)==(REGB0));
     /* ../lib/standard/file.nit:141 */
     REGB2 = REGB3;
@@ -699,6 +720,7 @@ void standard___file___OFStream___write_native(val_t p0, val_t p1, val_t p2){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___OFStream___open[] = "file::OFStream::open";
 void standard___file___OFStream___open(val_t p0, val_t p1, int* init_table){
   int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___OFStream].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -732,7 +754,7 @@ void standard___file___OFStream___open(val_t p0, val_t p1, int* init_table){
   } else {
     REGB1 = TAG_Bool(fra.me.REG[0]==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[0])(fra.me.REG[0], NIT_NULL);
@@ -747,12 +769,13 @@ void standard___file___OFStream___open(val_t p0, val_t p1, int* init_table){
   /* ../lib/standard/file.nit:152 */
   ATTR_standard___file___FStream____path(fra.me.REG[2]) = fra.me.REG[1];
   /* ../lib/standard/file.nit:153 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   ATTR_standard___file___OFStream____writable(fra.me.REG[2]) = REGB0;
   stack_frame_head = fra.me.prev;
   init_table[itpos4] = 1;
   return;
 }
+static const char LOCATE_standard___file___OFStream___init[] = "file::OFStream::init";
 void standard___file___OFStream___init(val_t p0, int* init_table){
   int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___OFStream].i;
   struct {struct stack_frame_t me;} fra;
@@ -773,6 +796,7 @@ void standard___file___OFStream___init(val_t p0, int* init_table){
   init_table[itpos5] = 1;
   return;
 }
+static const char LOCATE_standard___file___OFStream___without_file[] = "file::OFStream::without_file";
 void standard___file___OFStream___without_file(val_t p0, int* init_table){
   int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___OFStream].i;
   struct {struct stack_frame_t me;} fra;
@@ -793,6 +817,7 @@ void standard___file___OFStream___without_file(val_t p0, int* init_table){
   init_table[itpos6] = 1;
   return;
 }
+static const char LOCATE_standard___file___Stdin___init[] = "file::Stdin::init";
 void standard___file___Stdin___init(val_t p0, int* init_table){
   int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___Stdin].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -833,6 +858,26 @@ void standard___file___Stdin___init(val_t p0, int* init_table){
   init_table[itpos7] = 1;
   return;
 }
+static const char LOCATE_standard___file___Stdin___poll_in[] = "file::Stdin::poll_in";
+val_t standard___file___Stdin___poll_in(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_standard___file;
+  fra.me.line = 170;
+  fra.me.meth = LOCATE_standard___file___Stdin___poll_in;
+  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;
+  /* ../lib/standard/file.nit:170 */
+  REGB0 = Stdin_poll_in___out(fra.me.REG[0]);
+  stack_frame_head = fra.me.prev;
+  return REGB0;
+}
+static const char LOCATE_standard___file___Stdout___init[] = "file::Stdout::init";
 void standard___file___Stdout___init(val_t p0, int* init_table){
   int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___Stdout].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -842,7 +887,7 @@ void standard___file___Stdout___init(val_t p0, int* init_table){
   if (init_table[itpos8]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 173;
+  fra.me.line = 177;
   fra.me.meth = LOCATE_standard___file___Stdout___init;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -850,13 +895,13 @@ void standard___file___Stdout___init(val_t p0, int* init_table){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ../lib/standard/file.nit:173 */
+  /* ../lib/standard/file.nit:177 */
   fra.me.REG[1] = fra.me.REG[0];
   CALL_standard___file___OFStream___init(fra.me.REG[0])(fra.me.REG[0], init_table);
-  /* ../lib/standard/file.nit:174 */
+  /* ../lib/standard/file.nit:178 */
   fra.me.REG[0] = NEW_NativeFile_standard___file___NativeFile___native_stdout();
   ATTR_standard___file___FStream____file(fra.me.REG[1]) = fra.me.REG[0];
-  /* ../lib/standard/file.nit:175 */
+  /* ../lib/standard/file.nit:179 */
   if (!once_value_1) {
     fra.me.REG[0] = BOX_NativeString("/dev/stdout");
     REGB0 = TAG_Int(11);
@@ -866,13 +911,14 @@ void standard___file___Stdout___init(val_t p0, int* init_table){
   } else fra.me.REG[0] = once_value_1;
   fra.me.REG[0] = fra.me.REG[0];
   ATTR_standard___file___FStream____path(fra.me.REG[1]) = fra.me.REG[0];
-  /* ../lib/standard/file.nit:176 */
-  REGB0 = TAG_Bool(true);
+  /* ../lib/standard/file.nit:180 */
+  REGB0 = TAG_Bool(1);
   ATTR_standard___file___OFStream____writable(fra.me.REG[1]) = REGB0;
   stack_frame_head = fra.me.prev;
   init_table[itpos8] = 1;
   return;
 }
+static const char LOCATE_standard___file___Stderr___init[] = "file::Stderr::init";
 void standard___file___Stderr___init(val_t p0, int* init_table){
   int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___Stderr].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -882,7 +928,7 @@ void standard___file___Stderr___init(val_t p0, int* init_table){
   if (init_table[itpos9]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 182;
+  fra.me.line = 186;
   fra.me.meth = LOCATE_standard___file___Stderr___init;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -890,13 +936,13 @@ void standard___file___Stderr___init(val_t p0, int* init_table){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ../lib/standard/file.nit:182 */
+  /* ../lib/standard/file.nit:186 */
   fra.me.REG[1] = fra.me.REG[0];
   CALL_standard___file___OFStream___init(fra.me.REG[0])(fra.me.REG[0], init_table);
-  /* ../lib/standard/file.nit:183 */
+  /* ../lib/standard/file.nit:187 */
   fra.me.REG[0] = NEW_NativeFile_standard___file___NativeFile___native_stderr();
   ATTR_standard___file___FStream____file(fra.me.REG[1]) = fra.me.REG[0];
-  /* ../lib/standard/file.nit:184 */
+  /* ../lib/standard/file.nit:188 */
   if (!once_value_1) {
     fra.me.REG[0] = BOX_NativeString("/dev/stderr");
     REGB0 = TAG_Int(11);
@@ -906,27 +952,28 @@ void standard___file___Stderr___init(val_t p0, int* init_table){
   } else fra.me.REG[0] = once_value_1;
   fra.me.REG[0] = fra.me.REG[0];
   ATTR_standard___file___FStream____path(fra.me.REG[1]) = fra.me.REG[0];
-  /* ../lib/standard/file.nit:185 */
-  REGB0 = TAG_Bool(true);
+  /* ../lib/standard/file.nit:189 */
+  REGB0 = TAG_Bool(1);
   ATTR_standard___file___OFStream____writable(fra.me.REG[1]) = REGB0;
   stack_frame_head = fra.me.prev;
   init_table[itpos9] = 1;
   return;
 }
+static const char LOCATE_standard___file___String___file_exists[] = "file::String::file_exists";
 val_t standard___file___String___file_exists(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_standard___file;
-  fra.me.line = 192;
+  fra.me.line = 196;
   fra.me.meth = LOCATE_standard___file___String___file_exists;
   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;
-  /* ../lib/standard/file.nit:193 */
+  /* ../lib/standard/file.nit:197 */
   fra.me.REG[0] = CALL_standard___string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_standard___file___NativeString___file_exists(fra.me.REG[0])(fra.me.REG[0]);
   goto label1;
@@ -934,19 +981,20 @@ val_t standard___file___String___file_exists(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___String___file_stat[] = "file::String::file_stat";
 val_t standard___file___String___file_stat(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 195;
+  fra.me.line = 199;
   fra.me.meth = LOCATE_standard___file___String___file_stat;
   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;
-  /* ../lib/standard/file.nit:195 */
+  /* ../lib/standard/file.nit:199 */
   fra.me.REG[0] = CALL_standard___string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_standard___file___NativeString___file_stat(fra.me.REG[0])(fra.me.REG[0]);
   goto label1;
@@ -954,20 +1002,21 @@ val_t standard___file___String___file_stat(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___String___file_delete[] = "file::String::file_delete";
 val_t standard___file___String___file_delete(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_standard___file;
-  fra.me.line = 197;
+  fra.me.line = 201;
   fra.me.meth = LOCATE_standard___file___String___file_delete;
   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;
-  /* ../lib/standard/file.nit:198 */
+  /* ../lib/standard/file.nit:202 */
   fra.me.REG[0] = CALL_standard___string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_standard___file___NativeString___file_delete(fra.me.REG[0])(fra.me.REG[0]);
   goto label1;
@@ -975,6 +1024,7 @@ val_t standard___file___String___file_delete(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___String___strip_extension[] = "file::String::strip_extension";
 val_t standard___file___String___strip_extension(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -983,7 +1033,7 @@ val_t standard___file___String___strip_extension(val_t p0, val_t p1){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 200;
+  fra.me.line = 204;
   fra.me.meth = LOCATE_standard___file___String___strip_extension;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -992,10 +1042,10 @@ val_t standard___file___String___strip_extension(val_t p0, val_t p1){
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ../lib/standard/file.nit:203 */
+  /* ../lib/standard/file.nit:207 */
   REGB0 = CALL_standard___string___AbstractString___has_suffix(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
-    /* ../lib/standard/file.nit:204 */
+    /* ../lib/standard/file.nit:208 */
     REGB0 = TAG_Int(0);
     /* ../lib/standard/collection/array.nit:24 */
     REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
@@ -1010,19 +1060,20 @@ val_t standard___file___String___strip_extension(val_t p0, val_t p1){
       nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
     }
     REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
-    /* ../lib/standard/kernel.nit:237 */
+    /* ../lib/standard/kernel.nit:240 */
     REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
-    /* ../lib/standard/file.nit:204 */
+    /* ../lib/standard/file.nit:208 */
     fra.me.REG[1] = CALL_standard___string___AbstractString___substring(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
     goto label1;
   }
-  /* ../lib/standard/file.nit:206 */
+  /* ../lib/standard/file.nit:210 */
   fra.me.REG[1] = fra.me.REG[0];
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_standard___file___String___basename[] = "file::String::basename";
 val_t standard___file___String___basename(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -1031,7 +1082,7 @@ val_t standard___file___String___basename(val_t p0, val_t p1){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 209;
+  fra.me.line = 213;
   fra.me.meth = LOCATE_standard___file___String___basename;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -1041,47 +1092,48 @@ val_t standard___file___String___basename(val_t p0, val_t p1){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ../lib/standard/file.nit:212 */
+  /* ../lib/standard/file.nit:216 */
   REGB0 = TAG_Char('/');
   REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file, 212);
+    nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file, 216);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
   REGB2 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:237 */
+  /* ../lib/standard/kernel.nit:240 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
-  /* ../lib/standard/file.nit:212 */
+  /* ../lib/standard/file.nit:216 */
   REGB2 = CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
-  /* ../lib/standard/file.nit:213 */
+  /* ../lib/standard/file.nit:217 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* ../lib/standard/file.nit:214 */
+  /* ../lib/standard/file.nit:218 */
   REGB0 = TAG_Int(0);
   REGB1 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
   if (UNTAG_Bool(REGB1)) {
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:233 */
+  /* ../lib/standard/kernel.nit:236 */
   REGB0 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB0));
-  /* ../lib/standard/file.nit:214 */
+  /* ../lib/standard/file.nit:218 */
   if (UNTAG_Bool(REGB0)) {
-    /* ../lib/standard/file.nit:215 */
+    /* ../lib/standard/file.nit:219 */
     REGB0 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:235 */
+    /* ../lib/standard/kernel.nit:238 */
     REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
-    /* ../lib/standard/file.nit:215 */
+    /* ../lib/standard/file.nit:219 */
     fra.me.REG[0] = CALL_standard___string___AbstractString___substring_from(fra.me.REG[0])(fra.me.REG[0], REGB0);
     fra.me.REG[2] = fra.me.REG[0];
   }
-  /* ../lib/standard/file.nit:217 */
+  /* ../lib/standard/file.nit:221 */
   fra.me.REG[1] = CALL_standard___file___String___strip_extension(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_standard___file___String___dirname[] = "file::String::dirname";
 val_t standard___file___String___dirname(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -1091,7 +1143,7 @@ val_t standard___file___String___dirname(val_t p0){
     static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 220;
+  fra.me.line = 224;
   fra.me.meth = LOCATE_standard___file___String___dirname;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -1099,36 +1151,36 @@ val_t standard___file___String___dirname(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ../lib/standard/file.nit:223 */
+  /* ../lib/standard/file.nit:227 */
   REGB0 = TAG_Char('/');
   REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
   } else {
-    nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file, 223);
+    nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file, 227);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
   REGB2 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:237 */
+  /* ../lib/standard/kernel.nit:240 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
-  /* ../lib/standard/file.nit:223 */
+  /* ../lib/standard/file.nit:227 */
   REGB2 = CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
-  /* ../lib/standard/file.nit:224 */
+  /* ../lib/standard/file.nit:228 */
   REGB0 = TAG_Int(0);
   REGB1 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
   if (UNTAG_Bool(REGB1)) {
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:233 */
+  /* ../lib/standard/kernel.nit:236 */
   REGB0 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB0));
-  /* ../lib/standard/file.nit:224 */
+  /* ../lib/standard/file.nit:228 */
   if (UNTAG_Bool(REGB0)) {
-    /* ../lib/standard/file.nit:225 */
+    /* ../lib/standard/file.nit:229 */
     REGB0 = TAG_Int(0);
     fra.me.REG[0] = CALL_standard___string___AbstractString___substring(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
     goto label1;
   } else {
-    /* ../lib/standard/file.nit:227 */
+    /* ../lib/standard/file.nit:231 */
     if (!once_value_2) {
       fra.me.REG[1] = BOX_NativeString(".");
       REGB2 = TAG_Int(1);
@@ -1144,6 +1196,7 @@ val_t standard___file___String___dirname(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___String___simplify_path[] = "file::String::simplify_path";
 val_t standard___file___String___simplify_path(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -1158,7 +1211,7 @@ val_t standard___file___String___simplify_path(val_t p0){
   static val_t once_value_8; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 231;
+  fra.me.line = 235;
   fra.me.meth = LOCATE_standard___file___String___simplify_path;
   fra.me.has_broke = 0;
   fra.me.REG_size = 6;
@@ -1170,7 +1223,7 @@ val_t standard___file___String___simplify_path(val_t p0){
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ../lib/standard/file.nit:246 */
+  /* ../lib/standard/file.nit:250 */
   if (!once_value_1) {
     fra.me.REG[1] = BOX_NativeString("/");
     REGB0 = TAG_Int(1);
@@ -1180,7 +1233,7 @@ val_t standard___file___String___simplify_path(val_t p0){
   } else fra.me.REG[1] = once_value_1;
   fra.me.REG[1] = fra.me.REG[1];
   fra.me.REG[1] = CALL_standard___string_search___String___split_with(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* ../lib/standard/file.nit:247 */
+  /* ../lib/standard/file.nit:251 */
   fra.me.REG[0] = NEW_Array_standard___collection___array___Array___init();
   /* ../lib/standard/collection/array.nit:269 */
   REGB0 = TAG_Int(0);
@@ -1207,7 +1260,7 @@ val_t standard___file___String___simplify_path(val_t p0){
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB1)) {
@@ -1218,7 +1271,7 @@ val_t standard___file___String___simplify_path(val_t p0){
       }
       /* ../lib/standard/collection/array.nit:718 */
       fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
-      /* ../lib/standard/file.nit:249 */
+      /* ../lib/standard/file.nit:253 */
       if (!once_value_2) {
         fra.me.REG[4] = BOX_NativeString(".");
         REGB1 = TAG_Int(1);
@@ -1236,7 +1289,7 @@ val_t standard___file___String___simplify_path(val_t p0){
       if (UNTAG_Bool(REGB1)) {
         goto label3;
       }
-      /* ../lib/standard/file.nit:250 */
+      /* ../lib/standard/file.nit:254 */
       if (!once_value_4) {
         fra.me.REG[4] = BOX_NativeString("");
         REGB1 = TAG_Int(0);
@@ -1255,13 +1308,13 @@ val_t standard___file___String___simplify_path(val_t p0){
         REGB1 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
         REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
       } else {
-        REGB2 = TAG_Bool(false);
+        REGB2 = TAG_Bool(0);
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
         goto label3;
       }
-      /* ../lib/standard/file.nit:251 */
+      /* ../lib/standard/file.nit:255 */
       if (!once_value_5) {
         fra.me.REG[4] = BOX_NativeString("..");
         REGB1 = TAG_Int(2);
@@ -1280,7 +1333,7 @@ val_t standard___file___String___simplify_path(val_t p0){
         REGB1 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
         REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
       } else {
-        REGB2 = TAG_Bool(false);
+        REGB2 = TAG_Bool(0);
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
@@ -1298,7 +1351,7 @@ val_t standard___file___String___simplify_path(val_t p0){
         } else {
           REGB2 = TAG_Bool(fra.me.REG[4]==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[4])(fra.me.REG[4], fra.me.REG[5]);
@@ -1307,21 +1360,21 @@ val_t standard___file___String___simplify_path(val_t p0){
         }
         REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
       } else {
-        REGB2 = TAG_Bool(false);
+        REGB2 = TAG_Bool(0);
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
-        /* ../lib/standard/file.nit:252 */
+        /* ../lib/standard/file.nit:256 */
         CALL_standard___collection___abstract_collection___Sequence___pop(fra.me.REG[0])(fra.me.REG[0]);
-        /* ../lib/standard/file.nit:253 */
+        /* ../lib/standard/file.nit:257 */
         goto label3;
       }
-      /* ../lib/standard/file.nit:255 */
+      /* ../lib/standard/file.nit:259 */
       CALL_standard___collection___abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
       label3: while(0);
       /* ../lib/standard/collection/array.nit:274 */
       REGB1 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
       /* ../lib/standard/collection/array.nit:274 */
       REGB0 = REGB1;
@@ -1331,7 +1384,7 @@ val_t standard___file___String___simplify_path(val_t p0){
     }
   }
   label7: while(0);
-  /* ../lib/standard/file.nit:257 */
+  /* ../lib/standard/file.nit:261 */
   if (!once_value_8) {
     fra.me.REG[2] = BOX_NativeString("/");
     REGB0 = TAG_Int(1);
@@ -1346,6 +1399,7 @@ val_t standard___file___String___simplify_path(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_standard___file___String___join_path[] = "file::String::join_path";
 val_t standard___file___String___join_path(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -1357,7 +1411,7 @@ val_t standard___file___String___join_path(val_t p0, val_t p1){
   static val_t once_value_4; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 260;
+  fra.me.line = 264;
   fra.me.meth = LOCATE_standard___file___String___join_path;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -1369,35 +1423,35 @@ val_t standard___file___String___join_path(val_t p0, val_t p1){
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ../lib/standard/file.nit:277 */
+  /* ../lib/standard/file.nit:281 */
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
     fra.me.REG[2] = fra.me.REG[0];
     goto label1;
   }
-  /* ../lib/standard/file.nit:278 */
+  /* ../lib/standard/file.nit:282 */
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
   if (UNTAG_Bool(REGB0)) {
     fra.me.REG[2] = fra.me.REG[1];
     goto label1;
   }
-  /* ../lib/standard/file.nit:279 */
+  /* ../lib/standard/file.nit:283 */
   REGB0 = TAG_Int(0);
   REGB0 = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB0);
   REGB1 = TAG_Char('/');
   REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
   if (UNTAG_Bool(REGB2)) {
   } else {
-    /* ../lib/standard/kernel.nit:378 */
+    /* ../lib/standard/kernel.nit:381 */
     REGB1 = TAG_Bool((REGB0)==(REGB1));
-    /* ../lib/standard/file.nit:279 */
+    /* ../lib/standard/file.nit:283 */
     REGB2 = REGB1;
   }
   if (UNTAG_Bool(REGB2)) {
     fra.me.REG[2] = fra.me.REG[1];
     goto label1;
   }
-  /* ../lib/standard/file.nit:280 */
+  /* ../lib/standard/file.nit:284 */
   REGB2 = TAG_Int(5);
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
   if (!once_value_2) {
@@ -1436,6 +1490,7 @@ val_t standard___file___String___join_path(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_standard___file___String___mkdir[] = "file::String::mkdir";
 void standard___file___String___mkdir(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -1445,7 +1500,7 @@ void standard___file___String___mkdir(val_t p0){
   static val_t once_value_1; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 283;
+  fra.me.line = 287;
   fra.me.meth = LOCATE_standard___file___String___mkdir;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -1455,7 +1510,7 @@ void standard___file___String___mkdir(val_t p0){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* ../lib/standard/file.nit:286 */
+  /* ../lib/standard/file.nit:290 */
   if (!once_value_1) {
     fra.me.REG[1] = BOX_NativeString("/");
     REGB0 = TAG_Int(1);
@@ -1465,14 +1520,14 @@ void standard___file___String___mkdir(val_t p0){
   } else fra.me.REG[1] = once_value_1;
   fra.me.REG[1] = fra.me.REG[1];
   fra.me.REG[1] = CALL_standard___string_search___String___split_with(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* ../lib/standard/file.nit:287 */
+  /* ../lib/standard/file.nit:291 */
   fra.me.REG[0] = NEW_Buffer_standard___string___Buffer___init();
-  /* ../lib/standard/file.nit:288 */
+  /* ../lib/standard/file.nit:292 */
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
     goto label2;
   }
-  /* ../lib/standard/file.nit:289 */
+  /* ../lib/standard/file.nit:293 */
   REGB0 = TAG_Int(0);
   /* ../lib/standard/collection/array.nit:278 */
   fra.me.REG[2] = fra.me.REG[1];
@@ -1483,7 +1538,7 @@ void standard___file___String___mkdir(val_t p0){
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:233 */
+  /* ../lib/standard/kernel.nit:236 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
   /* ../lib/standard/collection/array.nit:280 */
   if (UNTAG_Bool(REGB1)) {
@@ -1498,11 +1553,11 @@ void standard___file___String___mkdir(val_t p0){
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
   } else {
     /* ../lib/standard/collection/array.nit:280 */
-    REGB2 = TAG_Bool(false);
+    REGB2 = TAG_Bool(0);
     REGB1 = REGB2;
   }
   if (UNTAG_Bool(REGB1)) {
@@ -1520,14 +1575,14 @@ void standard___file___String___mkdir(val_t p0){
   /* ../lib/standard/collection/array.nit:281 */
   goto label3;
   label3: while(0);
-  /* ../lib/standard/file.nit:289 */
+  /* ../lib/standard/file.nit:293 */
   REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
-    nit_abort("Reciever is null", NULL, LOCATE_standard___file, 289);
+    nit_abort("Reciever is null", NULL, LOCATE_standard___file, 293);
   }
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
   if (UNTAG_Bool(REGB0)) {
-    /* ../lib/standard/file.nit:291 */
+    /* ../lib/standard/file.nit:295 */
     REGB0 = TAG_Char('/');
     CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], REGB0);
   }
@@ -1556,7 +1611,7 @@ void standard___file___String___mkdir(val_t p0){
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB1)) {
@@ -1567,24 +1622,24 @@ void standard___file___String___mkdir(val_t p0){
       }
       /* ../lib/standard/collection/array.nit:718 */
       fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
-      /* ../lib/standard/file.nit:294 */
+      /* ../lib/standard/file.nit:298 */
       REGB1 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
       if (UNTAG_Bool(REGB1)) {
         goto label4;
       }
-      /* ../lib/standard/file.nit:295 */
+      /* ../lib/standard/file.nit:299 */
       CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
-      /* ../lib/standard/file.nit:296 */
+      /* ../lib/standard/file.nit:300 */
       REGB1 = TAG_Char('/');
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], REGB1);
-      /* ../lib/standard/file.nit:297 */
+      /* ../lib/standard/file.nit:301 */
       fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
       fra.me.REG[3] = CALL_standard___string___String___to_cstring(fra.me.REG[3])(fra.me.REG[3]);
       CALL_standard___file___NativeString___file_mkdir(fra.me.REG[3])(fra.me.REG[3]);
       label4: while(0);
       /* ../lib/standard/collection/array.nit:274 */
       REGB1 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
       /* ../lib/standard/collection/array.nit:274 */
       REGB0 = REGB1;
@@ -1598,6 +1653,7 @@ void standard___file___String___mkdir(val_t p0){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_standard___file___String___file_extension[] = "file::String::file_extension";
 val_t standard___file___String___file_extension(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1606,30 +1662,30 @@ val_t standard___file___String___file_extension(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 301;
+  fra.me.line = 305;
   fra.me.meth = LOCATE_standard___file___String___file_extension;
   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;
-  /* ../lib/standard/file.nit:304 */
+  /* ../lib/standard/file.nit:308 */
   REGB0 = TAG_Char('.');
   REGB0 = CALL_standard___collection___array___AbstractArrayRead___last_index_of(fra.me.REG[0])(fra.me.REG[0], REGB0);
-  /* ../lib/standard/file.nit:305 */
+  /* ../lib/standard/file.nit:309 */
   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:233 */
+  /* ../lib/standard/kernel.nit:236 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
-  /* ../lib/standard/file.nit:305 */
+  /* ../lib/standard/file.nit:309 */
   if (UNTAG_Bool(REGB1)) {
-    /* ../lib/standard/file.nit:306 */
+    /* ../lib/standard/file.nit:310 */
     REGB1 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:235 */
+    /* ../lib/standard/kernel.nit:238 */
     REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
     /* ../lib/standard/collection/array.nit:24 */
     REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
@@ -1638,11 +1694,11 @@ val_t standard___file___String___file_extension(val_t p0){
       nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
     }
     REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
-    /* ../lib/standard/file.nit:306 */
+    /* ../lib/standard/file.nit:310 */
     fra.me.REG[0] = CALL_standard___string___AbstractString___substring(fra.me.REG[0])(fra.me.REG[0], REGB1, REGB0);
     goto label1;
   } else {
-    /* ../lib/standard/file.nit:308 */
+    /* ../lib/standard/file.nit:312 */
     fra.me.REG[0] = NIT_NULL;
     goto label1;
   }
@@ -1650,19 +1706,20 @@ val_t standard___file___String___file_extension(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___String___files[] = "file::String::files";
 val_t standard___file___String___files(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 312;
+  fra.me.line = 316;
   fra.me.meth = LOCATE_standard___file___String___files;
   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;
-  /* ../lib/standard/file.nit:312 */
+  /* ../lib/standard/file.nit:316 */
   fra.me.REG[0] = String_files___out(fra.me.REG[0]);
   ;
   ;
@@ -1671,174 +1728,184 @@ val_t standard___file___String___files(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___NativeString___file_exists[] = "file::NativeString::file_exists";
 val_t standard___file___NativeString___file_exists(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_standard___file;
-  fra.me.line = 317;
+  fra.me.line = 321;
   fra.me.meth = LOCATE_standard___file___NativeString___file_exists;
   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;
-  /* ../lib/standard/file.nit:317 */
+  /* ../lib/standard/file.nit:321 */
   REGB0 = NativeString_file_exists___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___NativeString___file_stat[] = "file::NativeString::file_stat";
 val_t standard___file___NativeString___file_stat(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 318;
+  fra.me.line = 322;
   fra.me.meth = LOCATE_standard___file___NativeString___file_stat;
   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;
-  /* ../lib/standard/file.nit:318 */
+  /* ../lib/standard/file.nit:322 */
   fra.me.REG[0] = NativeString_file_stat___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___NativeString___file_mkdir[] = "file::NativeString::file_mkdir";
 val_t standard___file___NativeString___file_mkdir(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_standard___file;
-  fra.me.line = 319;
+  fra.me.line = 323;
   fra.me.meth = LOCATE_standard___file___NativeString___file_mkdir;
   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;
-  /* ../lib/standard/file.nit:319 */
+  /* ../lib/standard/file.nit:323 */
   REGB0 = NativeString_file_mkdir___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___NativeString___file_delete[] = "file::NativeString::file_delete";
 val_t standard___file___NativeString___file_delete(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_standard___file;
-  fra.me.line = 320;
+  fra.me.line = 324;
   fra.me.meth = LOCATE_standard___file___NativeString___file_delete;
   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;
-  /* ../lib/standard/file.nit:320 */
+  /* ../lib/standard/file.nit:324 */
   REGB0 = NativeString_file_delete___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___FileStat___mode[] = "file::FileStat::mode";
 val_t standard___file___FileStat___mode(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_standard___file;
-  fra.me.line = 324;
+  fra.me.line = 328;
   fra.me.meth = LOCATE_standard___file___FileStat___mode;
   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;
-  /* ../lib/standard/file.nit:324 */
+  /* ../lib/standard/file.nit:328 */
   REGB0 = FileStat_mode___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___FileStat___atime[] = "file::FileStat::atime";
 val_t standard___file___FileStat___atime(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_standard___file;
-  fra.me.line = 326;
+  fra.me.line = 330;
   fra.me.meth = LOCATE_standard___file___FileStat___atime;
   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;
-  /* ../lib/standard/file.nit:326 */
+  /* ../lib/standard/file.nit:330 */
   REGB0 = FileStat_atime___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___FileStat___ctime[] = "file::FileStat::ctime";
 val_t standard___file___FileStat___ctime(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_standard___file;
-  fra.me.line = 327;
+  fra.me.line = 331;
   fra.me.meth = LOCATE_standard___file___FileStat___ctime;
   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;
-  /* ../lib/standard/file.nit:327 */
+  /* ../lib/standard/file.nit:331 */
   REGB0 = FileStat_ctime___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___FileStat___mtime[] = "file::FileStat::mtime";
 val_t standard___file___FileStat___mtime(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_standard___file;
-  fra.me.line = 328;
+  fra.me.line = 332;
   fra.me.meth = LOCATE_standard___file___FileStat___mtime;
   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;
-  /* ../lib/standard/file.nit:328 */
+  /* ../lib/standard/file.nit:332 */
   REGB0 = FileStat_mtime___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___FileStat___size[] = "file::FileStat::size";
 val_t standard___file___FileStat___size(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_standard___file;
-  fra.me.line = 329;
+  fra.me.line = 333;
   fra.me.meth = LOCATE_standard___file___FileStat___size;
   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;
-  /* ../lib/standard/file.nit:329 */
+  /* ../lib/standard/file.nit:333 */
   REGB0 = FileStat_size___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___NativeFile___io_read[] = "file::NativeFile::io_read";
 val_t standard___file___NativeFile___io_read(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 334;
+  fra.me.line = 338;
   fra.me.meth = LOCATE_standard___file___NativeFile___io_read;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -1848,18 +1915,19 @@ val_t standard___file___NativeFile___io_read(val_t p0, val_t p1, val_t p2){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   REGB0 = p2;
-  /* ../lib/standard/file.nit:334 */
+  /* ../lib/standard/file.nit:338 */
   REGB0 = NativeFile_io_read___out(fra.me.REG[0], fra.me.REG[1], REGB0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___NativeFile___io_write[] = "file::NativeFile::io_write";
 val_t standard___file___NativeFile___io_write(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 335;
+  fra.me.line = 339;
   fra.me.meth = LOCATE_standard___file___NativeFile___io_write;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -1869,46 +1937,49 @@ val_t standard___file___NativeFile___io_write(val_t p0, val_t p1, val_t p2){
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
   REGB0 = p2;
-  /* ../lib/standard/file.nit:335 */
+  /* ../lib/standard/file.nit:339 */
   REGB0 = NativeFile_io_write___out(fra.me.REG[0], fra.me.REG[1], REGB0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___NativeFile___io_close[] = "file::NativeFile::io_close";
 val_t standard___file___NativeFile___io_close(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_standard___file;
-  fra.me.line = 336;
+  fra.me.line = 340;
   fra.me.meth = LOCATE_standard___file___NativeFile___io_close;
   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;
-  /* ../lib/standard/file.nit:336 */
+  /* ../lib/standard/file.nit:340 */
   REGB0 = NativeFile_io_close___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_standard___file___NativeFile___file_stat[] = "file::NativeFile::file_stat";
 val_t standard___file___NativeFile___file_stat(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 337;
+  fra.me.line = 341;
   fra.me.meth = LOCATE_standard___file___NativeFile___file_stat;
   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;
-  /* ../lib/standard/file.nit:337 */
+  /* ../lib/standard/file.nit:341 */
   fra.me.REG[0] = NativeFile_file_stat___out(fra.me.REG[0]);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_standard___file___NativeFile___io_open_read[] = "file::NativeFile::io_open_read";
 void standard___file___NativeFile___io_open_read(val_t p0, val_t p1, int* init_table){
   int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___NativeFile].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -1916,7 +1987,7 @@ void standard___file___NativeFile___io_open_read(val_t p0, val_t p1, int* init_t
   if (init_table[itpos10]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 339;
+  fra.me.line = 343;
   fra.me.meth = LOCATE_standard___file___NativeFile___io_open_read;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -1925,11 +1996,12 @@ void standard___file___NativeFile___io_open_read(val_t p0, val_t p1, int* init_t
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ../lib/standard/file.nit:339 */
+  /* ../lib/standard/file.nit:343 */
   stack_frame_head = fra.me.prev;
   init_table[itpos10] = 1;
   return;
 }
+static const char LOCATE_standard___file___NativeFile___io_open_write[] = "file::NativeFile::io_open_write";
 void standard___file___NativeFile___io_open_write(val_t p0, val_t p1, int* init_table){
   int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___NativeFile].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -1937,7 +2009,7 @@ void standard___file___NativeFile___io_open_write(val_t p0, val_t p1, int* init_
   if (init_table[itpos11]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 340;
+  fra.me.line = 344;
   fra.me.meth = LOCATE_standard___file___NativeFile___io_open_write;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -1946,11 +2018,12 @@ void standard___file___NativeFile___io_open_write(val_t p0, val_t p1, int* init_
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* ../lib/standard/file.nit:340 */
+  /* ../lib/standard/file.nit:344 */
   stack_frame_head = fra.me.prev;
   init_table[itpos11] = 1;
   return;
 }
+static const char LOCATE_standard___file___NativeFile___native_stdin[] = "file::NativeFile::native_stdin";
 void standard___file___NativeFile___native_stdin(val_t p0, int* init_table){
   int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___NativeFile].i;
   struct {struct stack_frame_t me;} fra;
@@ -1958,18 +2031,19 @@ void standard___file___NativeFile___native_stdin(val_t p0, int* init_table){
   if (init_table[itpos12]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 341;
+  fra.me.line = 345;
   fra.me.meth = LOCATE_standard___file___NativeFile___native_stdin;
   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;
-  /* ../lib/standard/file.nit:341 */
+  /* ../lib/standard/file.nit:345 */
   stack_frame_head = fra.me.prev;
   init_table[itpos12] = 1;
   return;
 }
+static const char LOCATE_standard___file___NativeFile___native_stdout[] = "file::NativeFile::native_stdout";
 void standard___file___NativeFile___native_stdout(val_t p0, int* init_table){
   int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___NativeFile].i;
   struct {struct stack_frame_t me;} fra;
@@ -1977,18 +2051,19 @@ void standard___file___NativeFile___native_stdout(val_t p0, int* init_table){
   if (init_table[itpos13]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 342;
+  fra.me.line = 346;
   fra.me.meth = LOCATE_standard___file___NativeFile___native_stdout;
   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;
-  /* ../lib/standard/file.nit:342 */
+  /* ../lib/standard/file.nit:346 */
   stack_frame_head = fra.me.prev;
   init_table[itpos13] = 1;
   return;
 }
+static const char LOCATE_standard___file___NativeFile___native_stderr[] = "file::NativeFile::native_stderr";
 void standard___file___NativeFile___native_stderr(val_t p0, int* init_table){
   int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___file___NativeFile].i;
   struct {struct stack_frame_t me;} fra;
@@ -1996,14 +2071,14 @@ void standard___file___NativeFile___native_stderr(val_t p0, int* init_table){
   if (init_table[itpos14]) return;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_standard___file;
-  fra.me.line = 343;
+  fra.me.line = 347;
   fra.me.meth = LOCATE_standard___file___NativeFile___native_stderr;
   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;
-  /* ../lib/standard/file.nit:343 */
+  /* ../lib/standard/file.nit:347 */
   stack_frame_head = fra.me.prev;
   init_table[itpos14] = 1;
   return;