c_src: update to have intern args
[nit.git] / c_src / syntax___icode_generation._sep.c
index 3107406..4410876 100644 (file)
@@ -1,5 +1,6 @@
 /* This C file is generated by NIT to compile module syntax___icode_generation. */
 #include "syntax___icode_generation._sep.h"
+static const char LOCATE_syntax___icode_generation___A2IContext___stmt[] = "icode_generation::A2IContext::(icode_builder::ICodeBuilder::stmt)";
 void syntax___icode_generation___A2IContext___stmt(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -27,7 +28,7 @@ void syntax___icode_generation___A2IContext___stmt(val_t p0, val_t p1){
   } 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);
@@ -53,7 +54,7 @@ void syntax___icode_generation___A2IContext___stmt(val_t p0, val_t p1){
     } 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);
@@ -78,6 +79,7 @@ void syntax___icode_generation___A2IContext___stmt(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___add_new_array[] = "icode_generation::A2IContext::add_new_array";
 val_t syntax___icode_generation___A2IContext___add_new_array(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -111,7 +113,7 @@ val_t syntax___icode_generation___A2IContext___add_new_array(val_t p0, val_t p1,
       register_static_object(&once_value_2);
     } else fra.me.REG[3] = once_value_2;
     fra.me.REG[3] = fra.me.REG[3];
-    fra.me.REG[3] = CALL_standard___symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
+    fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
     once_value_1 = fra.me.REG[3];
     register_static_object(&once_value_1);
   } else fra.me.REG[3] = once_value_1;
@@ -134,6 +136,7 @@ val_t syntax___icode_generation___A2IContext___add_new_array(val_t p0, val_t p1,
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___add_call_array_add[] = "icode_generation::A2IContext::add_call_array_add";
 void syntax___icode_generation___A2IContext___add_call_array_add(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -169,7 +172,7 @@ void syntax___icode_generation___A2IContext___add_call_array_add(val_t p0, val_t
       register_static_object(&once_value_2);
     } else fra.me.REG[5] = once_value_2;
     fra.me.REG[5] = fra.me.REG[5];
-    fra.me.REG[5] = CALL_standard___symbol___String___to_symbol(fra.me.REG[5])(fra.me.REG[5]);
+    fra.me.REG[5] = CALL_symbol___String___to_symbol(fra.me.REG[5])(fra.me.REG[5]);
     once_value_1 = fra.me.REG[5];
     register_static_object(&once_value_1);
   } else fra.me.REG[5] = once_value_1;
@@ -185,6 +188,7 @@ void syntax___icode_generation___A2IContext___add_call_array_add(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___variable[] = "icode_generation::A2IContext::variable";
 val_t syntax___icode_generation___A2IContext___variable(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -248,6 +252,7 @@ val_t syntax___icode_generation___A2IContext___variable(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___closurevariables[] = "icode_generation::A2IContext::closurevariables";
 val_t syntax___icode_generation___A2IContext___closurevariables(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -271,6 +276,7 @@ val_t syntax___icode_generation___A2IContext___closurevariables(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___visitor[] = "icode_generation::A2IContext::visitor";
 val_t syntax___icode_generation___A2IContext___visitor(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -294,6 +300,7 @@ val_t syntax___icode_generation___A2IContext___visitor(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___return_seq[] = "icode_generation::A2IContext::return_seq";
 val_t syntax___icode_generation___A2IContext___return_seq(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -311,6 +318,7 @@ val_t syntax___icode_generation___A2IContext___return_seq(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___return_seq__eq[] = "icode_generation::A2IContext::return_seq=";
 void syntax___icode_generation___A2IContext___return_seq__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -330,6 +338,7 @@ void syntax___icode_generation___A2IContext___return_seq__eq(val_t p0, val_t p1)
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___return_value[] = "icode_generation::A2IContext::return_value";
 val_t syntax___icode_generation___A2IContext___return_value(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -347,6 +356,7 @@ val_t syntax___icode_generation___A2IContext___return_value(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___return_value__eq[] = "icode_generation::A2IContext::return_value=";
 void syntax___icode_generation___A2IContext___return_value__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -366,6 +376,7 @@ void syntax___icode_generation___A2IContext___return_value__eq(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___method[] = "icode_generation::A2IContext::method";
 val_t syntax___icode_generation___A2IContext___method(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -383,6 +394,7 @@ val_t syntax___icode_generation___A2IContext___method(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___selfreg[] = "icode_generation::A2IContext::selfreg";
 val_t syntax___icode_generation___A2IContext___selfreg(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -400,6 +412,7 @@ val_t syntax___icode_generation___A2IContext___selfreg(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___selfreg__eq[] = "icode_generation::A2IContext::selfreg=";
 void syntax___icode_generation___A2IContext___selfreg__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -419,6 +432,7 @@ void syntax___icode_generation___A2IContext___selfreg__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___init[] = "icode_generation::A2IContext::init";
 void syntax___icode_generation___A2IContext___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
   int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___icode_generation___A2IContext].i;
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
@@ -460,6 +474,7 @@ void syntax___icode_generation___A2IContext___init(val_t p0, val_t p1, val_t p2,
   init_table[itpos0] = 1;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___invoke_super_init_calls_after[] = "icode_generation::A2IContext::invoke_super_init_calls_after";
 void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -523,7 +538,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
   } else {
     REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
     if (UNTAG_Bool(REGB3)) {
-      REGB3 = TAG_Bool(false);
+      REGB3 = TAG_Bool(0);
       REGB2 = REGB3;
     } else {
       REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
@@ -548,7 +563,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB3 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB3));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB3)) {
@@ -563,11 +578,11 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB4 = TAG_Bool(false);
+        REGB4 = TAG_Bool(0);
         REGB3 = REGB4;
       }
       if (UNTAG_Bool(REGB3)) {
@@ -580,7 +595,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       if (UNTAG_Bool(REGB3)) {
         nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ../lib/standard/collection/array.nit:718 */
+      /* ../lib/standard/collection/array.nit:724 */
       fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB2)];
       /* ../lib/standard/collection/array.nit:281 */
       goto label2;
@@ -591,7 +606,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       } else {
         REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
         if (UNTAG_Bool(REGB3)) {
-          REGB3 = TAG_Bool(false);
+          REGB3 = TAG_Bool(0);
           REGB2 = REGB3;
         } else {
           REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
@@ -602,7 +617,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       if (UNTAG_Bool(REGB2)) {
         /* syntax/icode_generation.nit:110 */
         REGB2 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
         /* syntax/icode_generation.nit:110 */
         REGB0 = REGB2;
@@ -614,7 +629,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
     label3: while(0);
     /* syntax/icode_generation.nit:112 */
     REGB2 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:235 */
+    /* ../lib/standard/kernel.nit:238 */
     REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
     /* syntax/icode_generation.nit:112 */
     REGB0 = REGB2;
@@ -634,7 +649,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB3 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB3));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB3)) {
@@ -649,11 +664,11 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB4 = TAG_Bool(false);
+        REGB4 = TAG_Bool(0);
         REGB3 = REGB4;
       }
       if (UNTAG_Bool(REGB3)) {
@@ -666,7 +681,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       if (UNTAG_Bool(REGB3)) {
         nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ../lib/standard/collection/array.nit:718 */
+      /* ../lib/standard/collection/array.nit:724 */
       fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB2)];
       /* ../lib/standard/collection/array.nit:281 */
       goto label4;
@@ -677,7 +692,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       } else {
         REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
         if (UNTAG_Bool(REGB3)) {
-          REGB3 = TAG_Bool(false);
+          REGB3 = TAG_Bool(0);
           REGB2 = REGB3;
         } else {
           REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
@@ -688,7 +703,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       if (UNTAG_Bool(REGB2)) {
         /* syntax/icode_generation.nit:115 */
         REGB2 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
         /* syntax/icode_generation.nit:115 */
         REGB1 = REGB2;
@@ -700,7 +715,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
     label5: while(0);
     /* syntax/icode_generation.nit:117 */
     REGB2 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:235 */
+    /* ../lib/standard/kernel.nit:238 */
     REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
     /* syntax/icode_generation.nit:117 */
     REGB1 = REGB2;
@@ -725,7 +740,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:232 */
+  /* ../lib/standard/kernel.nit:235 */
   REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
   /* syntax/icode_generation.nit:120 */
   if (UNTAG_Bool(REGB2)) {
@@ -742,7 +757,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:233 */
+    /* ../lib/standard/kernel.nit:236 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
     /* ../lib/standard/collection/array.nit:280 */
     if (UNTAG_Bool(REGB2)) {
@@ -757,11 +772,11 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:232 */
+      /* ../lib/standard/kernel.nit:235 */
       REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
     } else {
       /* ../lib/standard/collection/array.nit:280 */
-      REGB3 = TAG_Bool(false);
+      REGB3 = TAG_Bool(0);
       REGB2 = REGB3;
     }
     if (UNTAG_Bool(REGB2)) {
@@ -774,7 +789,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
     if (UNTAG_Bool(REGB2)) {
       nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
     }
-    /* ../lib/standard/collection/array.nit:718 */
+    /* ../lib/standard/collection/array.nit:724 */
     fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB1)];
     /* ../lib/standard/collection/array.nit:281 */
     goto label6;
@@ -802,7 +817,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
     /* syntax/icode_generation.nit:124 */
     if (UNTAG_Bool(REGB2)) {
@@ -821,7 +836,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB3 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB3));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB3)) {
@@ -836,11 +851,11 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB4 = TAG_Bool(false);
+        REGB4 = TAG_Bool(0);
         REGB3 = REGB4;
       }
       if (UNTAG_Bool(REGB3)) {
@@ -853,7 +868,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       if (UNTAG_Bool(REGB3)) {
         nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ../lib/standard/collection/array.nit:718 */
+      /* ../lib/standard/collection/array.nit:724 */
       fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB2)];
       /* ../lib/standard/collection/array.nit:281 */
       goto label7;
@@ -881,7 +896,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       REGB4 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
       if (UNTAG_Bool(REGB4)) {
       } else {
-        /* ../lib/standard/kernel.nit:227 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB3 = TAG_Bool((REGB2)==(REGB3));
         /* syntax/icode_generation.nit:128 */
         REGB4 = REGB3;
@@ -903,7 +918,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
       CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
       /* syntax/icode_generation.nit:136 */
       REGB4 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
       /* syntax/icode_generation.nit:136 */
       REGB0 = REGB4;
@@ -938,6 +953,7 @@ void syntax___icode_generation___A2IContext___invoke_super_init_calls_after(val_
           stack_frame_head = fra.me.prev;
           return;
         }
+static const char LOCATE_syntax___icode_generation___A2IContext___generate_stmt[] = "icode_generation::A2IContext::generate_stmt";
 void syntax___icode_generation___A2IContext___generate_stmt(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -961,7 +977,7 @@ void syntax___icode_generation___A2IContext___generate_stmt(val_t p0, val_t p1){
   } 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);
@@ -987,6 +1003,7 @@ void syntax___icode_generation___A2IContext___generate_stmt(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IContext___generate_expr[] = "icode_generation::A2IContext::generate_expr";
 val_t syntax___icode_generation___A2IContext___generate_expr(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -1025,6 +1042,7 @@ val_t syntax___icode_generation___A2IContext___generate_expr(val_t p0, val_t p1)
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___EscapableBlock___break_seq[] = "icode_generation::EscapableBlock::break_seq";
 val_t syntax___icode_generation___EscapableBlock___break_seq(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1042,6 +1060,7 @@ val_t syntax___icode_generation___EscapableBlock___break_seq(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___EscapableBlock___break_seq__eq[] = "icode_generation::EscapableBlock::break_seq=";
 void syntax___icode_generation___EscapableBlock___break_seq__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1061,6 +1080,7 @@ void syntax___icode_generation___EscapableBlock___break_seq__eq(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___EscapableBlock___continue_seq[] = "icode_generation::EscapableBlock::continue_seq";
 val_t syntax___icode_generation___EscapableBlock___continue_seq(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1078,6 +1098,7 @@ val_t syntax___icode_generation___EscapableBlock___continue_seq(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___EscapableBlock___continue_seq__eq[] = "icode_generation::EscapableBlock::continue_seq=";
 void syntax___icode_generation___EscapableBlock___continue_seq__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1097,6 +1118,7 @@ void syntax___icode_generation___EscapableBlock___continue_seq__eq(val_t p0, val
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___EscapableBlock___break_value[] = "icode_generation::EscapableBlock::break_value";
 val_t syntax___icode_generation___EscapableBlock___break_value(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1114,6 +1136,7 @@ val_t syntax___icode_generation___EscapableBlock___break_value(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___EscapableBlock___break_value__eq[] = "icode_generation::EscapableBlock::break_value=";
 void syntax___icode_generation___EscapableBlock___break_value__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1133,6 +1156,7 @@ void syntax___icode_generation___EscapableBlock___break_value__eq(val_t p0, val_
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___EscapableBlock___continue_value[] = "icode_generation::EscapableBlock::continue_value";
 val_t syntax___icode_generation___EscapableBlock___continue_value(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1150,6 +1174,7 @@ val_t syntax___icode_generation___EscapableBlock___continue_value(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___EscapableBlock___continue_value__eq[] = "icode_generation::EscapableBlock::continue_value=";
 void syntax___icode_generation___EscapableBlock___continue_value__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1169,6 +1194,7 @@ void syntax___icode_generation___EscapableBlock___continue_value__eq(val_t p0, v
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMSrcModule___generate_icode[] = "icode_generation::MMSrcModule::generate_icode";
 void syntax___icode_generation___MMSrcModule___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -1249,6 +1275,7 @@ void syntax___icode_generation___MMSrcModule___generate_icode(val_t p0, val_t p1
       stack_frame_head = fra.me.prev;
       return;
     }
+static const char LOCATE_syntax___icode_generation___MMSrcAttribute___iroutine[] = "icode_generation::MMSrcAttribute::(icode_base::MMAttribute::iroutine)";
 val_t syntax___icode_generation___MMSrcAttribute___iroutine(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1266,6 +1293,7 @@ val_t syntax___icode_generation___MMSrcAttribute___iroutine(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___MMSrcAttribute___iroutine__eq[] = "icode_generation::MMSrcAttribute::iroutine=";
 void syntax___icode_generation___MMSrcAttribute___iroutine__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1285,6 +1313,7 @@ void syntax___icode_generation___MMSrcAttribute___iroutine__eq(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMSrcAttribute___generate_iroutine[] = "icode_generation::MMSrcAttribute::generate_iroutine";
 void syntax___icode_generation___MMSrcAttribute___generate_iroutine(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -1315,7 +1344,7 @@ void syntax___icode_generation___MMSrcAttribute___generate_iroutine(val_t p0, va
   } 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);
@@ -1354,6 +1383,7 @@ void syntax___icode_generation___MMSrcAttribute___generate_iroutine(val_t p0, va
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMSrcMethod___iroutine[] = "icode_generation::MMSrcMethod::(icode_base::MMMethod::iroutine)";
 val_t syntax___icode_generation___MMSrcMethod___iroutine(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1371,6 +1401,7 @@ val_t syntax___icode_generation___MMSrcMethod___iroutine(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___MMSrcMethod___iroutine__eq[] = "icode_generation::MMSrcMethod::iroutine=";
 void syntax___icode_generation___MMSrcMethod___iroutine__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1390,6 +1421,7 @@ void syntax___icode_generation___MMSrcMethod___iroutine__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMSrcMethod___generate_iroutine[] = "icode_generation::MMSrcMethod::generate_iroutine";
 void syntax___icode_generation___MMSrcMethod___generate_iroutine(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -1422,7 +1454,7 @@ void syntax___icode_generation___MMSrcMethod___generate_iroutine(val_t p0, val_t
   } 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);
@@ -1453,6 +1485,7 @@ void syntax___icode_generation___MMSrcMethod___generate_iroutine(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMSrcMethod___inner_generate_iroutine[] = "icode_generation::MMSrcMethod::inner_generate_iroutine";
 void syntax___icode_generation___MMSrcMethod___inner_generate_iroutine(val_t p0, val_t p1){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1468,6 +1501,7 @@ void syntax___icode_generation___MMSrcMethod___inner_generate_iroutine(val_t p0,
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMReadImplementationMethod___inner_generate_iroutine[] = "icode_generation::MMReadImplementationMethod::(icode_generation::MMSrcMethod::inner_generate_iroutine)";
 void syntax___icode_generation___MMReadImplementationMethod___inner_generate_iroutine(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -1500,6 +1534,7 @@ void syntax___icode_generation___MMReadImplementationMethod___inner_generate_iro
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMWriteImplementationMethod___inner_generate_iroutine[] = "icode_generation::MMWriteImplementationMethod::(icode_generation::MMSrcMethod::inner_generate_iroutine)";
 void syntax___icode_generation___MMWriteImplementationMethod___inner_generate_iroutine(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -1536,6 +1571,7 @@ void syntax___icode_generation___MMWriteImplementationMethod___inner_generate_ir
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMMethSrcMethod___inner_generate_iroutine[] = "icode_generation::MMMethSrcMethod::(icode_generation::MMSrcMethod::inner_generate_iroutine)";
 void syntax___icode_generation___MMMethSrcMethod___inner_generate_iroutine(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1557,6 +1593,7 @@ void syntax___icode_generation___MMMethSrcMethod___inner_generate_iroutine(val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___MMImplicitInit___inner_generate_iroutine[] = "icode_generation::MMImplicitInit::(icode_generation::MMSrcMethod::inner_generate_iroutine)";
 void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
   val_t REGB0;
@@ -1599,7 +1636,7 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
-  /* ../lib/standard/kernel.nit:237 */
+  /* ../lib/standard/kernel.nit:240 */
   REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
   /* syntax/icode_generation.nit:262 */
   fra.me.REG[3] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[2])(fra.me.REG[2]);
@@ -1630,7 +1667,7 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB2)) {
@@ -1639,7 +1676,7 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
       if (UNTAG_Bool(REGB2)) {
         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[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB0)];
       /* syntax/icode_generation.nit:264 */
       REGB2 = TAG_Bool(VAL_ISA(fra.me.REG[6], COLOR_metamodel___abstractmetamodel___MMMethod, ID_metamodel___abstractmetamodel___MMMethod)) /*cast MMMethod*/;
@@ -1666,32 +1703,32 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
         /* syntax/icode_generation.nit:269 */
         REGB2 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:347 */
+        /* ../lib/standard/kernel.nit:350 */
         REGB3 = REGB1;
-        /* ../lib/standard/kernel.nit:352 */
+        /* ../lib/standard/kernel.nit:355 */
         while(1) {
           REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
           if (UNTAG_Bool(REGB4)) {
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:232 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB4 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
-          /* ../lib/standard/kernel.nit:352 */
+          /* ../lib/standard/kernel.nit:355 */
           if (UNTAG_Bool(REGB4)) {
             /* syntax/icode_generation.nit:269 */
             REGB4 = REGB2;
             /* syntax/icode_generation.nit:270 */
             fra.me.REG[9] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB4);
             CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
-            /* ../lib/standard/kernel.nit:354 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB4 = TAG_Int(1);
-            /* ../lib/standard/kernel.nit:235 */
+            /* ../lib/standard/kernel.nit:238 */
             REGB4 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
-            /* ../lib/standard/kernel.nit:354 */
+            /* ../lib/standard/kernel.nit:357 */
             REGB2 = REGB4;
           } else {
-            /* ../lib/standard/kernel.nit:352 */
+            /* ../lib/standard/kernel.nit:355 */
             goto label1;
           }
         }
@@ -1706,7 +1743,7 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
       }
       /* ../lib/standard/collection/array.nit:274 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
       /* ../lib/standard/collection/array.nit:274 */
       REGB0 = REGB2;
@@ -1718,24 +1755,24 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
   label2: while(0);
   /* syntax/icode_generation.nit:277 */
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
-  /* ../lib/standard/kernel.nit:347 */
+  /* ../lib/standard/kernel.nit:350 */
   REGB2 = REGB1;
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     REGB3 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
     if (UNTAG_Bool(REGB3)) {
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB3)) {
       /* syntax/icode_generation.nit:277 */
       REGB3 = REGB2;
       /* syntax/icode_generation.nit:278 */
       fra.me.REG[5] = CALL_syntax___syntax_base___MMImplicitInit___unassigned_attributes(fra.me.REG[0])(fra.me.REG[0]);
-      /* ../lib/standard/kernel.nit:237 */
+      /* ../lib/standard/kernel.nit:240 */
       REGB4 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB1));
       /* ../lib/standard/collection/array.nit:280 */
       REGB5 = TAG_Int(0);
@@ -1744,7 +1781,7 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB5 = TAG_Bool(UNTAG_Int(REGB4)>=UNTAG_Int(REGB5));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB5)) {
@@ -1759,11 +1796,11 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB5 = TAG_Bool(UNTAG_Int(REGB4)<UNTAG_Int(REGB5));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB6 = TAG_Bool(false);
+        REGB6 = TAG_Bool(0);
         REGB5 = REGB6;
       }
       if (UNTAG_Bool(REGB5)) {
@@ -1776,7 +1813,7 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
       if (UNTAG_Bool(REGB5)) {
         nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ../lib/standard/collection/array.nit:718 */
+      /* ../lib/standard/collection/array.nit:724 */
       fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB4)];
       /* ../lib/standard/collection/array.nit:281 */
       goto label3;
@@ -1785,14 +1822,14 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
       fra.me.REG[4] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB3);
       fra.me.REG[4] = NEW_IAttrWrite_icode___icode_base___IAttrWrite___init(fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
       CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB3 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = REGB3;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label4;
     }
   }
@@ -1800,6 +1837,7 @@ void syntax___icode_generation___MMImplicitInit___inner_generate_iroutine(val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IVisitor___icode_ctx__eq[] = "icode_generation::A2IVisitor::icode_ctx=";
 void syntax___icode_generation___A2IVisitor___icode_ctx__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1819,6 +1857,7 @@ void syntax___icode_generation___A2IVisitor___icode_ctx__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IVisitor___icode_ctx[] = "icode_generation::A2IVisitor::icode_ctx";
 val_t syntax___icode_generation___A2IVisitor___icode_ctx(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -1846,6 +1885,7 @@ val_t syntax___icode_generation___A2IVisitor___icode_ctx(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___A2IVisitor___visit[] = "icode_generation::A2IVisitor::(parser_prod::Visitor::visit)";
 void syntax___icode_generation___A2IVisitor___visit(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -1870,6 +1910,7 @@ void syntax___icode_generation___A2IVisitor___visit(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___A2IVisitor___init[] = "icode_generation::A2IVisitor::init";
 void syntax___icode_generation___A2IVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___icode_generation___A2IVisitor].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -1894,6 +1935,7 @@ void syntax___icode_generation___A2IVisitor___init(val_t p0, val_t p1, val_t p2,
   init_table[itpos1] = 1;
   return;
 }
+static const char LOCATE_syntax___icode_generation___ANode___accept_icode_generation[] = "icode_generation::ANode::accept_icode_generation";
 void syntax___icode_generation___ANode___accept_icode_generation(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1913,6 +1955,7 @@ void syntax___icode_generation___ANode___accept_icode_generation(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AAttrPropdef___accept_icode_generation[] = "icode_generation::AAttrPropdef::(icode_generation::ANode::accept_icode_generation)";
 void syntax___icode_generation___AAttrPropdef___accept_icode_generation(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -1956,7 +1999,7 @@ void syntax___icode_generation___AAttrPropdef___accept_icode_generation(val_t p0
   } 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);
@@ -1980,6 +2023,7 @@ void syntax___icode_generation___AAttrPropdef___accept_icode_generation(val_t p0
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AMethPropdef___accept_icode_generation[] = "icode_generation::AMethPropdef::(icode_generation::ANode::accept_icode_generation)";
 void syntax___icode_generation___AMethPropdef___accept_icode_generation(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t tmp;
@@ -2008,6 +2052,7 @@ void syntax___icode_generation___AMethPropdef___accept_icode_generation(val_t p0
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AMethPropdef___fill_iroutine[] = "icode_generation::AMethPropdef::fill_iroutine";
 void syntax___icode_generation___AMethPropdef___fill_iroutine(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -2023,6 +2068,7 @@ void syntax___icode_generation___AMethPropdef___fill_iroutine(val_t p0, val_t p1
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___ASignature___fill_iroutine_parameters[] = "icode_generation::ASignature::fill_iroutine_parameters";
 void syntax___icode_generation___ASignature___fill_iroutine_parameters(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -2058,16 +2104,16 @@ void syntax___icode_generation___ASignature___fill_iroutine_parameters(val_t p0,
   REGB0 = TAG_Int(0);
   fra.me.REG[3] = CALL_parser___parser_nodes___ASignature___n_closure_decls(fra.me.REG[5])(fra.me.REG[5]);
   REGB1 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     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:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
       /* syntax/icode_generation.nit:335 */
       REGB2 = REGB0;
@@ -2083,14 +2129,14 @@ void syntax___icode_generation___ASignature___fill_iroutine_parameters(val_t p0,
       }
       fra.me.REG[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB2);
       CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[2]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label2;
     }
   }
@@ -2149,6 +2195,7 @@ void syntax___icode_generation___ASignature___fill_iroutine_parameters(val_t p0,
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_syntax___icode_generation___AClosureDecl___accept_icode_generation[] = "icode_generation::AClosureDecl::(icode_generation::ANode::accept_icode_generation)";
 void syntax___icode_generation___AClosureDecl___accept_icode_generation(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
   val_t REGB0;
@@ -2231,7 +2278,7 @@ void syntax___icode_generation___AClosureDecl___accept_icode_generation(val_t p0
   } else {
     REGB1 = TAG_Bool(fra.me.REG[7]==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[7])(fra.me.REG[7], NIT_NULL);
@@ -2268,7 +2315,7 @@ void syntax___icode_generation___AClosureDecl___accept_icode_generation(val_t p0
       } 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);
@@ -2276,7 +2323,7 @@ void syntax___icode_generation___AClosureDecl___accept_icode_generation(val_t p0
         }
       }
     } else {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     }
     if (UNTAG_Bool(REGB0)) {
@@ -2295,6 +2342,7 @@ void syntax___icode_generation___AClosureDecl___accept_icode_generation(val_t p0
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AConcreteMethPropdef___fill_iroutine[] = "icode_generation::AConcreteMethPropdef::(icode_generation::AMethPropdef::fill_iroutine)";
 void syntax___icode_generation___AConcreteMethPropdef___fill_iroutine(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -2335,7 +2383,7 @@ void syntax___icode_generation___AConcreteMethPropdef___fill_iroutine(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)) {
@@ -2350,11 +2398,11 @@ void syntax___icode_generation___AConcreteMethPropdef___fill_iroutine(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)) {
@@ -2367,7 +2415,7 @@ void syntax___icode_generation___AConcreteMethPropdef___fill_iroutine(val_t p0,
   if (UNTAG_Bool(REGB1)) {
     nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
   }
-  /* ../lib/standard/collection/array.nit:718 */
+  /* ../lib/standard/collection/array.nit:724 */
   fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB0)];
   /* ../lib/standard/collection/array.nit:281 */
   goto label1;
@@ -2397,7 +2445,7 @@ void syntax___icode_generation___AConcreteMethPropdef___fill_iroutine(val_t p0,
   } else {
     REGB1 = TAG_Bool(fra.me.REG[4]==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[4])(fra.me.REG[4], NIT_NULL);
@@ -2429,7 +2477,7 @@ void syntax___icode_generation___AConcreteMethPropdef___fill_iroutine(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);
@@ -2447,6 +2495,7 @@ void syntax___icode_generation___AConcreteMethPropdef___fill_iroutine(val_t p0,
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AExternPropdef___fill_iroutine[] = "icode_generation::AExternPropdef::(icode_generation::AMethPropdef::fill_iroutine)";
 void syntax___icode_generation___AExternPropdef___fill_iroutine(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -2515,13 +2564,14 @@ void syntax___icode_generation___AExternPropdef___fill_iroutine(val_t p0, val_t
       fra.me.REG[2] = fra.me.REG[1];
     }
     /* syntax/icode_generation.nit:407 */
-    REGB0 = TAG_Bool(true);
+    REGB0 = TAG_Bool(1);
     CALL_icode___icode_base___IAbsCall___is_explicit_from_extern__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
     /* syntax/icode_generation.nit:408 */
     CALL_icode___icode_builder___ICodeBuilder___stmt(closctx->REG[1])(closctx->REG[1], fra.me.REG[2]);
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_syntax___icode_generation___AExternInitPropdef___fill_iroutine[] = "icode_generation::AExternInitPropdef::(icode_generation::AMethPropdef::fill_iroutine)";
 void syntax___icode_generation___AExternInitPropdef___fill_iroutine(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
   val_t REGB0;
@@ -2562,13 +2612,13 @@ void syntax___icode_generation___AExternInitPropdef___fill_iroutine(val_t p0, va
   }
   REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[6])(fra.me.REG[6]);
   REGB2 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:235 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
   /* syntax/icode_generation.nit:418 */
   REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
   if (UNTAG_Bool(REGB1)) {
   } else {
-    /* ../lib/standard/kernel.nit:227 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB2 = TAG_Bool((REGB0)==(REGB2));
     /* syntax/icode_generation.nit:418 */
     REGB1 = REGB2;
@@ -2593,6 +2643,7 @@ void syntax___icode_generation___AExternInitPropdef___fill_iroutine(val_t p0, va
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___ADeferredMethPropdef___fill_iroutine[] = "icode_generation::ADeferredMethPropdef::(icode_generation::AMethPropdef::fill_iroutine)";
 void syntax___icode_generation___ADeferredMethPropdef___fill_iroutine(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -2627,6 +2678,7 @@ void syntax___icode_generation___ADeferredMethPropdef___fill_iroutine(val_t p0,
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AExternMethPropdef___fill_iroutine[] = "icode_generation::AExternMethPropdef::(icode_generation::AMethPropdef::fill_iroutine)";
 void syntax___icode_generation___AExternMethPropdef___fill_iroutine(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
   val_t REGB0;
@@ -2669,7 +2721,7 @@ void syntax___icode_generation___AExternMethPropdef___fill_iroutine(val_t p0, va
   } else {
     REGB1 = TAG_Bool(fra.me.REG[6]==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[6])(fra.me.REG[6], NIT_NULL);
@@ -2692,6 +2744,7 @@ void syntax___icode_generation___AExternMethPropdef___fill_iroutine(val_t p0, va
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AInternMethPropdef___fill_iroutine[] = "icode_generation::AInternMethPropdef::(icode_generation::AMethPropdef::fill_iroutine)";
 void syntax___icode_generation___AInternMethPropdef___fill_iroutine(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -2728,7 +2781,7 @@ void syntax___icode_generation___AInternMethPropdef___fill_iroutine(val_t p0, va
   } 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);
@@ -2749,6 +2802,7 @@ void syntax___icode_generation___AInternMethPropdef___fill_iroutine(val_t p0, va
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AExpr___accept_icode_generation[] = "icode_generation::AExpr::(icode_generation::ANode::accept_icode_generation)";
 void syntax___icode_generation___AExpr___accept_icode_generation(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -2766,6 +2820,7 @@ void syntax___icode_generation___AExpr___accept_icode_generation(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AExpr___generate_icode[] = "icode_generation::AExpr::generate_icode";
 val_t syntax___icode_generation___AExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -2781,6 +2836,7 @@ val_t syntax___icode_generation___AExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return NIT_NULL;
 }
+static const char LOCATE_syntax___icode_generation___AVardeclExpr___generate_icode[] = "icode_generation::AVardeclExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AVardeclExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -2809,7 +2865,7 @@ val_t syntax___icode_generation___AVardeclExpr___generate_icode(val_t p0, val_t
   } 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);
@@ -2829,6 +2885,7 @@ val_t syntax___icode_generation___AVardeclExpr___generate_icode(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___ABlockExpr___generate_icode[] = "icode_generation::ABlockExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ABlockExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -2873,6 +2930,7 @@ val_t syntax___icode_generation___ABlockExpr___generate_icode(val_t p0, val_t p1
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_syntax___icode_generation___ADoExpr___generate_icode[] = "icode_generation::ADoExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ADoExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -2918,6 +2976,7 @@ val_t syntax___icode_generation___ADoExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AReturnExpr___generate_icode[] = "icode_generation::AReturnExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AReturnExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -2946,7 +3005,7 @@ val_t syntax___icode_generation___AReturnExpr___generate_icode(val_t p0, val_t p
   } 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);
@@ -2980,6 +3039,7 @@ val_t syntax___icode_generation___AReturnExpr___generate_icode(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___ABreakExpr___generate_icode[] = "icode_generation::ABreakExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ABreakExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -3009,7 +3069,7 @@ val_t syntax___icode_generation___ABreakExpr___generate_icode(val_t p0, val_t p1
   } 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);
@@ -3053,6 +3113,7 @@ val_t syntax___icode_generation___ABreakExpr___generate_icode(val_t p0, val_t p1
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AContinueExpr___generate_icode[] = "icode_generation::AContinueExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AContinueExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -3082,7 +3143,7 @@ val_t syntax___icode_generation___AContinueExpr___generate_icode(val_t p0, val_t
   } 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);
@@ -3126,6 +3187,7 @@ val_t syntax___icode_generation___AContinueExpr___generate_icode(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AAbortExpr___generate_icode[] = "icode_generation::AAbortExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AAbortExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -3163,6 +3225,7 @@ val_t syntax___icode_generation___AAbortExpr___generate_icode(val_t p0, val_t p1
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AIfExpr___generate_icode[] = "icode_generation::AIfExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AIfExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -3197,7 +3260,7 @@ val_t syntax___icode_generation___AIfExpr___generate_icode(val_t p0, val_t p1){
   } else {
     REGB1 = TAG_Bool(fra.me.REG[4]==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[4])(fra.me.REG[4], NIT_NULL);
@@ -3220,7 +3283,7 @@ val_t syntax___icode_generation___AIfExpr___generate_icode(val_t p0, val_t p1){
   } else {
     REGB1 = TAG_Bool(fra.me.REG[4]==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[4])(fra.me.REG[4], NIT_NULL);
@@ -3245,6 +3308,7 @@ val_t syntax___icode_generation___AIfExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_syntax___icode_generation___AWhileExpr___generate_icode[] = "icode_generation::AWhileExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AWhileExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -3294,7 +3358,7 @@ val_t syntax___icode_generation___AWhileExpr___generate_icode(val_t p0, val_t p1
   } 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);
@@ -3332,6 +3396,7 @@ val_t syntax___icode_generation___AWhileExpr___generate_icode(val_t p0, val_t p1
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___ALoopExpr___generate_icode[] = "icode_generation::ALoopExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ALoopExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -3373,7 +3438,7 @@ val_t syntax___icode_generation___ALoopExpr___generate_icode(val_t p0, val_t p1)
   } 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);
@@ -3408,6 +3473,7 @@ val_t syntax___icode_generation___ALoopExpr___generate_icode(val_t p0, val_t p1)
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AForExpr___generate_icode[] = "icode_generation::AForExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
   val_t REGB0;
@@ -3460,7 +3526,7 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
       REGB0 = REGB1;
     }
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
   }
   if (UNTAG_Bool(REGB0)) {
@@ -3487,7 +3553,7 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
           register_static_object(&once_value_2);
         } else fra.me.REG[7] = once_value_2;
         fra.me.REG[7] = fra.me.REG[7];
-        fra.me.REG[7] = CALL_standard___symbol___String___to_symbol(fra.me.REG[7])(fra.me.REG[7]);
+        fra.me.REG[7] = CALL_symbol___String___to_symbol(fra.me.REG[7])(fra.me.REG[7]);
         once_value_1 = fra.me.REG[7];
         register_static_object(&once_value_1);
       } else fra.me.REG[7] = once_value_1;
@@ -3511,7 +3577,7 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
           register_static_object(&once_value_4);
         } else fra.me.REG[6] = once_value_4;
         fra.me.REG[6] = fra.me.REG[6];
-        fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+        fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
         once_value_3 = fra.me.REG[6];
         register_static_object(&once_value_3);
       } else fra.me.REG[6] = once_value_3;
@@ -3531,7 +3597,7 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
         register_static_object(&once_value_6);
       } else fra.me.REG[4] = once_value_6;
       fra.me.REG[4] = fra.me.REG[4];
-      fra.me.REG[4] = CALL_standard___symbol___String___to_symbol(fra.me.REG[4])(fra.me.REG[4]);
+      fra.me.REG[4] = CALL_symbol___String___to_symbol(fra.me.REG[4])(fra.me.REG[4]);
       once_value_5 = fra.me.REG[4];
       register_static_object(&once_value_5);
     } else fra.me.REG[4] = once_value_5;
@@ -3614,16 +3680,16 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     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:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
       /* syntax/icode_generation.nit:667 */
       REGB2 = REGB0;
@@ -3638,7 +3704,7 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB4 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB4));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB4)) {
@@ -3653,11 +3719,11 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB4 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB5 = TAG_Bool(false);
+        REGB5 = TAG_Bool(0);
         REGB4 = REGB5;
       }
       if (UNTAG_Bool(REGB4)) {
@@ -3670,7 +3736,7 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
       if (UNTAG_Bool(REGB4)) {
         nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ../lib/standard/collection/array.nit:718 */
+      /* ../lib/standard/collection/array.nit:724 */
       fra.me.REG[8] = ((Nit_NativeArray)fra.me.REG[8])->val[UNTAG_Int(REGB3)];
       /* ../lib/standard/collection/array.nit:281 */
       goto label7;
@@ -3681,14 +3747,14 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
       fra.me.REG[2] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB2);
       fra.me.REG[2] = NEW_IMove_icode___icode_base___IMove___init(fra.me.REG[8], fra.me.REG[2]);
       CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label8;
     }
   }
@@ -3712,6 +3778,7 @@ val_t syntax___icode_generation___AForExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_syntax___icode_generation___AAssertExpr___generate_icode[] = "icode_generation::AAssertExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AAssertExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -3756,7 +3823,7 @@ val_t syntax___icode_generation___AAssertExpr___generate_icode(val_t p0, val_t p
   } 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);
@@ -3808,6 +3875,7 @@ val_t syntax___icode_generation___AAssertExpr___generate_icode(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_syntax___icode_generation___AVarExpr___generate_icode[] = "icode_generation::AVarExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AVarExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -3830,6 +3898,7 @@ val_t syntax___icode_generation___AVarExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AVarAssignExpr___generate_icode[] = "icode_generation::AVarAssignExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AVarAssignExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -3859,6 +3928,7 @@ val_t syntax___icode_generation___AVarAssignExpr___generate_icode(val_t p0, val_
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AVarReassignExpr___generate_icode[] = "icode_generation::AVarReassignExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AVarReassignExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -3916,6 +3986,7 @@ val_t syntax___icode_generation___AVarReassignExpr___generate_icode(val_t p0, va
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___ASelfExpr___generate_icode[] = "icode_generation::ASelfExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ASelfExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -3938,6 +4009,7 @@ val_t syntax___icode_generation___ASelfExpr___generate_icode(val_t p0, val_t p1)
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AIfexprExpr___generate_icode[] = "icode_generation::AIfexprExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AIfexprExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t tmp;
@@ -3989,6 +4061,7 @@ val_t syntax___icode_generation___AIfexprExpr___generate_icode(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return fra.me.REG[4];
 }
+static const char LOCATE_syntax___icode_generation___AEeExpr___generate_icode[] = "icode_generation::AEeExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AEeExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t tmp;
@@ -4020,6 +4093,7 @@ val_t syntax___icode_generation___AEeExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AOrExpr___generate_icode[] = "icode_generation::AOrExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AOrExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t tmp;
@@ -4070,6 +4144,7 @@ val_t syntax___icode_generation___AOrExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AAndExpr___generate_icode[] = "icode_generation::AAndExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AAndExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t tmp;
@@ -4120,6 +4195,7 @@ val_t syntax___icode_generation___AAndExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___ANotExpr___generate_icode[] = "icode_generation::ANotExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ANotExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -4147,6 +4223,7 @@ val_t syntax___icode_generation___ANotExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AOrElseExpr___generate_icode[] = "icode_generation::AOrElseExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AOrElseExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t tmp;
@@ -4205,6 +4282,7 @@ val_t syntax___icode_generation___AOrElseExpr___generate_icode(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_syntax___icode_generation___AIsaExpr___generate_icode[] = "icode_generation::AIsaExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AIsaExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -4245,6 +4323,7 @@ val_t syntax___icode_generation___AIsaExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AAsCastExpr___generate_icode[] = "icode_generation::AAsCastExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AAsCastExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -4272,6 +4351,7 @@ val_t syntax___icode_generation___AAsCastExpr___generate_icode(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AAsNotnullExpr___generate_icode[] = "icode_generation::AAsNotnullExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AAsNotnullExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -4299,6 +4379,7 @@ val_t syntax___icode_generation___AAsNotnullExpr___generate_icode(val_t p0, val_
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___ATrueExpr___generate_icode[] = "icode_generation::ATrueExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ATrueExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -4320,6 +4401,7 @@ val_t syntax___icode_generation___ATrueExpr___generate_icode(val_t p0, val_t p1)
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___AFalseExpr___generate_icode[] = "icode_generation::AFalseExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AFalseExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -4341,6 +4423,7 @@ val_t syntax___icode_generation___AFalseExpr___generate_icode(val_t p0, val_t p1
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___AIntExpr___generate_icode[] = "icode_generation::AIntExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AIntExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -4367,6 +4450,7 @@ val_t syntax___icode_generation___AIntExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AFloatExpr___generate_icode[] = "icode_generation::AFloatExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AFloatExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -4393,6 +4477,7 @@ val_t syntax___icode_generation___AFloatExpr___generate_icode(val_t p0, val_t p1
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___ACharExpr___generate_icode[] = "icode_generation::ACharExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ACharExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t tmp;
@@ -4419,6 +4504,7 @@ val_t syntax___icode_generation___ACharExpr___generate_icode(val_t p0, val_t p1)
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AStringFormExpr___generate_icode[] = "icode_generation::AStringFormExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AStringFormExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
   val_t REGB0;
@@ -4491,7 +4577,7 @@ val_t syntax___icode_generation___AStringFormExpr___generate_icode(val_t p0, val
       register_static_object(&once_value_2);
     } else fra.me.REG[8] = once_value_2;
     fra.me.REG[8] = fra.me.REG[8];
-    fra.me.REG[8] = CALL_standard___symbol___String___to_symbol(fra.me.REG[8])(fra.me.REG[8]);
+    fra.me.REG[8] = CALL_symbol___String___to_symbol(fra.me.REG[8])(fra.me.REG[8]);
     once_value_1 = fra.me.REG[8];
     register_static_object(&once_value_1);
   } else fra.me.REG[8] = once_value_1;
@@ -4516,6 +4602,7 @@ val_t syntax___icode_generation___AStringFormExpr___generate_icode(val_t p0, val
   stack_frame_head = fra.me.prev;
   return fra.me.REG[5];
 }
+static const char LOCATE_syntax___icode_generation___AStringFormExpr___string_text[] = "icode_generation::AStringFormExpr::string_text";
 val_t syntax___icode_generation___AStringFormExpr___string_text(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -4531,6 +4618,7 @@ val_t syntax___icode_generation___AStringFormExpr___string_text(val_t p0){
   stack_frame_head = fra.me.prev;
   return NIT_NULL;
 }
+static const char LOCATE_syntax___icode_generation___AStringFormExpr___compute_string_infos[] = "icode_generation::AStringFormExpr::compute_string_infos";
 void syntax___icode_generation___AStringFormExpr___compute_string_infos(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -4552,14 +4640,84 @@ void syntax___icode_generation___AStringFormExpr___compute_string_infos(val_t p0
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* syntax/icode_generation.nit:940 */
-  REGB0 = TAG_Int(0);
+  fra.me.REG[1] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[1] = CALL_parser___parser_nodes___Token___text(fra.me.REG[1])(fra.me.REG[1]);
+  /* ../lib/standard/collection/array.nit:24 */
+  REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
+  }
+  REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
+  /* syntax/icode_generation.nit:941 */
+  REGB1 = TAG_Int(6);
+  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:236 */
+  REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
   /* syntax/icode_generation.nit:941 */
-  fra.me.REG[1] = CALL_syntax___icode_generation___AStringFormExpr___string_text(fra.me.REG[0])(fra.me.REG[0]);
-  /* syntax/icode_generation.nit:942 */
+  if (UNTAG_Bool(REGB1)) {
+    REGB1 = TAG_Int(0);
+    REGB1 = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB1);
+    REGB0 = TAG_Int(1);
+    REGB0 = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB0);
+    REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB0));
+    if (UNTAG_Bool(REGB2)) {
+    } else {
+      /* ../lib/standard/kernel.nit:381 */
+      REGB0 = TAG_Bool((REGB1)==(REGB0));
+      /* syntax/icode_generation.nit:941 */
+      REGB2 = REGB0;
+    }
+  } else {
+    REGB0 = TAG_Bool(0);
+    REGB2 = REGB0;
+  }
+  if (UNTAG_Bool(REGB2)) {
+    /* syntax/icode_generation.nit:942 */
+    REGB2 = TAG_Int(3);
+    /* ../lib/standard/collection/array.nit:24 */
+    REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+    if (UNTAG_Bool(REGB0)) {
+    } else {
+      nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
+    }
+    REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
+    /* syntax/icode_generation.nit:942 */
+    REGB1 = TAG_Int(6);
+    /* ../lib/standard/kernel.nit:240 */
+    REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
+    /* syntax/icode_generation.nit:942 */
+    fra.me.REG[2] = CALL_standard___string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB2, REGB1);
+    fra.me.REG[1] = fra.me.REG[2];
+  } else {
+    /* syntax/icode_generation.nit:944 */
+    REGB1 = TAG_Int(1);
+    /* ../lib/standard/collection/array.nit:24 */
+    REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
+    if (UNTAG_Bool(REGB2)) {
+    } else {
+      nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
+    }
+    REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
+    /* syntax/icode_generation.nit:944 */
+    REGB0 = TAG_Int(2);
+    /* ../lib/standard/kernel.nit:240 */
+    REGB0 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB0));
+    /* syntax/icode_generation.nit:944 */
+    fra.me.REG[2] = CALL_standard___string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB1, REGB0);
+    fra.me.REG[1] = fra.me.REG[2];
+  }
+  /* syntax/icode_generation.nit:946 */
   fra.me.REG[2] = NEW_Buffer_standard___string___Buffer___init();
-  /* syntax/icode_generation.nit:943 */
+  /* syntax/icode_generation.nit:947 */
+  REGB0 = TAG_Int(0);
+  /* syntax/icode_generation.nit:948 */
   REGB1 = TAG_Int(0);
-  /* syntax/icode_generation.nit:944 */
+  /* syntax/icode_generation.nit:949 */
   while(1) {
     /* ../lib/standard/collection/array.nit:24 */
     REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
@@ -4573,39 +4731,39 @@ void syntax___icode_generation___AStringFormExpr___compute_string_infos(val_t p0
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
-    /* syntax/icode_generation.nit:944 */
+    /* syntax/icode_generation.nit:949 */
     if (UNTAG_Bool(REGB2)) {
-      /* syntax/icode_generation.nit:945 */
+      /* syntax/icode_generation.nit:950 */
       REGB2 = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB1);
-      /* syntax/icode_generation.nit:946 */
+      /* syntax/icode_generation.nit:951 */
       REGB3 = TAG_Char('\\');
       REGB4 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
       if (UNTAG_Bool(REGB4)) {
       } else {
-        /* ../lib/standard/kernel.nit:378 */
+        /* ../lib/standard/kernel.nit:381 */
         REGB3 = TAG_Bool((REGB2)==(REGB3));
-        /* syntax/icode_generation.nit:946 */
+        /* syntax/icode_generation.nit:951 */
         REGB4 = REGB3;
       }
       if (UNTAG_Bool(REGB4)) {
-        /* syntax/icode_generation.nit:947 */
+        /* syntax/icode_generation.nit:952 */
         REGB4 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB4 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB4));
-        /* syntax/icode_generation.nit:947 */
+        /* syntax/icode_generation.nit:952 */
         REGB1 = REGB4;
-        /* syntax/icode_generation.nit:948 */
+        /* syntax/icode_generation.nit:953 */
         REGB4 = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB1);
-        /* syntax/icode_generation.nit:949 */
+        /* syntax/icode_generation.nit:954 */
         REGB3 = TAG_Char('{');
         REGB5 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB3));
         if (UNTAG_Bool(REGB5)) {
         } else {
-          /* ../lib/standard/kernel.nit:378 */
+          /* ../lib/standard/kernel.nit:381 */
           REGB3 = TAG_Bool((REGB4)==(REGB3));
-          /* syntax/icode_generation.nit:949 */
+          /* syntax/icode_generation.nit:954 */
           REGB5 = REGB3;
         }
         REGB5 = TAG_Bool(!UNTAG_Bool(REGB5));
@@ -4614,51 +4772,87 @@ void syntax___icode_generation___AStringFormExpr___compute_string_infos(val_t p0
           REGB3 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB5));
           if (UNTAG_Bool(REGB3)) {
           } else {
-            /* ../lib/standard/kernel.nit:378 */
+            /* ../lib/standard/kernel.nit:381 */
             REGB5 = TAG_Bool((REGB4)==(REGB5));
-            /* syntax/icode_generation.nit:949 */
+            /* syntax/icode_generation.nit:954 */
             REGB3 = REGB5;
           }
           REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
         } else {
-          REGB5 = TAG_Bool(false);
+          REGB5 = TAG_Bool(0);
           REGB3 = REGB5;
         }
         if (UNTAG_Bool(REGB3)) {
-          /* syntax/icode_generation.nit:950 */
+          /* syntax/icode_generation.nit:955 */
           CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB2);
         }
-        /* syntax/icode_generation.nit:952 */
+        /* syntax/icode_generation.nit:957 */
         REGB2 = REGB4;
+      } else {
+        /* syntax/icode_generation.nit:958 */
+        REGB4 = TAG_Char('"');
+        REGB3 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB4));
+        if (UNTAG_Bool(REGB3)) {
+        } else {
+          /* ../lib/standard/kernel.nit:381 */
+          REGB4 = TAG_Bool((REGB2)==(REGB4));
+          /* syntax/icode_generation.nit:958 */
+          REGB3 = REGB4;
+        }
+        if (UNTAG_Bool(REGB3)) {
+          /* syntax/icode_generation.nit:959 */
+          REGB3 = TAG_Char('\\');
+          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB3);
+        } else {
+          /* syntax/icode_generation.nit:960 */
+          REGB3 = TAG_Char('\n');
+          REGB4 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
+          if (UNTAG_Bool(REGB4)) {
+          } else {
+            /* ../lib/standard/kernel.nit:381 */
+            REGB3 = TAG_Bool((REGB2)==(REGB3));
+            /* syntax/icode_generation.nit:960 */
+            REGB4 = REGB3;
+          }
+          if (UNTAG_Bool(REGB4)) {
+            /* syntax/icode_generation.nit:961 */
+            REGB4 = TAG_Char('\\');
+            CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB4);
+            /* syntax/icode_generation.nit:962 */
+            REGB4 = TAG_Char('n');
+            REGB2 = REGB4;
+          }
+        }
       }
-      /* syntax/icode_generation.nit:954 */
+      /* syntax/icode_generation.nit:964 */
       REGB4 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
-      /* syntax/icode_generation.nit:954 */
+      /* syntax/icode_generation.nit:964 */
       REGB0 = REGB4;
-      /* syntax/icode_generation.nit:955 */
+      /* syntax/icode_generation.nit:965 */
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], REGB2);
-      /* syntax/icode_generation.nit:956 */
+      /* syntax/icode_generation.nit:966 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
-      /* syntax/icode_generation.nit:956 */
+      /* syntax/icode_generation.nit:966 */
       REGB1 = REGB2;
     } else {
-      /* syntax/icode_generation.nit:944 */
+      /* syntax/icode_generation.nit:949 */
       goto label1;
     }
   }
   label1: while(0);
-  /* syntax/icode_generation.nit:958 */
+  /* syntax/icode_generation.nit:968 */
   fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
   ATTR_syntax___icode_generation___AStringFormExpr____cstring(fra.me.REG[0]) = fra.me.REG[2];
-  /* syntax/icode_generation.nit:959 */
+  /* syntax/icode_generation.nit:969 */
   ATTR_syntax___icode_generation___AStringFormExpr____cstring_length(fra.me.REG[0]) = REGB0;
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___AStringExpr___string_text[] = "icode_generation::AStringExpr::(icode_generation::AStringFormExpr::string_text)";
 val_t syntax___icode_generation___AStringExpr___string_text(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -4667,7 +4861,7 @@ val_t syntax___icode_generation___AStringExpr___string_text(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 964;
+  fra.me.line = 974;
   fra.me.meth = LOCATE_syntax___icode_generation___AStringExpr___string_text;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -4675,11 +4869,11 @@ val_t syntax___icode_generation___AStringExpr___string_text(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* syntax/icode_generation.nit:964 */
-  fra.me.REG[1] = CALL_parser___parser_nodes___AStringExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  /* syntax/icode_generation.nit:974 */
+  fra.me.REG[1] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[1] = CALL_parser___parser_nodes___Token___text(fra.me.REG[1])(fra.me.REG[1]);
   REGB0 = TAG_Int(1);
-  fra.me.REG[0] = CALL_parser___parser_nodes___AStringExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[0] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_parser___parser_nodes___Token___text(fra.me.REG[0])(fra.me.REG[0]);
   /* ../lib/standard/collection/array.nit:24 */
   REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
@@ -4688,17 +4882,18 @@ val_t syntax___icode_generation___AStringExpr___string_text(val_t p0){
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
-  /* syntax/icode_generation.nit:964 */
+  /* syntax/icode_generation.nit:974 */
   REGB2 = TAG_Int(2);
-  /* ../lib/standard/kernel.nit:237 */
+  /* ../lib/standard/kernel.nit:240 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
-  /* syntax/icode_generation.nit:964 */
+  /* syntax/icode_generation.nit:974 */
   fra.me.REG[1] = CALL_standard___string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB0, REGB2);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___AStartStringExpr___string_text[] = "icode_generation::AStartStringExpr::(icode_generation::AStringFormExpr::string_text)";
 val_t syntax___icode_generation___AStartStringExpr___string_text(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -4707,7 +4902,7 @@ val_t syntax___icode_generation___AStartStringExpr___string_text(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 967;
+  fra.me.line = 977;
   fra.me.meth = LOCATE_syntax___icode_generation___AStartStringExpr___string_text;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -4715,11 +4910,11 @@ val_t syntax___icode_generation___AStartStringExpr___string_text(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* syntax/icode_generation.nit:967 */
-  fra.me.REG[1] = CALL_parser___parser_nodes___AStartStringExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  /* syntax/icode_generation.nit:977 */
+  fra.me.REG[1] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[1] = CALL_parser___parser_nodes___Token___text(fra.me.REG[1])(fra.me.REG[1]);
   REGB0 = TAG_Int(1);
-  fra.me.REG[0] = CALL_parser___parser_nodes___AStartStringExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[0] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_parser___parser_nodes___Token___text(fra.me.REG[0])(fra.me.REG[0]);
   /* ../lib/standard/collection/array.nit:24 */
   REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
@@ -4728,17 +4923,18 @@ val_t syntax___icode_generation___AStartStringExpr___string_text(val_t p0){
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
-  /* syntax/icode_generation.nit:967 */
+  /* syntax/icode_generation.nit:977 */
   REGB2 = TAG_Int(2);
-  /* ../lib/standard/kernel.nit:237 */
+  /* ../lib/standard/kernel.nit:240 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
-  /* syntax/icode_generation.nit:967 */
+  /* syntax/icode_generation.nit:977 */
   fra.me.REG[1] = CALL_standard___string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB0, REGB2);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___AMidStringExpr___string_text[] = "icode_generation::AMidStringExpr::(icode_generation::AStringFormExpr::string_text)";
 val_t syntax___icode_generation___AMidStringExpr___string_text(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -4747,7 +4943,7 @@ val_t syntax___icode_generation___AMidStringExpr___string_text(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 970;
+  fra.me.line = 980;
   fra.me.meth = LOCATE_syntax___icode_generation___AMidStringExpr___string_text;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -4755,11 +4951,11 @@ val_t syntax___icode_generation___AMidStringExpr___string_text(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* syntax/icode_generation.nit:970 */
-  fra.me.REG[1] = CALL_parser___parser_nodes___AMidStringExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  /* syntax/icode_generation.nit:980 */
+  fra.me.REG[1] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[1] = CALL_parser___parser_nodes___Token___text(fra.me.REG[1])(fra.me.REG[1]);
   REGB0 = TAG_Int(1);
-  fra.me.REG[0] = CALL_parser___parser_nodes___AMidStringExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[0] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_parser___parser_nodes___Token___text(fra.me.REG[0])(fra.me.REG[0]);
   /* ../lib/standard/collection/array.nit:24 */
   REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
@@ -4768,17 +4964,18 @@ val_t syntax___icode_generation___AMidStringExpr___string_text(val_t p0){
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
-  /* syntax/icode_generation.nit:970 */
+  /* syntax/icode_generation.nit:980 */
   REGB2 = TAG_Int(2);
-  /* ../lib/standard/kernel.nit:237 */
+  /* ../lib/standard/kernel.nit:240 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
-  /* syntax/icode_generation.nit:970 */
+  /* syntax/icode_generation.nit:980 */
   fra.me.REG[1] = CALL_standard___string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB0, REGB2);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___AEndStringExpr___string_text[] = "icode_generation::AEndStringExpr::(icode_generation::AStringFormExpr::string_text)";
 val_t syntax___icode_generation___AEndStringExpr___string_text(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -4787,7 +4984,7 @@ val_t syntax___icode_generation___AEndStringExpr___string_text(val_t p0){
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 973;
+  fra.me.line = 983;
   fra.me.meth = LOCATE_syntax___icode_generation___AEndStringExpr___string_text;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -4795,11 +4992,11 @@ val_t syntax___icode_generation___AEndStringExpr___string_text(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  /* syntax/icode_generation.nit:973 */
-  fra.me.REG[1] = CALL_parser___parser_nodes___AEndStringExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  /* syntax/icode_generation.nit:983 */
+  fra.me.REG[1] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[1] = CALL_parser___parser_nodes___Token___text(fra.me.REG[1])(fra.me.REG[1]);
   REGB0 = TAG_Int(1);
-  fra.me.REG[0] = CALL_parser___parser_nodes___AEndStringExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[0] = CALL_parser___parser_nodes___AStringFormExpr___n_string(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_parser___parser_nodes___Token___text(fra.me.REG[0])(fra.me.REG[0]);
   /* ../lib/standard/collection/array.nit:24 */
   REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
@@ -4808,17 +5005,18 @@ val_t syntax___icode_generation___AEndStringExpr___string_text(val_t p0){
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
-  /* syntax/icode_generation.nit:973 */
+  /* syntax/icode_generation.nit:983 */
   REGB2 = TAG_Int(2);
-  /* ../lib/standard/kernel.nit:237 */
+  /* ../lib/standard/kernel.nit:240 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
-  /* syntax/icode_generation.nit:973 */
+  /* syntax/icode_generation.nit:983 */
   fra.me.REG[1] = CALL_standard___string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB0, REGB2);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___ASuperstringExpr___generate_icode[] = "icode_generation::ASuperstringExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ASuperstringExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -4827,7 +5025,7 @@ val_t syntax___icode_generation___ASuperstringExpr___generate_icode(val_t p0, va
     static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 977;
+  fra.me.line = 987;
   fra.me.meth = LOCATE_syntax___icode_generation___ASuperstringExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 6;
@@ -4840,12 +5038,12 @@ val_t syntax___icode_generation___ASuperstringExpr___generate_icode(val_t p0, va
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:979 */
+  /* syntax/icode_generation.nit:989 */
   fra.me.REG[2] = CALL_syntax___syntax_base___ASuperstringExpr___atype(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_parser___parser_nodes___ASuperstringExpr___n_exprs(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
   fra.me.REG[2] = CALL_syntax___icode_generation___A2IContext___add_new_array(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], REGB0);
-  /* syntax/icode_generation.nit:980 */
+  /* syntax/icode_generation.nit:990 */
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___visitor(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[4] = CALL_syntax___icode_generation___A2IContext___visitor(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_object(fra.me.REG[4])(fra.me.REG[4]);
@@ -4858,16 +5056,16 @@ val_t syntax___icode_generation___ASuperstringExpr___generate_icode(val_t p0, va
       register_static_object(&once_value_2);
     } else fra.me.REG[5] = once_value_2;
     fra.me.REG[5] = fra.me.REG[5];
-    fra.me.REG[5] = CALL_standard___symbol___String___to_symbol(fra.me.REG[5])(fra.me.REG[5]);
+    fra.me.REG[5] = CALL_symbol___String___to_symbol(fra.me.REG[5])(fra.me.REG[5]);
     once_value_1 = fra.me.REG[5];
     register_static_object(&once_value_1);
   } else fra.me.REG[5] = once_value_1;
   fra.me.REG[5] = fra.me.REG[5];
   fra.me.REG[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_method(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
-  /* syntax/icode_generation.nit:981 */
+  /* syntax/icode_generation.nit:991 */
   fra.me.REG[4] = CALL_parser___parser_nodes___ASuperstringExpr___n_exprs(fra.me.REG[0])(fra.me.REG[0]);
   CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_syntax___icode_generation___ASuperstringExpr___generate_icode_3));
-  /* syntax/icode_generation.nit:988 */
+  /* syntax/icode_generation.nit:998 */
   REGB0 = TAG_Int(1);
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
@@ -4899,9 +5097,9 @@ val_t syntax___icode_generation___ASuperstringExpr___generate_icode(val_t p0, va
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* syntax/icode_generation.nit:982 */
+    /* syntax/icode_generation.nit:992 */
     fra.me.REG[1] = CALL_syntax___icode_generation___A2IContext___generate_expr(closctx->REG[1])(closctx->REG[1], fra.me.REG[0]);
-    /* syntax/icode_generation.nit:983 */
+    /* syntax/icode_generation.nit:993 */
     fra.me.REG[0] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[2] = CALL_syntax___syntax_base___AExpr___stype(closctx->REG[0])(closctx->REG[0]);
     REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[2]));
@@ -4912,7 +5110,7 @@ val_t syntax___icode_generation___ASuperstringExpr___generate_icode(val_t p0, va
     }
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
     if (UNTAG_Bool(REGB0)) {
-      /* syntax/icode_generation.nit:984 */
+      /* syntax/icode_generation.nit:994 */
       REGB0 = TAG_Int(1);
       fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
@@ -4921,17 +5119,18 @@ val_t syntax___icode_generation___ASuperstringExpr___generate_icode(val_t p0, va
       fra.me.REG[0] = CALL_icode___icode_builder___ICodeBuilder___expr(closctx->REG[1])(closctx->REG[1], fra.me.REG[2], fra.me.REG[0]);
       fra.me.REG[1] = fra.me.REG[0];
     }
-    /* syntax/icode_generation.nit:986 */
+    /* syntax/icode_generation.nit:996 */
     CALL_syntax___icode_generation___A2IContext___add_call_array_add(closctx->REG[1])(closctx->REG[1], closctx->REG[2], fra.me.REG[1]);
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_syntax___icode_generation___ANullExpr___generate_icode[] = "icode_generation::ANullExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ANullExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 993;
+  fra.me.line = 1003;
   fra.me.meth = LOCATE_syntax___icode_generation___ANullExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -4940,20 +5139,21 @@ val_t syntax___icode_generation___ANullExpr___generate_icode(val_t p0, val_t p1)
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:995 */
+  /* syntax/icode_generation.nit:1005 */
   fra.me.REG[1] = CALL_icode___icode_builder___ICodeBuilder___lit_null_reg(fra.me.REG[1])(fra.me.REG[1]);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_syntax___icode_generation___AArrayExpr___generate_icode[] = "icode_generation::AArrayExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AArrayExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1000;
+  fra.me.line = 1010;
   fra.me.meth = LOCATE_syntax___icode_generation___AArrayExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 3;
@@ -4963,15 +5163,15 @@ val_t syntax___icode_generation___AArrayExpr___generate_icode(val_t p0, val_t p1
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1002 */
+  /* syntax/icode_generation.nit:1012 */
   fra.me.REG[2] = CALL_parser___parser_nodes___AArrayExpr___n_exprs(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_parser___parser_nodes___AExprs___n_exprs(fra.me.REG[2])(fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1003 */
+  /* syntax/icode_generation.nit:1013 */
   fra.me.REG[0] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[0] = CALL_syntax___icode_generation___A2IContext___add_new_array(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], REGB0);
   CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_syntax___icode_generation___AArrayExpr___generate_icode_1));
-  /* syntax/icode_generation.nit:1008 */
+  /* syntax/icode_generation.nit:1018 */
   goto label2;
   label2: while(0);
   stack_frame_head = fra.me.prev;
@@ -4981,7 +5181,7 @@ val_t syntax___icode_generation___AArrayExpr___generate_icode(val_t p0, val_t p1
     struct {struct stack_frame_t me;} fra;
     fun_t CREG[1];
     val_t tmp;
-    /* syntax/icode_generation.nit:1004 */
+    /* syntax/icode_generation.nit:1014 */
     fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
     fra.me.file = LOCATE_syntax___icode_generation;
     fra.me.line = 0;
@@ -4994,13 +5194,14 @@ val_t syntax___icode_generation___AArrayExpr___generate_icode(val_t p0, val_t p1
     fra.me.closure_funs = CREG;
     fra.me.REG[0] = p0;
     CREG[0] = clos_fun0;
-    /* syntax/icode_generation.nit:1005 */
+    /* syntax/icode_generation.nit:1015 */
     fra.me.REG[0] = CALL_syntax___icode_generation___A2IContext___generate_expr(closctx->REG[1])(closctx->REG[1], fra.me.REG[0]);
-    /* syntax/icode_generation.nit:1006 */
+    /* syntax/icode_generation.nit:1016 */
     CALL_syntax___icode_generation___A2IContext___add_call_array_add(closctx->REG[1])(closctx->REG[1], closctx->REG[0], fra.me.REG[0]);
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_syntax___icode_generation___ACrangeExpr___generate_icode[] = "icode_generation::ACrangeExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ACrangeExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -5009,7 +5210,7 @@ val_t syntax___icode_generation___ACrangeExpr___generate_icode(val_t p0, val_t p
     static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1013;
+  fra.me.line = 1023;
   fra.me.meth = LOCATE_syntax___icode_generation___ACrangeExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -5023,13 +5224,13 @@ val_t syntax___icode_generation___ACrangeExpr___generate_icode(val_t p0, val_t p
   fra.me.REG[6] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1015 */
+  /* syntax/icode_generation.nit:1025 */
   fra.me.REG[2] = CALL_parser___parser_nodes___ARangeExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1016 */
+  /* syntax/icode_generation.nit:1026 */
   fra.me.REG[3] = CALL_parser___parser_nodes___ARangeExpr___n_expr2(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1017 */
+  /* syntax/icode_generation.nit:1027 */
   fra.me.REG[4] = CALL_syntax___icode_generation___A2IContext___visitor(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[5] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
   if (!once_value_1) {
@@ -5041,13 +5242,13 @@ val_t syntax___icode_generation___ACrangeExpr___generate_icode(val_t p0, val_t p
       register_static_object(&once_value_2);
     } else fra.me.REG[6] = once_value_2;
     fra.me.REG[6] = fra.me.REG[6];
-    fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+    fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
     once_value_1 = fra.me.REG[6];
     register_static_object(&once_value_1);
   } else fra.me.REG[6] = once_value_1;
   fra.me.REG[6] = fra.me.REG[6];
   fra.me.REG[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_method(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
-  /* syntax/icode_generation.nit:1018 */
+  /* syntax/icode_generation.nit:1028 */
   fra.me.REG[5] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Int(2);
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
@@ -5061,6 +5262,7 @@ val_t syntax___icode_generation___ACrangeExpr___generate_icode(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AOrangeExpr___generate_icode[] = "icode_generation::AOrangeExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AOrangeExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -5069,7 +5271,7 @@ val_t syntax___icode_generation___AOrangeExpr___generate_icode(val_t p0, val_t p
     static val_t once_value_2; /* Once value */
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1023;
+  fra.me.line = 1033;
   fra.me.meth = LOCATE_syntax___icode_generation___AOrangeExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -5083,13 +5285,13 @@ val_t syntax___icode_generation___AOrangeExpr___generate_icode(val_t p0, val_t p
   fra.me.REG[6] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1025 */
+  /* syntax/icode_generation.nit:1035 */
   fra.me.REG[2] = CALL_parser___parser_nodes___ARangeExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1026 */
+  /* syntax/icode_generation.nit:1036 */
   fra.me.REG[3] = CALL_parser___parser_nodes___ARangeExpr___n_expr2(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1027 */
+  /* syntax/icode_generation.nit:1037 */
   fra.me.REG[4] = CALL_syntax___icode_generation___A2IContext___visitor(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[5] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
   if (!once_value_1) {
@@ -5101,13 +5303,13 @@ val_t syntax___icode_generation___AOrangeExpr___generate_icode(val_t p0, val_t p
       register_static_object(&once_value_2);
     } else fra.me.REG[6] = once_value_2;
     fra.me.REG[6] = fra.me.REG[6];
-    fra.me.REG[6] = CALL_standard___symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
+    fra.me.REG[6] = CALL_symbol___String___to_symbol(fra.me.REG[6])(fra.me.REG[6]);
     once_value_1 = fra.me.REG[6];
     register_static_object(&once_value_1);
   } else fra.me.REG[6] = once_value_1;
   fra.me.REG[6] = fra.me.REG[6];
   fra.me.REG[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___get_method(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
-  /* syntax/icode_generation.nit:1028 */
+  /* syntax/icode_generation.nit:1038 */
   fra.me.REG[5] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Int(2);
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
@@ -5121,6 +5323,7 @@ val_t syntax___icode_generation___AOrangeExpr___generate_icode(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___ASuperExpr___generate_icode[] = "icode_generation::ASuperExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -5130,7 +5333,7 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1033;
+  fra.me.line = 1043;
   fra.me.meth = LOCATE_syntax___icode_generation___ASuperExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 6;
@@ -5143,21 +5346,21 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
   fra.me.REG[5] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1035 */
+  /* syntax/icode_generation.nit:1045 */
   fra.me.REG[2] = CALL_icode___icode_builder___ICodeBuilder___iroutine(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[2] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
   REGB1 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:237 */
+  /* ../lib/standard/kernel.nit:240 */
   REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
-  /* syntax/icode_generation.nit:1036 */
+  /* syntax/icode_generation.nit:1046 */
   fra.me.REG[2] = CALL_syntax___syntax_base___ASuperExpr___init_in_superclass(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      REGB2 = TAG_Bool(false);
+      REGB2 = TAG_Bool(0);
       REGB0 = REGB2;
     } else {
       REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
@@ -5166,79 +5369,79 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* syntax/icode_generation.nit:1037 */
+    /* syntax/icode_generation.nit:1047 */
     fra.me.REG[2] = CALL_syntax___syntax_base___ASuperExpr___init_in_superclass(fra.me.REG[0])(fra.me.REG[0]);
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1037);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1047);
     }
     fra.me.REG[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[2])(fra.me.REG[2]);
     REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1037);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1047);
     }
     REGB0 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[2])(fra.me.REG[2]);
     REGB1 = REGB0;
   }
-  /* syntax/icode_generation.nit:1039 */
+  /* syntax/icode_generation.nit:1049 */
   REGB0 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:235 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
-  /* syntax/icode_generation.nit:1039 */
+  /* syntax/icode_generation.nit:1049 */
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  /* syntax/icode_generation.nit:1040 */
+  /* syntax/icode_generation.nit:1050 */
   fra.me.REG[3] = CALL_icode___icode_builder___ICodeBuilder___iroutine(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[3] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = TAG_Int(0);
   fra.me.REG[3] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[3])(fra.me.REG[3], REGB0);
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1041 */
+  /* syntax/icode_generation.nit:1051 */
   fra.me.REG[3] = CALL_parser___parser_nodes___ASuperExpr___n_args(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_parser___parser_nodes___AExprs___n_exprs(fra.me.REG[3])(fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1042 */
+  /* syntax/icode_generation.nit:1052 */
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
   REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
   if (UNTAG_Bool(REGB2)) {
   } else {
-    /* ../lib/standard/kernel.nit:227 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB0 = TAG_Bool((REGB0)==(REGB1));
-    /* syntax/icode_generation.nit:1042 */
+    /* syntax/icode_generation.nit:1052 */
     REGB2 = REGB0;
   }
   REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
   if (UNTAG_Bool(REGB2)) {
-    /* syntax/icode_generation.nit:1043 */
+    /* syntax/icode_generation.nit:1053 */
     REGB2 = TAG_Int(0);
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     while(1) {
       REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
       if (UNTAG_Bool(REGB0)) {
       } 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(REGB2)<UNTAG_Int(REGB1));
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       if (UNTAG_Bool(REGB0)) {
-        /* syntax/icode_generation.nit:1043 */
+        /* syntax/icode_generation.nit:1053 */
         REGB0 = REGB2;
-        /* syntax/icode_generation.nit:1044 */
+        /* syntax/icode_generation.nit:1054 */
         fra.me.REG[4] = CALL_icode___icode_builder___ICodeBuilder___iroutine(fra.me.REG[1])(fra.me.REG[1]);
         fra.me.REG[4] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[4])(fra.me.REG[4]);
         REGB3 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
-        /* syntax/icode_generation.nit:1044 */
+        /* syntax/icode_generation.nit:1054 */
         fra.me.REG[4] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB3);
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
-        /* ../lib/standard/kernel.nit:354 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB3 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
-        /* ../lib/standard/kernel.nit:354 */
+        /* ../lib/standard/kernel.nit:357 */
         REGB2 = REGB3;
       } else {
-        /* ../lib/standard/kernel.nit:352 */
+        /* ../lib/standard/kernel.nit:355 */
         goto label1;
       }
     }
@@ -5246,15 +5449,15 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
   } else {
     CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[3])(fra.me.REG[3], (&(fra.me)), ((fun_t)OC_syntax___icode_generation___ASuperExpr___generate_icode_2));
   }
-  /* syntax/icode_generation.nit:1051 */
+  /* syntax/icode_generation.nit:1061 */
   fra.me.REG[3] = CALL_syntax___syntax_base___ASuperExpr___init_in_superclass(fra.me.REG[0])(fra.me.REG[0]);
-  /* syntax/icode_generation.nit:1052 */
+  /* syntax/icode_generation.nit:1062 */
   REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
   if (UNTAG_Bool(REGB2)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB2 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -5263,24 +5466,24 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
   }
   REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
   if (UNTAG_Bool(REGB2)) {
-    /* syntax/icode_generation.nit:1053 */
+    /* syntax/icode_generation.nit:1063 */
     REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1053);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1063);
     }
     fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[3])(fra.me.REG[3]);
     REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1053);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1063);
     }
     fra.me.REG[4] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[4])(fra.me.REG[4]);
-    /* syntax/icode_generation.nit:1054 */
+    /* syntax/icode_generation.nit:1064 */
     REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB2 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
@@ -5289,40 +5492,40 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
     }
     REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
     if (UNTAG_Bool(REGB2)) {
-      /* syntax/icode_generation.nit:1055 */
+      /* syntax/icode_generation.nit:1065 */
       fra.me.REG[5] = NEW_ICall_icode___icode_base___ICall___init(fra.me.REG[3], fra.me.REG[2]);
       fra.me.REG[4] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5], fra.me.REG[4]);
       goto label3;
     } else {
-      /* syntax/icode_generation.nit:1057 */
+      /* syntax/icode_generation.nit:1067 */
       fra.me.REG[5] = NEW_ICall_icode___icode_base___ICall___init(fra.me.REG[3], fra.me.REG[2]);
       CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
-      /* syntax/icode_generation.nit:1058 */
+      /* syntax/icode_generation.nit:1068 */
       fra.me.REG[4] = NIT_NULL;
       goto label3;
     }
   } else {
-    /* syntax/icode_generation.nit:1061 */
+    /* syntax/icode_generation.nit:1071 */
     fra.me.REG[0] = CALL_syntax___syntax_base___AAbsSendExpr___prop(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[3] = fra.me.REG[0];
-    /* syntax/icode_generation.nit:1062 */
+    /* syntax/icode_generation.nit:1072 */
     REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1062);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1072);
     }
     fra.me.REG[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[3])(fra.me.REG[3]);
     REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1062);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1072);
     }
     fra.me.REG[0] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[0])(fra.me.REG[0]);
-    /* syntax/icode_generation.nit:1063 */
+    /* syntax/icode_generation.nit:1073 */
     REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB2 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -5330,14 +5533,14 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
       }
     }
     if (UNTAG_Bool(REGB2)) {
-      /* syntax/icode_generation.nit:1064 */
+      /* syntax/icode_generation.nit:1074 */
       fra.me.REG[5] = NEW_ISuper_icode___icode_base___ISuper___init(fra.me.REG[3], fra.me.REG[2]);
       CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
-      /* syntax/icode_generation.nit:1065 */
+      /* syntax/icode_generation.nit:1075 */
       fra.me.REG[4] = NIT_NULL;
       goto label3;
     } else {
-      /* syntax/icode_generation.nit:1067 */
+      /* syntax/icode_generation.nit:1077 */
       fra.me.REG[2] = NEW_ISuper_icode___icode_base___ISuper___init(fra.me.REG[3], fra.me.REG[2]);
       fra.me.REG[0] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
       fra.me.REG[4] = fra.me.REG[0];
@@ -5352,7 +5555,7 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
       struct {struct stack_frame_t me;} fra;
       fun_t CREG[1];
       val_t tmp;
-      /* syntax/icode_generation.nit:1047 */
+      /* syntax/icode_generation.nit:1057 */
       fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
       fra.me.file = LOCATE_syntax___icode_generation;
       fra.me.line = 0;
@@ -5365,19 +5568,20 @@ val_t syntax___icode_generation___ASuperExpr___generate_icode(val_t p0, val_t p1
       fra.me.closure_funs = CREG;
       fra.me.REG[0] = p0;
       CREG[0] = clos_fun0;
-      /* syntax/icode_generation.nit:1048 */
+      /* syntax/icode_generation.nit:1058 */
       fra.me.REG[0] = CALL_syntax___icode_generation___A2IContext___generate_expr(closctx->REG[1])(closctx->REG[1], fra.me.REG[0]);
       CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
       stack_frame_head = fra.me.prev;
       return;
     }
+static const char LOCATE_syntax___icode_generation___AAttrExpr___generate_icode[] = "icode_generation::AAttrExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AAttrExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1074;
+  fra.me.line = 1084;
   fra.me.meth = LOCATE_syntax___icode_generation___AAttrExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -5388,17 +5592,17 @@ val_t syntax___icode_generation___AAttrExpr___generate_icode(val_t p0, val_t p1)
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1076 */
+  /* syntax/icode_generation.nit:1086 */
   fra.me.REG[2] = CALL_parser___parser_nodes___AAttrFormExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1077 */
+  /* syntax/icode_generation.nit:1087 */
   fra.me.REG[3] = CALL_parser___parser_nodes___AAttrFormExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[3])(fra.me.REG[3]);
   if (UNTAG_Bool(REGB0)) {
     CALL_icode___icode_builder___ICodeBuilder___add_null_reciever_check(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   }
-  /* syntax/icode_generation.nit:1078 */
+  /* syntax/icode_generation.nit:1088 */
   fra.me.REG[0] = CALL_syntax___syntax_base___AAttrFormExpr___prop(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_icode___icode_builder___ICodeBuilder___add_attr_read(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0], fra.me.REG[2]);
   goto label1;
@@ -5406,13 +5610,14 @@ val_t syntax___icode_generation___AAttrExpr___generate_icode(val_t p0, val_t p1)
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AAttrAssignExpr___generate_icode[] = "icode_generation::AAttrAssignExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AAttrAssignExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1083;
+  fra.me.line = 1093;
   fra.me.meth = LOCATE_syntax___icode_generation___AAttrAssignExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -5423,37 +5628,38 @@ val_t syntax___icode_generation___AAttrAssignExpr___generate_icode(val_t p0, val
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1085 */
+  /* syntax/icode_generation.nit:1095 */
   fra.me.REG[2] = CALL_parser___parser_nodes___AAttrFormExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1086 */
+  /* syntax/icode_generation.nit:1096 */
   fra.me.REG[3] = CALL_parser___parser_nodes___AAttrFormExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[3])(fra.me.REG[3]);
   if (UNTAG_Bool(REGB0)) {
     CALL_icode___icode_builder___ICodeBuilder___add_null_reciever_check(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   }
-  /* syntax/icode_generation.nit:1087 */
+  /* syntax/icode_generation.nit:1097 */
   fra.me.REG[3] = CALL_parser___parser_nodes___AAssignFormExpr___n_value(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1088 */
+  /* syntax/icode_generation.nit:1098 */
   fra.me.REG[0] = CALL_syntax___syntax_base___AAttrFormExpr___prop(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = NEW_IAttrWrite_icode___icode_base___IAttrWrite___init(fra.me.REG[0], fra.me.REG[2], fra.me.REG[3]);
   CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1089 */
+  /* syntax/icode_generation.nit:1099 */
   fra.me.REG[3] = NIT_NULL;
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_syntax___icode_generation___AAttrReassignExpr___generate_icode[] = "icode_generation::AAttrReassignExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AAttrReassignExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1093;
+  fra.me.line = 1103;
   fra.me.meth = LOCATE_syntax___icode_generation___AAttrReassignExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -5467,25 +5673,25 @@ val_t syntax___icode_generation___AAttrReassignExpr___generate_icode(val_t p0, v
   fra.me.REG[6] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1095 */
+  /* syntax/icode_generation.nit:1105 */
   fra.me.REG[2] = CALL_parser___parser_nodes___AAttrFormExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1096 */
+  /* syntax/icode_generation.nit:1106 */
   fra.me.REG[3] = CALL_parser___parser_nodes___AAttrFormExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[3])(fra.me.REG[3]);
   if (UNTAG_Bool(REGB0)) {
     CALL_icode___icode_builder___ICodeBuilder___add_null_reciever_check(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   }
-  /* syntax/icode_generation.nit:1097 */
+  /* syntax/icode_generation.nit:1107 */
   fra.me.REG[3] = CALL_syntax___syntax_base___AAttrFormExpr___prop(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = NEW_IAttrRead_icode___icode_base___IAttrRead___init(fra.me.REG[3], fra.me.REG[2]);
   fra.me.REG[4] = CALL_syntax___syntax_base___AAttrFormExpr___attr_type(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[4] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1098 */
+  /* syntax/icode_generation.nit:1108 */
   fra.me.REG[3] = CALL_parser___parser_nodes___AReassignFormExpr___n_value(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1099 */
+  /* syntax/icode_generation.nit:1109 */
   fra.me.REG[5] = CALL_syntax___syntax_base___AReassignFormExpr___assign_method(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Int(2);
   fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
@@ -5494,24 +5700,25 @@ val_t syntax___icode_generation___AAttrReassignExpr___generate_icode(val_t p0, v
   fra.me.REG[6] = NEW_ICall_icode___icode_base___ICall___init(fra.me.REG[5], fra.me.REG[6]);
   fra.me.REG[5] = CALL_syntax___syntax_base___AAttrFormExpr___attr_type(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[5] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6], fra.me.REG[5]);
-  /* syntax/icode_generation.nit:1100 */
+  /* syntax/icode_generation.nit:1110 */
   fra.me.REG[0] = CALL_syntax___syntax_base___AAttrFormExpr___prop(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[5] = NEW_IAttrWrite_icode___icode_base___IAttrWrite___init(fra.me.REG[0], fra.me.REG[2], fra.me.REG[5]);
   CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
-  /* syntax/icode_generation.nit:1101 */
+  /* syntax/icode_generation.nit:1111 */
   fra.me.REG[5] = NIT_NULL;
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[5];
 }
+static const char LOCATE_syntax___icode_generation___AIssetAttrExpr___generate_icode[] = "icode_generation::AIssetAttrExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AIssetAttrExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1106;
+  fra.me.line = 1116;
   fra.me.meth = LOCATE_syntax___icode_generation___AIssetAttrExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 4;
@@ -5522,17 +5729,17 @@ val_t syntax___icode_generation___AIssetAttrExpr___generate_icode(val_t p0, val_
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1108 */
+  /* syntax/icode_generation.nit:1118 */
   fra.me.REG[2] = CALL_parser___parser_nodes___AAttrFormExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1109 */
+  /* syntax/icode_generation.nit:1119 */
   fra.me.REG[3] = CALL_parser___parser_nodes___AAttrFormExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[3])(fra.me.REG[3]);
   if (UNTAG_Bool(REGB0)) {
     CALL_icode___icode_builder___ICodeBuilder___add_null_reciever_check(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
   }
-  /* syntax/icode_generation.nit:1110 */
+  /* syntax/icode_generation.nit:1120 */
   fra.me.REG[3] = CALL_syntax___syntax_base___AAttrFormExpr___prop(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[2] = NEW_IAttrIsset_icode___icode_base___IAttrIsset___init(fra.me.REG[3], fra.me.REG[2]);
   fra.me.REG[0] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
@@ -5542,6 +5749,7 @@ val_t syntax___icode_generation___AIssetAttrExpr___generate_icode(val_t p0, val_
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_in[] = "icode_generation::AAbsAbsSendExpr::generate_icode_for_arguments_in";
 void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_in(val_t p0, val_t p1, val_t p2, val_t p3){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -5558,7 +5766,7 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1115;
+  fra.me.line = 1125;
   fra.me.meth = LOCATE_syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_in;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -5574,11 +5782,11 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
   fra.me.REG[1] = p1;
   fra.me.REG[2] = p2;
   fra.me.REG[3] = p3;
-  /* syntax/icode_generation.nit:1118 */
+  /* syntax/icode_generation.nit:1128 */
   REGB0 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[3])(fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1119 */
+  /* syntax/icode_generation.nit:1129 */
   REGB1 = CALL_metamodel___vararg___MMSignature___vararg_rank(fra.me.REG[3])(fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1120 */
+  /* syntax/icode_generation.nit:1130 */
   fra.me.REG[0] = CALL_syntax___syntax_base___AAbsAbsSendExpr___raw_arguments(fra.me.REG[0])(fra.me.REG[0]);
   /* ../lib/standard/collection/array.nit:24 */
   REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
@@ -5587,58 +5795,58 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
-  /* syntax/icode_generation.nit:1122 */
+  /* syntax/icode_generation.nit:1132 */
   REGB3 = TAG_Int(0);
-  /* syntax/icode_generation.nit:1123 */
+  /* syntax/icode_generation.nit:1133 */
   REGB4 = TAG_Int(0);
-  /* ../lib/standard/kernel.nit:347 */
+  /* ../lib/standard/kernel.nit:350 */
   REGB5 = REGB0;
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     REGB6 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4), VTID_standard___kernel___Comparable___OTHER(REGB4))) /*cast OTHER*/;
     if (UNTAG_Bool(REGB6)) {
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB6 = TAG_Bool(UNTAG_Int(REGB4)<UNTAG_Int(REGB5));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB6)) {
-      /* syntax/icode_generation.nit:1123 */
+      /* syntax/icode_generation.nit:1133 */
       REGB6 = REGB4;
-      /* syntax/icode_generation.nit:1125 */
+      /* syntax/icode_generation.nit:1135 */
       fra.me.REG[4] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[3])(fra.me.REG[3], REGB6);
-      /* syntax/icode_generation.nit:1126 */
+      /* syntax/icode_generation.nit:1136 */
       REGB7 = TAG_Bool(IS_EQUAL_OO(REGB6,REGB1));
       if (UNTAG_Bool(REGB7)) {
       } else {
-        /* ../lib/standard/kernel.nit:227 */
+        /* ../lib/standard/kernel.nit:230 */
         REGB6 = TAG_Bool((REGB6)==(REGB1));
-        /* syntax/icode_generation.nit:1126 */
+        /* syntax/icode_generation.nit:1136 */
         REGB7 = REGB6;
       }
       if (UNTAG_Bool(REGB7)) {
-        /* syntax/icode_generation.nit:1127 */
+        /* syntax/icode_generation.nit:1137 */
         fra.me.REG[5] = CALL_syntax___icode_generation___A2IContext___visitor(fra.me.REG[1])(fra.me.REG[1]);
         fra.me.REG[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
-        /* ../lib/standard/kernel.nit:237 */
+        /* ../lib/standard/kernel.nit:240 */
         REGB7 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB0));
-        /* syntax/icode_generation.nit:1127 */
+        /* syntax/icode_generation.nit:1137 */
         fra.me.REG[4] = CALL_syntax___icode_generation___A2IContext___add_new_array(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], REGB7);
-        /* syntax/icode_generation.nit:1128 */
+        /* syntax/icode_generation.nit:1138 */
         REGB7 = TAG_Int(0);
-        /* ../lib/standard/kernel.nit:237 */
+        /* ../lib/standard/kernel.nit:240 */
         REGB6 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB0));
-        /* ../lib/standard/kernel.nit:341 */
+        /* ../lib/standard/kernel.nit:344 */
         while(1) {
           REGB8 = TAG_Bool(VAL_ISA(REGB6, VTCOLOR_standard___kernel___Comparable___OTHER(REGB7), VTID_standard___kernel___Comparable___OTHER(REGB7))) /*cast OTHER*/;
           if (UNTAG_Bool(REGB8)) {
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:231 */
+          /* ../lib/standard/kernel.nit:234 */
           REGB8 = TAG_Bool(UNTAG_Int(REGB7)<=UNTAG_Int(REGB6));
-          /* ../lib/standard/kernel.nit:341 */
+          /* ../lib/standard/kernel.nit:344 */
           if (UNTAG_Bool(REGB8)) {
             /* ../lib/standard/collection/array.nit:278 */
             fra.me.REG[5] = fra.me.REG[0];
@@ -5650,7 +5858,7 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:233 */
+            /* ../lib/standard/kernel.nit:236 */
             REGB9 = TAG_Bool(UNTAG_Int(REGB8)>=UNTAG_Int(REGB9));
             /* ../lib/standard/collection/array.nit:280 */
             if (UNTAG_Bool(REGB9)) {
@@ -5665,11 +5873,11 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
               } else {
                nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
               }
-              /* ../lib/standard/kernel.nit:232 */
+              /* ../lib/standard/kernel.nit:235 */
               REGB9 = TAG_Bool(UNTAG_Int(REGB8)<UNTAG_Int(REGB9));
             } else {
               /* ../lib/standard/collection/array.nit:280 */
-              REGB10 = TAG_Bool(false);
+              REGB10 = TAG_Bool(0);
               REGB9 = REGB10;
             }
             if (UNTAG_Bool(REGB9)) {
@@ -5682,33 +5890,33 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
             if (UNTAG_Bool(REGB9)) {
               nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
             }
-            /* ../lib/standard/collection/array.nit:718 */
+            /* ../lib/standard/collection/array.nit:724 */
             fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB8)];
             /* ../lib/standard/collection/array.nit:281 */
             goto label1;
             label1: while(0);
-            /* syntax/icode_generation.nit:1130 */
+            /* syntax/icode_generation.nit:1140 */
             fra.me.REG[6] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
             CALL_syntax___icode_generation___A2IContext___add_call_array_add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[6]);
-            /* syntax/icode_generation.nit:1131 */
+            /* syntax/icode_generation.nit:1141 */
             REGB8 = TAG_Int(1);
-            /* ../lib/standard/kernel.nit:235 */
+            /* ../lib/standard/kernel.nit:238 */
             REGB8 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB8));
-            /* syntax/icode_generation.nit:1131 */
+            /* syntax/icode_generation.nit:1141 */
             REGB3 = REGB8;
-            /* ../lib/standard/kernel.nit:343 */
+            /* ../lib/standard/kernel.nit:346 */
             REGB8 = TAG_Int(1);
-            /* ../lib/standard/kernel.nit:235 */
+            /* ../lib/standard/kernel.nit:238 */
             REGB8 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB8));
-            /* ../lib/standard/kernel.nit:343 */
+            /* ../lib/standard/kernel.nit:346 */
             REGB7 = REGB8;
           } else {
-            /* ../lib/standard/kernel.nit:341 */
+            /* ../lib/standard/kernel.nit:344 */
             goto label2;
           }
         }
         label2: while(0);
-        /* syntax/icode_generation.nit:1133 */
+        /* syntax/icode_generation.nit:1143 */
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
       } else {
         /* ../lib/standard/collection/array.nit:278 */
@@ -5721,7 +5929,7 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:233 */
+        /* ../lib/standard/kernel.nit:236 */
         REGB6 = TAG_Bool(UNTAG_Int(REGB7)>=UNTAG_Int(REGB6));
         /* ../lib/standard/collection/array.nit:280 */
         if (UNTAG_Bool(REGB6)) {
@@ -5736,11 +5944,11 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
           } else {
             nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
           }
-          /* ../lib/standard/kernel.nit:232 */
+          /* ../lib/standard/kernel.nit:235 */
           REGB6 = TAG_Bool(UNTAG_Int(REGB7)<UNTAG_Int(REGB6));
         } else {
           /* ../lib/standard/collection/array.nit:280 */
-          REGB8 = TAG_Bool(false);
+          REGB8 = TAG_Bool(0);
           REGB6 = REGB8;
         }
         if (UNTAG_Bool(REGB6)) {
@@ -5753,31 +5961,31 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
         if (UNTAG_Bool(REGB6)) {
           nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
         }
-        /* ../lib/standard/collection/array.nit:718 */
+        /* ../lib/standard/collection/array.nit:724 */
         fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB7)];
         /* ../lib/standard/collection/array.nit:281 */
         goto label3;
         label3: while(0);
-        /* syntax/icode_generation.nit:1135 */
+        /* syntax/icode_generation.nit:1145 */
         fra.me.REG[5] = fra.me.REG[4];
-        /* syntax/icode_generation.nit:1136 */
+        /* syntax/icode_generation.nit:1146 */
         fra.me.REG[5] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
-        /* syntax/icode_generation.nit:1137 */
+        /* syntax/icode_generation.nit:1147 */
         REGB7 = TAG_Int(1);
-        /* ../lib/standard/kernel.nit:235 */
+        /* ../lib/standard/kernel.nit:238 */
         REGB7 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB7));
-        /* syntax/icode_generation.nit:1137 */
+        /* syntax/icode_generation.nit:1147 */
         REGB3 = REGB7;
       }
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB7 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB7 = TAG_Int(UNTAG_Int(REGB4)+UNTAG_Int(REGB7));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB4 = REGB7;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label4;
     }
   }
@@ -5785,6 +5993,7 @@ void syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_syntax___icode_generation___ASendExpr___generate_icode[] = "icode_generation::ASendExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
   val_t REGB0;
@@ -5795,7 +6004,7 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1144;
+  fra.me.line = 1154;
   fra.me.meth = LOCATE_syntax___icode_generation___ASendExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 16;
@@ -5818,47 +6027,47 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
   fra.me.REG[15] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1144 */
+  /* syntax/icode_generation.nit:1154 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* syntax/icode_generation.nit:1146 */
+  /* syntax/icode_generation.nit:1156 */
   fra.me.REG[3] = CALL_parser___parser_nodes___ASendExpr___n_expr(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1147 */
+  /* syntax/icode_generation.nit:1157 */
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
-  /* syntax/icode_generation.nit:1148 */
+  /* syntax/icode_generation.nit:1158 */
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1149 */
+  /* syntax/icode_generation.nit:1159 */
   fra.me.REG[3] = CALL_syntax___syntax_base___AAbsSendExpr___prop(fra.me.REG[2])(fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1150 */
+  /* syntax/icode_generation.nit:1160 */
   fra.me.REG[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_metamodel___static_type___MMSignature, ID_metamodel___static_type___MMSignature)) /*cast MMSignature*/;
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1150);
+    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1160);
   }
   CALL_syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_in(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1], fra.me.REG[4], fra.me.REG[5]);
-  /* syntax/icode_generation.nit:1151 */
+  /* syntax/icode_generation.nit:1161 */
   fra.me.REG[5] = NIT_NULL;
-  /* syntax/icode_generation.nit:1155 */
+  /* syntax/icode_generation.nit:1165 */
   fra.me.REG[0] = CALL_icode___icode_builder___ICodeBuilder___seq(fra.me.REG[1])(fra.me.REG[1]);
-  /* syntax/icode_generation.nit:1156 */
+  /* syntax/icode_generation.nit:1166 */
   fra.me.REG[6] = NIT_NULL;
-  /* syntax/icode_generation.nit:1157 */
+  /* syntax/icode_generation.nit:1167 */
   fra.me.REG[7] = CALL_syntax___syntax_base___AAbsAbsSendExpr___prop_signature(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[7] = CALL_metamodel___static_type___MMSignature___closures(fra.me.REG[7])(fra.me.REG[7]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[7])(fra.me.REG[7]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* syntax/icode_generation.nit:1158 */
+    /* syntax/icode_generation.nit:1168 */
     fra.me.REG[7] = CALL_syntax___syntax_base___AAbsAbsSendExpr___prop_signature(fra.me.REG[2])(fra.me.REG[2]);
     fra.me.REG[7] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[7])(fra.me.REG[7]);
-    /* syntax/icode_generation.nit:1159 */
+    /* syntax/icode_generation.nit:1169 */
     REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[7]==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[7])(fra.me.REG[7], NIT_NULL);
@@ -5867,29 +6076,29 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
     }
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
     if (UNTAG_Bool(REGB0)) {
-      /* syntax/icode_generation.nit:1160 */
+      /* syntax/icode_generation.nit:1170 */
       fra.me.REG[7] = CALL_icode___icode_builder___ICodeBuilder___new_register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]);
       fra.me.REG[5] = fra.me.REG[7];
     }
-    /* syntax/icode_generation.nit:1162 */
+    /* syntax/icode_generation.nit:1172 */
     fra.me.REG[7] = NEW_ISeq_icode___icode_base___ISeq___init();
-    /* syntax/icode_generation.nit:1163 */
+    /* syntax/icode_generation.nit:1173 */
     CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]);
-    /* syntax/icode_generation.nit:1164 */
+    /* syntax/icode_generation.nit:1174 */
     CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]);
-    /* syntax/icode_generation.nit:1165 */
+    /* syntax/icode_generation.nit:1175 */
     fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
     fra.me.REG[6] = fra.me.REG[8];
-    /* syntax/icode_generation.nit:1166 */
+    /* syntax/icode_generation.nit:1176 */
     REGB0 = TAG_Int(0);
-    /* syntax/icode_generation.nit:1167 */
+    /* syntax/icode_generation.nit:1177 */
     fra.me.REG[8] = CALL_syntax___syntax_base___ASendExpr___closure_defs(fra.me.REG[2])(fra.me.REG[2]);
     REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[8]==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[8])(fra.me.REG[8], NIT_NULL);
@@ -5901,7 +6110,7 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
       fra.me.REG[8] = CALL_syntax___syntax_base___ASendExpr___closure_defs(fra.me.REG[2])(fra.me.REG[2]);
       REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
       if (UNTAG_Bool(REGB0)) {
-        nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1167);
+        nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1177);
       }
       /* ../lib/standard/collection/array.nit:24 */
       REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
@@ -5911,9 +6120,9 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
       }
       REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
     }
-    /* syntax/icode_generation.nit:1168 */
+    /* syntax/icode_generation.nit:1178 */
     fra.me.REG[8] = CALL_syntax___syntax_base___ASendExpr___closure_defs(fra.me.REG[2])(fra.me.REG[2]);
-    /* syntax/icode_generation.nit:1169 */
+    /* syntax/icode_generation.nit:1179 */
     fra.me.REG[9] = CALL_syntax___syntax_base___AAbsAbsSendExpr___prop_signature(fra.me.REG[2])(fra.me.REG[2]);
     fra.me.REG[9] = CALL_metamodel___static_type___MMSignature___closures(fra.me.REG[9])(fra.me.REG[9]);
     /* ../lib/standard/collection/array.nit:269 */
@@ -5941,7 +6150,7 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
       } 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)) {
@@ -5950,19 +6159,19 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
         if (UNTAG_Bool(REGB1)) {
           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[11] = ((Nit_NativeArray)fra.me.REG[10])->val[UNTAG_Int(REGB0)];
-        /* syntax/icode_generation.nit:1170 */
-        REGB1 = TAG_Bool(false);
-        /* syntax/icode_generation.nit:1171 */
+        /* syntax/icode_generation.nit:1180 */
+        REGB1 = TAG_Bool(0);
+        /* syntax/icode_generation.nit:1181 */
         fra.me.REG[11] = CALL_metamodel___static_type___MMClosure___name(fra.me.REG[11])(fra.me.REG[11]);
-        /* syntax/icode_generation.nit:1172 */
+        /* syntax/icode_generation.nit:1182 */
         REGB2 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
         if (UNTAG_Bool(REGB2)) {
         } else {
           REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
           if (UNTAG_Bool(REGB3)) {
-            REGB3 = TAG_Bool(false);
+            REGB3 = TAG_Bool(0);
             REGB2 = REGB3;
           } else {
             REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
@@ -5971,10 +6180,10 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
         }
         REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
         if (UNTAG_Bool(REGB2)) {
-          /* syntax/icode_generation.nit:1173 */
+          /* syntax/icode_generation.nit:1183 */
           REGB2 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
           if (UNTAG_Bool(REGB2)) {
-            nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1173);
+            nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1183);
           }
           /* ../lib/standard/collection/array.nit:266 */
           fra.me.REG[12] = fra.me.REG[8];
@@ -6003,7 +6212,7 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
             } else {
               nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
             }
-            /* ../lib/standard/kernel.nit:232 */
+            /* ../lib/standard/kernel.nit:235 */
             REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
             /* ../lib/standard/collection/array.nit:272 */
             if (UNTAG_Bool(REGB3)) {
@@ -6012,9 +6221,9 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
               if (UNTAG_Bool(REGB3)) {
                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[14] = ((Nit_NativeArray)fra.me.REG[13])->val[UNTAG_Int(REGB2)];
-              /* syntax/icode_generation.nit:1174 */
+              /* syntax/icode_generation.nit:1184 */
               fra.me.REG[15] = CALL_parser___parser_nodes___AClosureDef___n_id(fra.me.REG[14])(fra.me.REG[14]);
               fra.me.REG[15] = CALL_syntax___typing___AClosureId___to_symbol(fra.me.REG[15])(fra.me.REG[15]);
               REGB3 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[15],fra.me.REG[11]));
@@ -6027,49 +6236,49 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
               if (UNTAG_Bool(REGB3)) {
                goto label1;
               }
-              /* syntax/icode_generation.nit:1175 */
-              REGB3 = TAG_Bool(false);
+              /* syntax/icode_generation.nit:1185 */
+              REGB3 = TAG_Bool(0);
               REGB4 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB3));
               if (UNTAG_Bool(REGB4)) {
               } else {
-               /* ../lib/standard/kernel.nit:195 */
+               /* ../lib/standard/kernel.nit:198 */
                REGB3 = TAG_Bool((REGB1)==(REGB3));
-               /* syntax/icode_generation.nit:1175 */
+               /* syntax/icode_generation.nit:1185 */
                REGB4 = REGB3;
               }
               if (UNTAG_Bool(REGB4)) {
               } else {
-               nit_abort("Assert failed", NULL, LOCATE_syntax___icode_generation, 1175);
+               nit_abort("Assert failed", NULL, LOCATE_syntax___icode_generation, 1185);
               }
-              /* syntax/icode_generation.nit:1176 */
-              REGB4 = TAG_Bool(true);
+              /* syntax/icode_generation.nit:1186 */
+              REGB4 = TAG_Bool(1);
               REGB1 = REGB4;
-              /* syntax/icode_generation.nit:1177 */
+              /* syntax/icode_generation.nit:1187 */
               fra.me.REG[15] = CALL_syntax___typing___AClosureDef___escapable(fra.me.REG[14])(fra.me.REG[14]);
               REGB4 = TAG_Bool(fra.me.REG[15]==NIT_NULL);
               if (UNTAG_Bool(REGB4)) {
-               nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1177);
+               nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1187);
               }
               CALL_syntax___icode_generation___EscapableBlock___break_seq__eq(fra.me.REG[15])(fra.me.REG[15], fra.me.REG[7]);
-              /* syntax/icode_generation.nit:1178 */
+              /* syntax/icode_generation.nit:1188 */
               fra.me.REG[15] = CALL_syntax___typing___AClosureDef___escapable(fra.me.REG[14])(fra.me.REG[14]);
               REGB4 = TAG_Bool(fra.me.REG[15]==NIT_NULL);
               if (UNTAG_Bool(REGB4)) {
-               nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1178);
+               nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1188);
               }
               CALL_syntax___icode_generation___EscapableBlock___break_value__eq(fra.me.REG[15])(fra.me.REG[15], fra.me.REG[5]);
-              /* syntax/icode_generation.nit:1179 */
+              /* syntax/icode_generation.nit:1189 */
               fra.me.REG[14] = CALL_syntax___icode_generation___AClosureDef___generate_iclosuredef(fra.me.REG[14])(fra.me.REG[14], fra.me.REG[1]);
-              /* syntax/icode_generation.nit:1180 */
+              /* syntax/icode_generation.nit:1190 */
               REGB4 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
               if (UNTAG_Bool(REGB4)) {
-               nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1180);
+               nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1190);
               }
               CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[14]);
               label1: while(0);
               /* ../lib/standard/collection/array.nit:274 */
               REGB4 = TAG_Int(1);
-              /* ../lib/standard/kernel.nit:235 */
+              /* ../lib/standard/kernel.nit:238 */
               REGB4 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
               /* ../lib/standard/collection/array.nit:274 */
               REGB2 = REGB4;
@@ -6080,19 +6289,19 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
           }
           label2: while(0);
         }
-        /* syntax/icode_generation.nit:1183 */
+        /* syntax/icode_generation.nit:1193 */
         REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
         if (UNTAG_Bool(REGB1)) {
-          /* syntax/icode_generation.nit:1184 */
+          /* syntax/icode_generation.nit:1194 */
           REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
           if (UNTAG_Bool(REGB1)) {
-            nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1184);
+            nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1194);
           }
           CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
         }
         /* ../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;
@@ -6103,21 +6312,21 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
     }
     label3: while(0);
   }
-  /* syntax/icode_generation.nit:1189 */
+  /* syntax/icode_generation.nit:1199 */
   fra.me.REG[6] = CALL_icode___icode_builder___ICodeBuilder___add_call(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[4], fra.me.REG[6]);
-  /* syntax/icode_generation.nit:1192 */
+  /* syntax/icode_generation.nit:1202 */
   fra.me.REG[2] = CALL_syntax___syntax_base___AAbsAbsSendExpr___prop_signature(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[2] = CALL_metamodel___static_type___MMSignature___closures(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* syntax/icode_generation.nit:1193 */
+    /* syntax/icode_generation.nit:1203 */
     REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } 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);
@@ -6131,7 +6340,7 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
       } else {
         REGB1 = TAG_Bool(fra.me.REG[6]==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[6])(fra.me.REG[6], NIT_NULL);
@@ -6140,38 +6349,39 @@ val_t syntax___icode_generation___ASendExpr___generate_icode(val_t p0, val_t p1)
       }
       REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
     } else {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     }
     if (UNTAG_Bool(REGB0)) {
       CALL_icode___icode_builder___ICodeBuilder___add_assignment(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5], fra.me.REG[6]);
     }
-    /* syntax/icode_generation.nit:1194 */
+    /* syntax/icode_generation.nit:1204 */
     CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   } else {
-    /* syntax/icode_generation.nit:1196 */
+    /* syntax/icode_generation.nit:1206 */
     fra.me.REG[5] = fra.me.REG[6];
   }
-  /* syntax/icode_generation.nit:1199 */
+  /* syntax/icode_generation.nit:1209 */
   fra.me.REG[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[6])(fra.me.REG[6]);
   if (UNTAG_Bool(REGB0)) {
-    /* syntax/icode_generation.nit:1200 */
+    /* syntax/icode_generation.nit:1210 */
     CALL_syntax___icode_generation___A2IContext___invoke_super_init_calls_after(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   }
-  /* syntax/icode_generation.nit:1202 */
+  /* syntax/icode_generation.nit:1212 */
   goto label4;
   label4: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[5];
 }
+static const char LOCATE_syntax___icode_generation___ASendReassignExpr___generate_icode[] = "icode_generation::ASendReassignExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ASendReassignExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1207;
+  fra.me.line = 1217;
   fra.me.meth = LOCATE_syntax___icode_generation___ASendReassignExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 8;
@@ -6186,51 +6396,51 @@ val_t syntax___icode_generation___ASendReassignExpr___generate_icode(val_t p0, v
   fra.me.REG[7] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1207 */
+  /* syntax/icode_generation.nit:1217 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* syntax/icode_generation.nit:1209 */
+  /* syntax/icode_generation.nit:1219 */
   fra.me.REG[3] = CALL_parser___parser_nodes___ASendExpr___n_expr(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1210 */
+  /* syntax/icode_generation.nit:1220 */
   fra.me.REG[4] = CALL_parser___parser_nodes___ASendExpr___n_expr(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[4] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[4])(fra.me.REG[4]);
   REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[4])(fra.me.REG[4]);
   if (UNTAG_Bool(REGB0)) {
     CALL_icode___icode_builder___ICodeBuilder___add_null_reciever_check(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   }
-  /* syntax/icode_generation.nit:1211 */
+  /* syntax/icode_generation.nit:1221 */
   fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
-  /* syntax/icode_generation.nit:1212 */
+  /* syntax/icode_generation.nit:1222 */
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1213 */
+  /* syntax/icode_generation.nit:1223 */
   fra.me.REG[3] = CALL_syntax___syntax_base___ASendReassignExpr___read_prop(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[3])(fra.me.REG[3]);
   REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_metamodel___static_type___MMSignature, ID_metamodel___static_type___MMSignature)) /*cast MMSignature*/;
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1213);
+    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1223);
   }
   CALL_syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_in(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1], fra.me.REG[4], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1215 */
+  /* syntax/icode_generation.nit:1225 */
   fra.me.REG[3] = CALL_syntax___syntax_base___ASendReassignExpr___read_prop(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[3] = NEW_ICall_icode___icode_base___ICall___init(fra.me.REG[3], fra.me.REG[4]);
   fra.me.REG[5] = CALL_syntax___syntax_base___ASendReassignExpr___read_prop(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[5])(fra.me.REG[5]);
   REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
-    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1215);
+    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1225);
   }
   fra.me.REG[5] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[5])(fra.me.REG[5]);
   REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_metamodel___static_type___MMType, ID_metamodel___static_type___MMType)) /*cast MMType*/;
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1215);
+    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1225);
   }
   fra.me.REG[5] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[5]);
-  /* syntax/icode_generation.nit:1216 */
+  /* syntax/icode_generation.nit:1226 */
   fra.me.REG[3] = CALL_parser___parser_nodes___AReassignFormExpr___n_value(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1217 */
+  /* syntax/icode_generation.nit:1227 */
   fra.me.REG[6] = CALL_syntax___syntax_base___AReassignFormExpr___assign_method(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = TAG_Int(2);
   fra.me.REG[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
@@ -6241,37 +6451,38 @@ val_t syntax___icode_generation___ASendReassignExpr___generate_icode(val_t p0, v
   fra.me.REG[6] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[6])(fra.me.REG[6]);
   REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
-    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1217);
+    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1227);
   }
   fra.me.REG[6] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[6])(fra.me.REG[6]);
   REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_metamodel___static_type___MMType, ID_metamodel___static_type___MMType)) /*cast MMType*/;
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1217);
+    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1227);
   }
   fra.me.REG[6] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7], fra.me.REG[6]);
-  /* syntax/icode_generation.nit:1218 */
+  /* syntax/icode_generation.nit:1228 */
   fra.me.REG[4] = CALL_standard___collection___array___Collection___to_a(fra.me.REG[4])(fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1219 */
+  /* syntax/icode_generation.nit:1229 */
   CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
-  /* syntax/icode_generation.nit:1220 */
+  /* syntax/icode_generation.nit:1230 */
   fra.me.REG[2] = CALL_syntax___syntax_base___AAbsSendExpr___prop(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[4] = NEW_ICall_icode___icode_base___ICall___init(fra.me.REG[2], fra.me.REG[4]);
   CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1221 */
+  /* syntax/icode_generation.nit:1231 */
   fra.me.REG[4] = NIT_NULL;
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[4];
 }
+static const char LOCATE_syntax___icode_generation___ANewExpr___generate_icode[] = "icode_generation::ANewExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ANewExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1226;
+  fra.me.line = 1236;
   fra.me.meth = LOCATE_syntax___icode_generation___ANewExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -6283,20 +6494,20 @@ val_t syntax___icode_generation___ANewExpr___generate_icode(val_t p0, val_t p1){
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1226 */
+  /* syntax/icode_generation.nit:1236 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* syntax/icode_generation.nit:1228 */
+  /* syntax/icode_generation.nit:1238 */
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
-  /* syntax/icode_generation.nit:1229 */
+  /* syntax/icode_generation.nit:1239 */
   fra.me.REG[4] = CALL_syntax___syntax_base___AAbsSendExpr___prop(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[4])(fra.me.REG[4]);
   REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_metamodel___static_type___MMSignature, ID_metamodel___static_type___MMSignature)) /*cast MMSignature*/;
   if (UNTAG_Bool(REGB0)) {
   } else {
-    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1229);
+    nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1239);
   }
   CALL_syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_in(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1], fra.me.REG[3], fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1230 */
+  /* syntax/icode_generation.nit:1240 */
   fra.me.REG[4] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[0] = CALL_syntax___syntax_base___AAbsSendExpr___prop(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[3] = NEW_INew_icode___icode_base___INew___init(fra.me.REG[4], fra.me.REG[0], fra.me.REG[3]);
@@ -6307,12 +6518,13 @@ val_t syntax___icode_generation___ANewExpr___generate_icode(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_syntax___icode_generation___AProxyExpr___generate_icode[] = "icode_generation::AProxyExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AProxyExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1235;
+  fra.me.line = 1245;
   fra.me.meth = LOCATE_syntax___icode_generation___AProxyExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -6321,7 +6533,7 @@ val_t syntax___icode_generation___AProxyExpr___generate_icode(val_t p0, val_t p1
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1237 */
+  /* syntax/icode_generation.nit:1247 */
   fra.me.REG[0] = CALL_parser___parser_nodes___AProxyExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
   goto label1;
@@ -6329,12 +6541,13 @@ val_t syntax___icode_generation___AProxyExpr___generate_icode(val_t p0, val_t p1
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_syntax___icode_generation___AOnceExpr___generate_icode[] = "icode_generation::AOnceExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AOnceExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1242;
+  fra.me.line = 1252;
   fra.me.meth = LOCATE_syntax___icode_generation___AOnceExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 5;
@@ -6346,29 +6559,30 @@ val_t syntax___icode_generation___AOnceExpr___generate_icode(val_t p0, val_t p1)
   fra.me.REG[4] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1244 */
+  /* syntax/icode_generation.nit:1254 */
   fra.me.REG[2] = NEW_IOnce_icode___icode_base___IOnce___init();
-  /* syntax/icode_generation.nit:1245 */
+  /* syntax/icode_generation.nit:1255 */
   fra.me.REG[3] = CALL_syntax___syntax_base___AExpr___stype(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1246 */
+  /* syntax/icode_generation.nit:1256 */
   fra.me.REG[4] = CALL_icode___icode_builder___ICodeBuilder___seq(fra.me.REG[1])(fra.me.REG[1]);
-  /* syntax/icode_generation.nit:1247 */
+  /* syntax/icode_generation.nit:1257 */
   fra.me.REG[2] = CALL_icode___icode_base___IOnce___body(fra.me.REG[2])(fra.me.REG[2]);
   CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1249 */
+  /* syntax/icode_generation.nit:1259 */
   fra.me.REG[0] = CALL_parser___parser_nodes___AProxyExpr___n_expr(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_syntax___icode_generation___A2IContext___generate_expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* syntax/icode_generation.nit:1250 */
+  /* syntax/icode_generation.nit:1260 */
   CALL_icode___icode_builder___ICodeBuilder___add_assignment(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[0]);
-  /* syntax/icode_generation.nit:1252 */
+  /* syntax/icode_generation.nit:1262 */
   CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1253 */
+  /* syntax/icode_generation.nit:1263 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_syntax___icode_generation___AClosureDef___generate_iclosuredef[] = "icode_generation::AClosureDef::generate_iclosuredef";
 val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -6380,7 +6594,7 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1261;
+  fra.me.line = 1271;
   fra.me.meth = LOCATE_syntax___icode_generation___AClosureDef___generate_iclosuredef;
   fra.me.has_broke = 0;
   fra.me.REG_size = 7;
@@ -6394,56 +6608,56 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
   fra.me.REG[6] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1261 */
+  /* syntax/icode_generation.nit:1271 */
   fra.me.REG[2] = fra.me.REG[0];
-  /* syntax/icode_generation.nit:1264 */
+  /* syntax/icode_generation.nit:1274 */
   fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
-  /* syntax/icode_generation.nit:1265 */
+  /* syntax/icode_generation.nit:1275 */
   fra.me.REG[4] = CALL_syntax___syntax_base___AClosureDef___closure(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[4] = CALL_metamodel___static_type___MMClosure___signature(fra.me.REG[4])(fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1266 */
+  /* syntax/icode_generation.nit:1276 */
   REGB0 = TAG_Int(0);
   REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     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:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
-      /* syntax/icode_generation.nit:1266 */
+      /* syntax/icode_generation.nit:1276 */
       REGB2 = REGB0;
-      /* syntax/icode_generation.nit:1267 */
+      /* syntax/icode_generation.nit:1277 */
       fra.me.REG[5] = CALL_metamodel___static_type___MMSignature_____bra(fra.me.REG[4])(fra.me.REG[4], REGB2);
       fra.me.REG[5] = CALL_icode___icode_builder___ICodeBuilder___new_register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label1;
     }
   }
   label1: while(0);
-  /* syntax/icode_generation.nit:1269 */
+  /* syntax/icode_generation.nit:1279 */
   fra.me.REG[5] = NIT_NULL;
-  /* syntax/icode_generation.nit:1270 */
+  /* syntax/icode_generation.nit:1280 */
   fra.me.REG[4] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[4])(fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1271 */
+  /* syntax/icode_generation.nit:1281 */
   REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[4]==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[4])(fra.me.REG[4], NIT_NULL);
@@ -6452,42 +6666,42 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
   }
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    /* syntax/icode_generation.nit:1272 */
+    /* syntax/icode_generation.nit:1282 */
     fra.me.REG[4] = CALL_icode___icode_builder___ICodeBuilder___new_register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
     fra.me.REG[5] = fra.me.REG[4];
   }
-  /* syntax/icode_generation.nit:1275 */
+  /* syntax/icode_generation.nit:1285 */
   fra.me.REG[5] = NEW_IClosureDef_icode___icode_base___IClosureDef___init(fra.me.REG[3], fra.me.REG[5]);
-  /* syntax/icode_generation.nit:1276 */
+  /* syntax/icode_generation.nit:1286 */
   fra.me.REG[3] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]);
   CALL_icode___icode_base___IRoutine___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1279 */
+  /* syntax/icode_generation.nit:1289 */
   fra.me.REG[3] = CALL_icode___icode_builder___ICodeBuilder___seq(fra.me.REG[1])(fra.me.REG[1]);
-  /* syntax/icode_generation.nit:1280 */
+  /* syntax/icode_generation.nit:1290 */
   fra.me.REG[4] = CALL_icode___icode_base___IRoutine___body(fra.me.REG[5])(fra.me.REG[5]);
   CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1281 */
+  /* syntax/icode_generation.nit:1291 */
   fra.me.REG[4] = CALL_syntax___typing___AClosureDef___escapable(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[6] = CALL_icode___icode_base___IRoutine___body(fra.me.REG[5])(fra.me.REG[5]);
   REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
-    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1281);
+    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1291);
   }
   CALL_syntax___icode_generation___EscapableBlock___continue_seq__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
-  /* syntax/icode_generation.nit:1282 */
+  /* syntax/icode_generation.nit:1292 */
   fra.me.REG[6] = CALL_syntax___typing___AClosureDef___escapable(fra.me.REG[2])(fra.me.REG[2]);
   fra.me.REG[4] = CALL_icode___icode_base___IRoutine___result(fra.me.REG[5])(fra.me.REG[5]);
   REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
-    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1282);
+    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1292);
   }
   CALL_syntax___icode_generation___EscapableBlock___continue_value__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1285 */
+  /* syntax/icode_generation.nit:1295 */
   REGB0 = TAG_Int(0);
   fra.me.REG[4] = CALL_syntax___syntax_base___AClosureDef___variables(fra.me.REG[2])(fra.me.REG[2]);
   REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
   if (UNTAG_Bool(REGB1)) {
-    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1285);
+    nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1295);
   }
   /* ../lib/standard/collection/array.nit:24 */
   REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
@@ -6496,24 +6710,24 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
     nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
   }
   REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
-  /* ../lib/standard/kernel.nit:352 */
+  /* ../lib/standard/kernel.nit:355 */
   while(1) {
     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:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ../lib/standard/kernel.nit:352 */
+    /* ../lib/standard/kernel.nit:355 */
     if (UNTAG_Bool(REGB2)) {
-      /* syntax/icode_generation.nit:1285 */
+      /* syntax/icode_generation.nit:1295 */
       REGB2 = REGB0;
-      /* syntax/icode_generation.nit:1286 */
+      /* syntax/icode_generation.nit:1296 */
       fra.me.REG[4] = CALL_syntax___syntax_base___AClosureDef___variables(fra.me.REG[2])(fra.me.REG[2]);
       REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
       if (UNTAG_Bool(REGB3)) {
-        nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1286);
+        nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1296);
       }
       /* ../lib/standard/collection/array.nit:278 */
       REGB3 = REGB2;
@@ -6524,7 +6738,7 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
       } else {
         nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
       }
-      /* ../lib/standard/kernel.nit:233 */
+      /* ../lib/standard/kernel.nit:236 */
       REGB4 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB4));
       /* ../lib/standard/collection/array.nit:280 */
       if (UNTAG_Bool(REGB4)) {
@@ -6539,11 +6753,11 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB4 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
       } else {
         /* ../lib/standard/collection/array.nit:280 */
-        REGB5 = TAG_Bool(false);
+        REGB5 = TAG_Bool(0);
         REGB4 = REGB5;
       }
       if (UNTAG_Bool(REGB4)) {
@@ -6556,40 +6770,40 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
       if (UNTAG_Bool(REGB4)) {
         nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
       }
-      /* ../lib/standard/collection/array.nit:718 */
+      /* ../lib/standard/collection/array.nit:724 */
       fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB3)];
       /* ../lib/standard/collection/array.nit:281 */
       goto label2;
       label2: while(0);
-      /* syntax/icode_generation.nit:1286 */
+      /* syntax/icode_generation.nit:1296 */
       fra.me.REG[4] = CALL_syntax___icode_generation___A2IContext___variable(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-      /* syntax/icode_generation.nit:1287 */
+      /* syntax/icode_generation.nit:1297 */
       fra.me.REG[6] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[5])(fra.me.REG[5]);
       fra.me.REG[6] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra.me.REG[6])(fra.me.REG[6], REGB2);
       CALL_icode___icode_builder___ICodeBuilder___add_assignment(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[6]);
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ../lib/standard/kernel.nit:354 */
+      /* ../lib/standard/kernel.nit:357 */
       REGB0 = REGB2;
     } else {
-      /* ../lib/standard/kernel.nit:352 */
+      /* ../lib/standard/kernel.nit:355 */
       goto label3;
     }
   }
   label3: while(0);
-  /* syntax/icode_generation.nit:1290 */
+  /* syntax/icode_generation.nit:1300 */
   fra.me.REG[6] = CALL_parser___parser_nodes___AClosureDef___n_expr(fra.me.REG[2])(fra.me.REG[2]);
   CALL_syntax___icode_generation___A2IContext___generate_stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
-  /* syntax/icode_generation.nit:1293 */
+  /* syntax/icode_generation.nit:1303 */
   fra.me.REG[6] = CALL_syntax___syntax_base___AClosureDef___closure(fra.me.REG[2])(fra.me.REG[2]);
   REGB0 = CALL_metamodel___static_type___MMClosure___is_break(fra.me.REG[6])(fra.me.REG[6]);
   if (UNTAG_Bool(REGB0)) {
     fra.me.REG[6] = CALL_syntax___typing___AClosureDef___escapable(fra.me.REG[2])(fra.me.REG[2]);
     REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1293);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1303);
     }
     fra.me.REG[6] = CALL_syntax___icode_generation___EscapableBlock___break_value(fra.me.REG[6])(fra.me.REG[6]);
     REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
@@ -6597,7 +6811,7 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
     } else {
       REGB1 = TAG_Bool(fra.me.REG[6]==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[6])(fra.me.REG[6], NIT_NULL);
@@ -6605,34 +6819,35 @@ val_t syntax___icode_generation___AClosureDef___generate_iclosuredef(val_t p0, v
       }
     }
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
   }
   if (UNTAG_Bool(REGB0)) {
-    /* syntax/icode_generation.nit:1294 */
+    /* syntax/icode_generation.nit:1304 */
     fra.me.REG[6] = CALL_syntax___typing___AClosureDef___escapable(fra.me.REG[2])(fra.me.REG[2]);
     REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1294);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1304);
     }
     fra.me.REG[6] = CALL_syntax___icode_generation___EscapableBlock___break_seq(fra.me.REG[6])(fra.me.REG[6]);
     REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
-      nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1294);
+      nit_abort("Cast failed", NULL, LOCATE_syntax___icode_generation, 1304);
     }
     CALL_icode___icode_builder___ICodeBuilder___add_escape(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
   }
-  /* syntax/icode_generation.nit:1297 */
+  /* syntax/icode_generation.nit:1307 */
   CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1298 */
+  /* syntax/icode_generation.nit:1308 */
   ATTR_syntax___icode_generation___AClosureDef____iclosure_def(fra.me.REG[2]) = fra.me.REG[5];
-  /* syntax/icode_generation.nit:1299 */
+  /* syntax/icode_generation.nit:1309 */
   goto label4;
   label4: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[5];
 }
+static const char LOCATE_syntax___icode_generation___AClosureCallExpr___generate_icode[] = "icode_generation::AClosureCallExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
   val_t REGB0;
@@ -6641,7 +6856,7 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1304;
+  fra.me.line = 1314;
   fra.me.meth = LOCATE_syntax___icode_generation___AClosureCallExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 9;
@@ -6657,63 +6872,63 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
   fra.me.REG[8] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1307 */
+  /* syntax/icode_generation.nit:1317 */
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___init();
-  /* syntax/icode_generation.nit:1308 */
+  /* syntax/icode_generation.nit:1318 */
   fra.me.REG[3] = CALL_syntax___syntax_base___AClosureCallExpr___variable(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[3] = CALL_syntax___syntax_base___ClosureVariable___closure(fra.me.REG[3])(fra.me.REG[3]);
   fra.me.REG[3] = CALL_metamodel___static_type___MMClosure___signature(fra.me.REG[3])(fra.me.REG[3]);
   CALL_syntax___icode_generation___AAbsAbsSendExpr___generate_icode_for_arguments_in(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
-  /* syntax/icode_generation.nit:1311 */
+  /* syntax/icode_generation.nit:1321 */
   fra.me.REG[3] = CALL_syntax___icode_generation___A2IContext___closurevariables(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[4] = CALL_syntax___syntax_base___AClosureCallExpr___variable(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1312 */
+  /* syntax/icode_generation.nit:1322 */
   fra.me.REG[3] = NEW_IClosCall_icode___icode_base___IClosCall___init(fra.me.REG[4], fra.me.REG[2]);
-  /* syntax/icode_generation.nit:1313 */
+  /* syntax/icode_generation.nit:1323 */
   fra.me.REG[5] = CALL_icode___icode_builder___ICodeBuilder___seq(fra.me.REG[1])(fra.me.REG[1]);
-  /* syntax/icode_generation.nit:1316 */
+  /* syntax/icode_generation.nit:1326 */
   fra.me.REG[6] = CALL_parser___parser_nodes___AClosureCallExpr___n_closure_defs(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[6])(fra.me.REG[6]);
   REGB1 = TAG_Int(1);
   REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
   if (UNTAG_Bool(REGB2)) {
   } else {
-    /* ../lib/standard/kernel.nit:227 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB1 = TAG_Bool((REGB0)==(REGB1));
-    /* syntax/icode_generation.nit:1316 */
+    /* syntax/icode_generation.nit:1326 */
     REGB2 = REGB1;
   }
   if (UNTAG_Bool(REGB2)) {
-    /* syntax/icode_generation.nit:1317 */
+    /* syntax/icode_generation.nit:1327 */
     fra.me.REG[6] = NEW_ISeq_icode___icode_base___ISeq___init();
-    /* syntax/icode_generation.nit:1318 */
+    /* syntax/icode_generation.nit:1328 */
     CALL_icode___icode_base___IClosCall___break_seq__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
-    /* syntax/icode_generation.nit:1319 */
+    /* syntax/icode_generation.nit:1329 */
     CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
-    /* syntax/icode_generation.nit:1320 */
+    /* syntax/icode_generation.nit:1330 */
     fra.me.REG[6] = CALL_parser___parser_nodes___AClosureCallExpr___n_closure_defs(fra.me.REG[0])(fra.me.REG[0]);
     fra.me.REG[6] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[6])(fra.me.REG[6]);
     REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1320);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1330);
     }
     fra.me.REG[6] = CALL_parser___parser_nodes___AClosureDef___n_expr(fra.me.REG[6])(fra.me.REG[6]);
     CALL_syntax___icode_generation___A2IContext___generate_stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
-    /* syntax/icode_generation.nit:1321 */
+    /* syntax/icode_generation.nit:1331 */
     CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
   }
-  /* syntax/icode_generation.nit:1325 */
+  /* syntax/icode_generation.nit:1335 */
   fra.me.REG[6] = NIT_NULL;
-  /* syntax/icode_generation.nit:1326 */
+  /* syntax/icode_generation.nit:1336 */
   fra.me.REG[7] = CALL_icode___icode_base___IClosureDecl___default(fra.me.REG[4])(fra.me.REG[4]);
-  /* syntax/icode_generation.nit:1327 */
+  /* syntax/icode_generation.nit:1337 */
   REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
   if (UNTAG_Bool(REGB2)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB2 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
@@ -6722,37 +6937,37 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
   }
   REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
   if (UNTAG_Bool(REGB2)) {
-    /* syntax/icode_generation.nit:1328 */
+    /* syntax/icode_generation.nit:1338 */
     fra.me.REG[4] = NEW_IHasClos_icode___icode_base___IHasClos___init(fra.me.REG[4]);
     fra.me.REG[8] = CALL_syntax___icode_generation___A2IContext___visitor(fra.me.REG[1])(fra.me.REG[1]);
     fra.me.REG[8] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_bool(fra.me.REG[8])(fra.me.REG[8]);
     fra.me.REG[8] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4], fra.me.REG[8]);
     fra.me.REG[8] = NEW_IIf_icode___icode_base___IIf___init(fra.me.REG[8]);
     fra.me.REG[6] = fra.me.REG[8];
-    /* syntax/icode_generation.nit:1329 */
+    /* syntax/icode_generation.nit:1339 */
     CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
-    /* syntax/icode_generation.nit:1330 */
+    /* syntax/icode_generation.nit:1340 */
     REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1330);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1340);
     }
     fra.me.REG[8] = CALL_icode___icode_base___IIf___then_seq(fra.me.REG[6])(fra.me.REG[6]);
     CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[8]);
   }
-  /* syntax/icode_generation.nit:1334 */
+  /* syntax/icode_generation.nit:1344 */
   fra.me.REG[8] = NIT_NULL;
-  /* syntax/icode_generation.nit:1335 */
+  /* syntax/icode_generation.nit:1345 */
   fra.me.REG[0] = CALL_syntax___syntax_base___AClosureCallExpr___variable(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_metamodel___static_type___MMClosure___signature(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[0])(fra.me.REG[0]);
-  /* syntax/icode_generation.nit:1336 */
+  /* syntax/icode_generation.nit:1346 */
   REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
   if (UNTAG_Bool(REGB2)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB2 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -6760,22 +6975,22 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
     }
   }
   if (UNTAG_Bool(REGB2)) {
-    /* syntax/icode_generation.nit:1337 */
+    /* syntax/icode_generation.nit:1347 */
     CALL_icode___icode_builder___ICodeBuilder___stmt(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
   } else {
-    /* syntax/icode_generation.nit:1339 */
+    /* syntax/icode_generation.nit:1349 */
     fra.me.REG[3] = CALL_icode___icode_builder___ICodeBuilder___expr(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[0]);
     fra.me.REG[8] = fra.me.REG[3];
   }
-  /* syntax/icode_generation.nit:1343 */
+  /* syntax/icode_generation.nit:1353 */
   fra.me.REG[3] = NIT_NULL;
-  /* syntax/icode_generation.nit:1344 */
+  /* syntax/icode_generation.nit:1354 */
   REGB2 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
   if (UNTAG_Bool(REGB2)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB2 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
@@ -6784,13 +6999,13 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
   }
   REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
   if (UNTAG_Bool(REGB2)) {
-    /* syntax/icode_generation.nit:1345 */
+    /* syntax/icode_generation.nit:1355 */
     REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB2 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
@@ -6800,15 +7015,15 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
     REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
     if (UNTAG_Bool(REGB2)) {
     } else {
-      nit_abort("Assert failed", NULL, LOCATE_syntax___icode_generation, 1345);
+      nit_abort("Assert failed", NULL, LOCATE_syntax___icode_generation, 1355);
     }
-    /* syntax/icode_generation.nit:1346 */
+    /* syntax/icode_generation.nit:1356 */
     REGB2 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB2 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
@@ -6817,13 +7032,13 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
     }
     REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
     if (UNTAG_Bool(REGB2)) {
-      /* syntax/icode_generation.nit:1347 */
+      /* syntax/icode_generation.nit:1357 */
       REGB2 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
       if (UNTAG_Bool(REGB2)) {
       } else {
         REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
         if (UNTAG_Bool(REGB1)) {
-          REGB1 = TAG_Bool(false);
+          REGB1 = TAG_Bool(0);
           REGB2 = REGB1;
         } else {
           REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
@@ -6833,30 +7048,30 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
       REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
       if (UNTAG_Bool(REGB2)) {
       } else {
-        nit_abort("Assert failed", NULL, LOCATE_syntax___icode_generation, 1347);
+        nit_abort("Assert failed", NULL, LOCATE_syntax___icode_generation, 1357);
       }
-      /* syntax/icode_generation.nit:1348 */
+      /* syntax/icode_generation.nit:1358 */
       fra.me.REG[0] = CALL_icode___icode_builder___ICodeBuilder___new_register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
       fra.me.REG[3] = fra.me.REG[0];
-      /* syntax/icode_generation.nit:1349 */
+      /* syntax/icode_generation.nit:1359 */
       CALL_icode___icode_builder___ICodeBuilder___add_assignment(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[8]);
     }
-    /* syntax/icode_generation.nit:1351 */
+    /* syntax/icode_generation.nit:1361 */
     REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
-      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1351);
+      nit_abort("Reciever is null", NULL, LOCATE_syntax___icode_generation, 1361);
     }
     fra.me.REG[6] = CALL_icode___icode_base___IIf___else_seq(fra.me.REG[6])(fra.me.REG[6]);
     CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
-    /* syntax/icode_generation.nit:1352 */
+    /* syntax/icode_generation.nit:1362 */
     fra.me.REG[2] = CALL_icode___icode_tools___ICodeBuilder___inline_routine(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7], fra.me.REG[2], NIT_NULL);
-    /* syntax/icode_generation.nit:1353 */
+    /* syntax/icode_generation.nit:1363 */
     REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
     if (UNTAG_Bool(REGB2)) {
     } else {
       REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
       if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB2 = REGB1;
       } else {
         REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
@@ -6865,13 +7080,13 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
     }
     REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
     if (UNTAG_Bool(REGB2)) {
-      /* syntax/icode_generation.nit:1354 */
+      /* syntax/icode_generation.nit:1364 */
       REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
       if (UNTAG_Bool(REGB2)) {
       } else {
         REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
         if (UNTAG_Bool(REGB1)) {
-          REGB1 = TAG_Bool(false);
+          REGB1 = TAG_Bool(0);
           REGB2 = REGB1;
         } else {
           REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
@@ -6881,29 +7096,30 @@ val_t syntax___icode_generation___AClosureCallExpr___generate_icode(val_t p0, va
       REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
       if (UNTAG_Bool(REGB2)) {
       } else {
-        nit_abort("Assert failed", NULL, LOCATE_syntax___icode_generation, 1354);
+        nit_abort("Assert failed", NULL, LOCATE_syntax___icode_generation, 1364);
       }
-      /* syntax/icode_generation.nit:1355 */
+      /* syntax/icode_generation.nit:1365 */
       CALL_icode___icode_builder___ICodeBuilder___add_assignment(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3], fra.me.REG[2]);
     }
-    /* syntax/icode_generation.nit:1357 */
+    /* syntax/icode_generation.nit:1367 */
     CALL_icode___icode_builder___ICodeBuilder___seq__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
   } else {
-    /* syntax/icode_generation.nit:1359 */
+    /* syntax/icode_generation.nit:1369 */
     fra.me.REG[3] = fra.me.REG[8];
   }
-  /* syntax/icode_generation.nit:1361 */
+  /* syntax/icode_generation.nit:1371 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[3];
 }
+static const char LOCATE_syntax___icode_generation___ADebugTypeExpr___generate_icode[] = "icode_generation::ADebugTypeExpr::(icode_generation::AExpr::generate_icode)";
 val_t syntax___icode_generation___ADebugTypeExpr___generate_icode(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_syntax___icode_generation;
-  fra.me.line = 1366;
+  fra.me.line = 1376;
   fra.me.meth = LOCATE_syntax___icode_generation___ADebugTypeExpr___generate_icode;
   fra.me.has_broke = 0;
   fra.me.REG_size = 2;
@@ -6912,7 +7128,7 @@ val_t syntax___icode_generation___ADebugTypeExpr___generate_icode(val_t p0, val_
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  /* syntax/icode_generation.nit:1369 */
+  /* syntax/icode_generation.nit:1379 */
   fra.me.REG[1] = NIT_NULL;
   goto label1;
   label1: while(0);