update c_src (now with ffi)
[nit.git] / c_src / metamodel___inheritance._sep.c
index f8d7125..294ad45 100644 (file)
@@ -1,5 +1,6 @@
 /* This C file is generated by NIT to compile module metamodel___inheritance. */
 #include "metamodel___inheritance._sep.h"
+static const char LOCATE_metamodel___inheritance___MMContext___handle_property_conflict[] = "inheritance::MMContext::handle_property_conflict";
 void metamodel___inheritance___MMContext___handle_property_conflict(val_t p0, val_t p1, val_t p2){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -126,7 +127,7 @@ void metamodel___inheritance___MMContext___handle_property_conflict(val_t p0, va
     } 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)) {
@@ -164,7 +165,7 @@ void metamodel___inheritance___MMContext___handle_property_conflict(val_t p0, va
       CALL_standard___file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
       /* ../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;
@@ -233,6 +234,7 @@ void metamodel___inheritance___MMContext___handle_property_conflict(val_t p0, va
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMModule___type_any[] = "inheritance::MMModule::type_any";
 val_t metamodel___inheritance___MMModule___type_any(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -259,7 +261,7 @@ val_t metamodel___inheritance___MMModule___type_any(val_t p0){
       register_static_object(&once_value_2);
     } else fra.me.REG[1] = once_value_2;
     fra.me.REG[1] = fra.me.REG[1];
-    fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
+    fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
     once_value_1 = fra.me.REG[1];
     register_static_object(&once_value_1);
   } else fra.me.REG[1] = once_value_1;
@@ -272,6 +274,7 @@ val_t metamodel___inheritance___MMModule___type_any(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_metamodel___inheritance___MMModule___type_any_extern[] = "inheritance::MMModule::type_any_extern";
 val_t metamodel___inheritance___MMModule___type_any_extern(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -298,7 +301,7 @@ val_t metamodel___inheritance___MMModule___type_any_extern(val_t p0){
       register_static_object(&once_value_2);
     } else fra.me.REG[1] = once_value_2;
     fra.me.REG[1] = fra.me.REG[1];
-    fra.me.REG[1] = CALL_standard___symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
+    fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
     once_value_1 = fra.me.REG[1];
     register_static_object(&once_value_1);
   } else fra.me.REG[1] = once_value_1;
@@ -311,6 +314,7 @@ val_t metamodel___inheritance___MMModule___type_any_extern(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_metamodel___inheritance___MMModule___import_global_classes[] = "inheritance::MMModule::import_global_classes";
 void metamodel___inheritance___MMModule___import_global_classes(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -338,7 +342,7 @@ void metamodel___inheritance___MMModule___import_global_classes(val_t p0){
   } 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);
@@ -382,7 +386,7 @@ void metamodel___inheritance___MMModule___import_global_classes(val_t p0){
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB1)) {
@@ -398,7 +402,7 @@ void metamodel___inheritance___MMModule___import_global_classes(val_t p0){
       CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[3])(fra.me.REG[3], (&(fra.me)), ((fun_t)OC_metamodel___inheritance___MMModule___import_global_classes_1));
       /* ../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;
@@ -453,6 +457,7 @@ void metamodel___inheritance___MMModule___import_global_classes(val_t p0){
         stack_frame_head = fra.me.prev;
         return;
       }
+static const char LOCATE_metamodel___inheritance___MMModule___import_local_classes[] = "inheritance::MMModule::import_local_classes";
 void metamodel___inheritance___MMModule___import_local_classes(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -513,6 +518,7 @@ void metamodel___inheritance___MMModule___import_local_classes(val_t p0){
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___compute_super_classes[] = "inheritance::MMLocalClass::compute_super_classes";
 void metamodel___inheritance___MMLocalClass___compute_super_classes(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -578,7 +584,7 @@ void metamodel___inheritance___MMLocalClass___compute_super_classes(val_t p0){
     }
   }
   /* metamodel/inheritance.nit:98 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra.me.REG[0]) = REGB0;
   /* metamodel/inheritance.nit:100 */
   fra.me.REG[2] = NEW_Array_standard___collection___array___Array___init();
@@ -606,7 +612,7 @@ void metamodel___inheritance___MMLocalClass___compute_super_classes(val_t p0){
   } 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);
@@ -625,7 +631,7 @@ void metamodel___inheritance___MMLocalClass___compute_super_classes(val_t p0){
   } 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);
@@ -638,12 +644,13 @@ void metamodel___inheritance___MMLocalClass___compute_super_classes(val_t p0){
     nit_abort("Assert failed", NULL, LOCATE_metamodel___inheritance, 110);
   }
   /* metamodel/inheritance.nit:111 */
-  REGB0 = TAG_Bool(false);
+  REGB0 = TAG_Bool(0);
   ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra.me.REG[0]) = REGB0;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___compute_ancestors[] = "inheritance::MMLocalClass::compute_ancestors";
 void metamodel___inheritance___MMLocalClass___compute_ancestors(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -709,7 +716,7 @@ void metamodel___inheritance___MMLocalClass___compute_ancestors(val_t p0){
     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));
       /* metamodel/inheritance.nit:124 */
       REGB2 = REGB1;
@@ -728,6 +735,7 @@ void metamodel___inheritance___MMLocalClass___compute_ancestors(val_t p0){
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___inherit_global_properties[] = "inheritance::MMLocalClass::inherit_global_properties";
 void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -758,7 +766,7 @@ void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0
     goto label1;
   }
   /* metamodel/inheritance.nit:139 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra.me.REG[0]) = REGB0;
   /* metamodel/inheritance.nit:141 */
   REGB0 = TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0])!=NIT_NULL);
@@ -802,7 +810,7 @@ void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB1)) {
@@ -818,7 +826,7 @@ void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0
       CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_metamodel___inheritance___MMLocalClass___inherit_global_properties_2));
       /* ../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;
@@ -871,7 +879,7 @@ void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0
           }
           REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
         } else {
-          REGB1 = TAG_Bool(false);
+          REGB1 = TAG_Bool(0);
           REGB0 = REGB1;
         }
         if (UNTAG_Bool(REGB0)) {
@@ -888,7 +896,7 @@ void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0
         REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
         if (UNTAG_Bool(REGB2)) {
         } else {
-          /* ../lib/standard/kernel.nit:378 */
+          /* ../lib/standard/kernel.nit:381 */
           REGB1 = TAG_Bool((REGB0)==(REGB1));
           /* metamodel/inheritance.nit:157 */
           REGB2 = REGB1;
@@ -902,6 +910,7 @@ void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0
         stack_frame_head = fra.me.prev;
         return;
       }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___global_properties[] = "inheritance::MMLocalClass::(abstractmetamodel::MMLocalClass::global_properties)";
 val_t metamodel___inheritance___MMLocalClass___global_properties(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -953,6 +962,7 @@ val_t metamodel___inheritance___MMLocalClass___global_properties(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___has_global_property[] = "inheritance::MMLocalClass::(abstractmetamodel::MMLocalClass::has_global_property)";
 val_t metamodel___inheritance___MMLocalClass___has_global_property(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -978,7 +988,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property(val_t p0, val
   REGB0 = CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    REGB0 = TAG_Bool(false);
+    REGB0 = TAG_Bool(0);
     goto label1;
   }
   /* metamodel/inheritance.nit:178 */
@@ -991,7 +1001,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property(val_t p0, val
   /* metamodel/inheritance.nit:179 */
   REGB1 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
   if (UNTAG_Bool(REGB1)) {
-    REGB1 = TAG_Bool(true);
+    REGB1 = TAG_Bool(1);
     REGB0 = REGB1;
     goto label1;
   }
@@ -1023,7 +1033,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property(val_t p0, 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));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB2)) {
@@ -1040,13 +1050,13 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property(val_t p0, val
         /* metamodel/inheritance.nit:182 */
         CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
         /* metamodel/inheritance.nit:183 */
-        REGB2 = TAG_Bool(true);
+        REGB2 = TAG_Bool(1);
         REGB0 = REGB2;
         goto label1;
       }
       /* ../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(REGB1)+UNTAG_Int(REGB2));
       /* ../lib/standard/collection/array.nit:274 */
       REGB1 = REGB2;
@@ -1057,13 +1067,14 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property(val_t p0, val
   }
   label2: while(0);
   /* metamodel/inheritance.nit:186 */
-  REGB1 = TAG_Bool(false);
+  REGB1 = TAG_Bool(0);
   REGB0 = REGB1;
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___has_global_property_by_name[] = "inheritance::MMLocalClass::(abstractmetamodel::MMLocalClass::has_global_property_by_name)";
 val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
   val_t REGB0;
@@ -1094,7 +1105,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t
   REGB0 = CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
-    REGB0 = TAG_Bool(false);
+    REGB0 = TAG_Bool(0);
     goto label1;
   }
   /* metamodel/inheritance.nit:196 */
@@ -1132,7 +1143,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t
     REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
     if (UNTAG_Bool(REGB3)) {
     } else {
-      /* ../lib/standard/kernel.nit:227 */
+      /* ../lib/standard/kernel.nit:230 */
       REGB2 = TAG_Bool((REGB1)==(REGB2));
       /* metamodel/inheritance.nit:199 */
       REGB3 = REGB2;
@@ -1205,7 +1216,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(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(REGB3)<UNTAG_Int(REGB2));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB2)) {
@@ -1242,7 +1253,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t
           }
           REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
         } else {
-          REGB1 = TAG_Bool(false);
+          REGB1 = TAG_Bool(0);
           REGB2 = REGB1;
         }
         if (UNTAG_Bool(REGB2)) {
@@ -1259,10 +1270,10 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t
         } else {
           REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
           if (UNTAG_Bool(REGB4)) {
-            REGB4 = TAG_Bool(false);
+            REGB4 = TAG_Bool(0);
             REGB1 = REGB4;
           } else {
-            /* ../lib/standard/kernel.nit:378 */
+            /* ../lib/standard/kernel.nit:381 */
             REGB2 = TAG_Bool((fra.me.REG[8])==(REGB2));
             /* metamodel/inheritance.nit:214 */
             REGB1 = REGB2;
@@ -1290,7 +1301,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t
       label2: while(0);
       /* ../lib/standard/collection/array.nit:274 */
       REGB1 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1));
       /* ../lib/standard/collection/array.nit:274 */
       REGB3 = REGB1;
@@ -1317,7 +1328,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t
   REGB2 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB1));
   if (UNTAG_Bool(REGB2)) {
   } else {
-    /* ../lib/standard/kernel.nit:227 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB1 = TAG_Bool((REGB3)==(REGB1));
     /* metamodel/inheritance.nit:219 */
     REGB2 = REGB1;
@@ -1328,6 +1339,7 @@ val_t metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property[] = "inheritance::MMLocalClass::make_visible_an_inherited_global_property";
 void metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -1373,6 +1385,7 @@ void metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_p
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___add_direct_parent[] = "inheritance::MMLocalClass::add_direct_parent";
 void metamodel___inheritance___MMLocalClass___add_direct_parent(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -1399,6 +1412,7 @@ void metamodel___inheritance___MMLocalClass___add_direct_parent(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___computed_super_classes[] = "inheritance::MMLocalClass::computed_super_classes";
 val_t metamodel___inheritance___MMLocalClass___computed_super_classes(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
@@ -1421,7 +1435,7 @@ val_t metamodel___inheritance___MMLocalClass___computed_super_classes(val_t p0){
   } 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);
@@ -1436,7 +1450,7 @@ val_t metamodel___inheritance___MMLocalClass___computed_super_classes(val_t p0){
     } 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);
@@ -1445,7 +1459,7 @@ val_t metamodel___inheritance___MMLocalClass___computed_super_classes(val_t p0){
     }
     REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   } else {
-    REGB1 = TAG_Bool(false);
+    REGB1 = TAG_Bool(0);
     REGB0 = REGB1;
   }
   goto label1;
@@ -1453,6 +1467,7 @@ val_t metamodel___inheritance___MMLocalClass___computed_super_classes(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___computed_ancestors[] = "inheritance::MMLocalClass::computed_ancestors";
 val_t metamodel___inheritance___MMLocalClass___computed_ancestors(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1474,7 +1489,7 @@ val_t metamodel___inheritance___MMLocalClass___computed_ancestors(val_t p0){
   } 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);
@@ -1487,6 +1502,7 @@ val_t metamodel___inheritance___MMLocalClass___computed_ancestors(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___ancestor_for[] = "inheritance::MMLocalClass::ancestor_for";
 val_t metamodel___inheritance___MMLocalClass___ancestor_for(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -1514,7 +1530,7 @@ val_t metamodel___inheritance___MMLocalClass___ancestor_for(val_t p0, val_t p1){
   } 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);
@@ -1604,6 +1620,7 @@ val_t metamodel___inheritance___MMLocalClass___ancestor_for(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass_____bra[] = "inheritance::MMLocalClass::(abstractmetamodel::MMLocalClass::[])";
 val_t metamodel___inheritance___MMLocalClass_____bra(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -1678,6 +1695,7 @@ val_t metamodel___inheritance___MMLocalClass_____bra(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___add_default_any_class[] = "inheritance::MMLocalClass::add_default_any_class";
 void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -1714,7 +1732,7 @@ void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, va
       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;
@@ -1728,12 +1746,12 @@ void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, va
   REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
   if (UNTAG_Bool(REGB0)) {
     /* metamodel/inheritance.nit:300 */
-    REGB0 = TAG_Bool(false);
+    REGB0 = TAG_Bool(0);
     /* metamodel/inheritance.nit:301 */
     REGB1 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
     if (UNTAG_Bool(REGB1)) {
       /* metamodel/inheritance.nit:302 */
-      REGB1 = TAG_Bool(true);
+      REGB1 = TAG_Bool(1);
       REGB0 = REGB1;
     } else {
       /* metamodel/inheritance.nit:303 */
@@ -1741,7 +1759,7 @@ void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, va
       REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[3])(fra.me.REG[3]);
       if (UNTAG_Bool(REGB1)) {
         /* metamodel/inheritance.nit:304 */
-        REGB1 = TAG_Bool(true);
+        REGB1 = TAG_Bool(1);
         REGB0 = REGB1;
         /* ../lib/standard/collection/array.nit:266 */
         fra.me.REG[3] = fra.me.REG[1];
@@ -1770,7 +1788,7 @@ void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, va
           } 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));
           /* ../lib/standard/collection/array.nit:272 */
           if (UNTAG_Bool(REGB2)) {
@@ -1786,14 +1804,14 @@ void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, va
             REGB2 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[4])(fra.me.REG[4]);
             if (UNTAG_Bool(REGB2)) {
               /* metamodel/inheritance.nit:307 */
-              REGB2 = TAG_Bool(false);
+              REGB2 = TAG_Bool(0);
               REGB0 = REGB2;
               /* metamodel/inheritance.nit:308 */
               goto label3;
             }
             /* ../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(REGB1)+UNTAG_Int(REGB2));
             /* ../lib/standard/collection/array.nit:274 */
             REGB1 = REGB2;
@@ -1819,7 +1837,7 @@ void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, va
           register_static_object(&once_value_6);
         } else fra.me.REG[3] = once_value_6;
         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_5 = fra.me.REG[3];
         register_static_object(&once_value_5);
       } else fra.me.REG[3] = once_value_5;
@@ -1835,7 +1853,7 @@ void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, va
         fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
         REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[3])(fra.me.REG[3]);
       } else {
-        REGB1 = TAG_Bool(false);
+        REGB1 = TAG_Bool(0);
         REGB0 = REGB1;
       }
       if (UNTAG_Bool(REGB0)) {
@@ -1864,6 +1882,7 @@ void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0, va
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___add_super_classes[] = "inheritance::MMLocalClass::add_super_classes";
 void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
   val_t REGB0;
@@ -1895,7 +1914,7 @@ void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0, val_t
   } 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);
@@ -1939,7 +1958,7 @@ void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0, val_t
     } 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)) {
@@ -1978,7 +1997,7 @@ void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0, 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(REGB1)<UNTAG_Int(REGB2));
         /* ../lib/standard/collection/array.nit:272 */
         if (UNTAG_Bool(REGB2)) {
@@ -2001,7 +2020,7 @@ void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0, val_t
           CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[7]);
           /* ../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(REGB1)+UNTAG_Int(REGB2));
           /* ../lib/standard/collection/array.nit:274 */
           REGB1 = REGB2;
@@ -2013,7 +2032,7 @@ void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0, val_t
       label1: while(0);
       /* ../lib/standard/collection/array.nit:274 */
       REGB1 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
       /* ../lib/standard/collection/array.nit:274 */
       REGB0 = REGB1;
@@ -2026,6 +2045,7 @@ void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___add_explicit_classes[] = "inheritance::MMLocalClass::add_explicit_classes";
 void metamodel___inheritance___MMLocalClass___add_explicit_classes(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
   val_t REGB0;
@@ -2077,7 +2097,7 @@ void metamodel___inheritance___MMLocalClass___add_explicit_classes(val_t p0, val
     } 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)) {
@@ -2093,7 +2113,7 @@ void metamodel___inheritance___MMLocalClass___add_explicit_classes(val_t p0, val
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
       /* ../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;
@@ -2106,6 +2126,7 @@ void metamodel___inheritance___MMLocalClass___add_explicit_classes(val_t p0, val
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___compute_super_parents[] = "inheritance::MMLocalClass::compute_super_parents";
 void metamodel___inheritance___MMLocalClass___compute_super_parents(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -2149,7 +2170,7 @@ void metamodel___inheritance___MMLocalClass___compute_super_parents(val_t p0, va
     } 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)) {
@@ -2164,7 +2185,7 @@ void metamodel___inheritance___MMLocalClass___compute_super_parents(val_t p0, va
       CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra.me.REG[2])(fra.me.REG[2]);
       /* ../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;
@@ -2177,6 +2198,7 @@ void metamodel___inheritance___MMLocalClass___compute_super_parents(val_t p0, va
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___build_ancestors[] = "inheritance::MMLocalClass::build_ancestors";
 val_t metamodel___inheritance___MMLocalClass___build_ancestors(val_t p0){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -2206,7 +2228,7 @@ val_t metamodel___inheritance___MMLocalClass___build_ancestors(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);
@@ -2250,7 +2272,7 @@ val_t metamodel___inheritance___MMLocalClass___build_ancestors(val_t p0){
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB1)) {
@@ -2279,7 +2301,7 @@ val_t metamodel___inheritance___MMLocalClass___build_ancestors(val_t p0){
       CALL_metamodel___inheritance___MMAncestor___add_in(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
       /* ../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;
@@ -2321,7 +2343,7 @@ val_t metamodel___inheritance___MMLocalClass___build_ancestors(val_t p0){
     } else {
       nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
     }
-    /* ../lib/standard/kernel.nit:232 */
+    /* ../lib/standard/kernel.nit:235 */
     REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
     /* ../lib/standard/collection/array.nit:272 */
     if (UNTAG_Bool(REGB1)) {
@@ -2349,7 +2371,7 @@ val_t metamodel___inheritance___MMLocalClass___build_ancestors(val_t p0){
       CALL_metamodel___inheritance___MMAncestor___add_in(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
       /* ../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;
@@ -2365,6 +2387,7 @@ val_t metamodel___inheritance___MMLocalClass___build_ancestors(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___group_ancestors[] = "inheritance::MMLocalClass::group_ancestors";
 val_t metamodel___inheritance___MMLocalClass___group_ancestors(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
   val_t REGB0;
@@ -2414,7 +2437,7 @@ val_t metamodel___inheritance___MMLocalClass___group_ancestors(val_t p0, val_t p
     } 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)) {
@@ -2445,7 +2468,7 @@ val_t metamodel___inheritance___MMLocalClass___group_ancestors(val_t p0, val_t p
       CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
       /* ../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;
@@ -2461,6 +2484,7 @@ val_t metamodel___inheritance___MMLocalClass___group_ancestors(val_t p0, val_t p
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___merge_ancestors[] = "inheritance::MMLocalClass::merge_ancestors";
 val_t metamodel___inheritance___MMLocalClass___merge_ancestors(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
   val_t REGB0;
@@ -2504,7 +2528,7 @@ val_t metamodel___inheritance___MMLocalClass___merge_ancestors(val_t p0, val_t p
   } else {
     nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
   }
-  /* ../lib/standard/kernel.nit:234 */
+  /* ../lib/standard/kernel.nit:237 */
   REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
   /* metamodel/inheritance.nit:421 */
   if (UNTAG_Bool(REGB1)) {
@@ -2591,14 +2615,14 @@ val_t metamodel___inheritance___MMLocalClass___merge_ancestors(val_t p0, val_t p
     /* metamodel/inheritance.nit:401 */
     fra.me.REG[1] = CALL_standard___collection___abstract_collection___Collection___iterator(closctx->REG[1])(closctx->REG[1]);
     /* metamodel/inheritance.nit:402 */
-    REGB0 = TAG_Bool(true);
+    REGB0 = TAG_Bool(1);
     /* metamodel/inheritance.nit:403 */
     while(1) {
       REGB1 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
       if (UNTAG_Bool(REGB1)) {
         REGB1 = REGB0;
       } else {
-        REGB2 = TAG_Bool(false);
+        REGB2 = TAG_Bool(0);
         REGB1 = REGB2;
       }
       if (UNTAG_Bool(REGB1)) {
@@ -2631,7 +2655,7 @@ val_t metamodel___inheritance___MMLocalClass___merge_ancestors(val_t p0, val_t p
           REGB1 = REGB2;
         }
         if (UNTAG_Bool(REGB1)) {
-          REGB1 = TAG_Bool(true);
+          REGB1 = TAG_Bool(1);
         } else {
           fra.me.REG[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
           REGB2 = CALL_standard___collection___abstract_collection___Collection___has(closctx->REG[2])(closctx->REG[2], fra.me.REG[3]);
@@ -2650,14 +2674,14 @@ val_t metamodel___inheritance___MMLocalClass___merge_ancestors(val_t p0, val_t p
           REGB1 = CALL_metamodel___static_type___MMType_____l(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
         } else {
           /* metamodel/inheritance.nit:409 */
-          REGB2 = TAG_Bool(false);
+          REGB2 = TAG_Bool(0);
           REGB1 = REGB2;
         }
         if (UNTAG_Bool(REGB1)) {
           /* metamodel/inheritance.nit:411 */
           CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
           /* metamodel/inheritance.nit:412 */
-          REGB1 = TAG_Bool(false);
+          REGB1 = TAG_Bool(0);
           REGB0 = REGB1;
         }
         /* metamodel/inheritance.nit:414 */
@@ -2678,6 +2702,7 @@ val_t metamodel___inheritance___MMLocalClass___merge_ancestors(val_t p0, val_t p
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_metamodel___inheritance___MMLocalClass___inherit_local_property[] = "inheritance::MMLocalClass::inherit_local_property";
 val_t metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
   val_t REGB0;
@@ -2725,7 +2750,7 @@ val_t metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0,
   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));
     /* metamodel/inheritance.nit:439 */
     REGB2 = REGB1;
@@ -2746,7 +2771,7 @@ val_t metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0,
     REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
     if (UNTAG_Bool(REGB0)) {
     } else {
-      /* ../lib/standard/kernel.nit:227 */
+      /* ../lib/standard/kernel.nit:230 */
       REGB1 = TAG_Bool((REGB2)==(REGB1));
       /* metamodel/inheritance.nit:442 */
       REGB0 = REGB1;
@@ -2788,7 +2813,7 @@ val_t metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0,
         } else {
           nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
         }
-        /* ../lib/standard/kernel.nit:232 */
+        /* ../lib/standard/kernel.nit:235 */
         REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
         /* ../lib/standard/collection/array.nit:272 */
         if (UNTAG_Bool(REGB1)) {
@@ -2807,7 +2832,7 @@ val_t metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0,
           }
           /* ../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;
@@ -2831,7 +2856,7 @@ val_t metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0,
       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));
         /* metamodel/inheritance.nit:455 */
         REGB2 = REGB1;
@@ -2862,6 +2887,7 @@ val_t metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0,
   stack_frame_head = fra.me.prev;
   return fra.me.REG[4];
 }
+static const char LOCATE_metamodel___inheritance___MMLocalProperty___inherit_global[] = "inheritance::MMLocalProperty::inherit_global";
 void metamodel___inheritance___MMLocalProperty___inherit_global(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
   val_t REGB0;
@@ -2916,7 +2942,7 @@ void metamodel___inheritance___MMLocalProperty___inherit_global(val_t p0, val_t
     } 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)) {
@@ -2939,7 +2965,7 @@ void metamodel___inheritance___MMLocalProperty___inherit_global(val_t p0, val_t
       label1: while(0);
       /* ../lib/standard/collection/array.nit:274 */
       REGB1 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:235 */
+      /* ../lib/standard/kernel.nit:238 */
       REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
       /* ../lib/standard/collection/array.nit:274 */
       REGB0 = REGB1;
@@ -2954,6 +2980,7 @@ void metamodel___inheritance___MMLocalProperty___inherit_global(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMAncestor___add_in[] = "inheritance::MMAncestor::add_in";
 void metamodel___inheritance___MMAncestor___add_in(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
   val_t REGB0;
@@ -3037,14 +3064,14 @@ void metamodel___inheritance___MMAncestor___add_in(val_t p0, val_t p1){
       /* metamodel/inheritance.nit:498 */
       fra.me.REG[2] = CALL_standard___collection___abstract_collection___Collection___iterator(closctx->REG[1])(closctx->REG[1]);
       /* metamodel/inheritance.nit:499 */
-      REGB0 = TAG_Bool(true);
+      REGB0 = TAG_Bool(1);
       /* metamodel/inheritance.nit:500 */
       while(1) {
         REGB1 = CALL_standard___collection___abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
         if (UNTAG_Bool(REGB1)) {
           REGB1 = REGB0;
         } else {
-          REGB2 = TAG_Bool(false);
+          REGB2 = TAG_Bool(0);
           REGB1 = REGB2;
         }
         if (UNTAG_Bool(REGB1)) {
@@ -3076,7 +3103,7 @@ void metamodel___inheritance___MMAncestor___add_in(val_t p0, val_t p1){
               REGB1 = REGB2;
             }
           } else {
-            REGB2 = TAG_Bool(false);
+            REGB2 = TAG_Bool(0);
             REGB1 = REGB2;
           }
           REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
@@ -3100,6 +3127,7 @@ void metamodel___inheritance___MMAncestor___add_in(val_t p0, val_t p1){
     stack_frame_head = fra.me.prev;
     return;
   }
+static const char LOCATE_metamodel___inheritance___MMImplicitLocalClass___init[] = "inheritance::MMImplicitLocalClass::init";
 void metamodel___inheritance___MMImplicitLocalClass___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_metamodel___inheritance___MMImplicitLocalClass].i;
   struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
@@ -3136,6 +3164,7 @@ void metamodel___inheritance___MMImplicitLocalClass___init(val_t p0, val_t p1, v
   init_table[itpos0] = 1;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMRefineAncestor___local_class[] = "inheritance::MMRefineAncestor::(static_type::MMAncestor::local_class)";
 val_t metamodel___inheritance___MMRefineAncestor___local_class(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -3159,6 +3188,7 @@ val_t metamodel___inheritance___MMRefineAncestor___local_class(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_metamodel___inheritance___MMRefineAncestor___init[] = "inheritance::MMRefineAncestor::init";
 void metamodel___inheritance___MMRefineAncestor___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_metamodel___inheritance___MMRefineAncestor].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -3200,6 +3230,7 @@ void metamodel___inheritance___MMRefineAncestor___init(val_t p0, val_t p1, val_t
   init_table[itpos1] = 1;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMSpecAncestor___local_class[] = "inheritance::MMSpecAncestor::(static_type::MMAncestor::local_class)";
 val_t metamodel___inheritance___MMSpecAncestor___local_class(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -3220,6 +3251,7 @@ val_t metamodel___inheritance___MMSpecAncestor___local_class(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_metamodel___inheritance___MMSpecAncestor___init[] = "inheritance::MMSpecAncestor::init";
 void metamodel___inheritance___MMSpecAncestor___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_metamodel___inheritance___MMSpecAncestor].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -3250,6 +3282,7 @@ void metamodel___inheritance___MMSpecAncestor___init(val_t p0, val_t p1, val_t p
   init_table[itpos2] = 1;
   return;
 }
+static const char LOCATE_metamodel___inheritance___MMDefaultAncestor___local_class[] = "inheritance::MMDefaultAncestor::(static_type::MMAncestor::local_class)";
 val_t metamodel___inheritance___MMDefaultAncestor___local_class(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -3270,6 +3303,7 @@ val_t metamodel___inheritance___MMDefaultAncestor___local_class(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_metamodel___inheritance___MMDefaultAncestor___init[] = "inheritance::MMDefaultAncestor::init";
 void metamodel___inheritance___MMDefaultAncestor___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_metamodel___inheritance___MMDefaultAncestor].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;