c_src: update
[nit.git] / c_src / virtualtype._sep.c
index 3aa467c..3738169 100644 (file)
@@ -12,9 +12,9 @@ val_t virtualtype___MMGlobalProperty___is_virtual_type(val_t p0){
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./metamodel//virtualtype.nit:25 */
   fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
-  /* ./metamodel//virtualtype.nit:25 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -35,19 +35,18 @@ val_t virtualtype___MMTypeProperty___stype_for(val_t p0, val_t p1){
   fra.me.REG[2] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
+  /* ./metamodel//virtualtype.nit:34 */
   fra.me.REG[2] = CALL_static_type___MMType___local_class(fra.me.REG[1])(fra.me.REG[1]);
   fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
   /* ./metamodel//virtualtype.nit:35 */
+  REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Assert failed");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 35);
-    nit_exit(1);
+    nit_abort("Assert failed", NULL, LOCATE_virtualtype, 35);
   }
-  fra.me.REG[1] = CALL_virtualtype___MMTypeProperty___real_stype_for(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
   /* ./metamodel//virtualtype.nit:36 */
+  fra.me.REG[1] = CALL_virtualtype___MMTypeProperty___real_stype_for(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -70,9 +69,9 @@ val_t virtualtype___MMTypeProperty___real_stype_for(val_t p0, val_t p1){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
+  /* ./metamodel//virtualtype.nit:45 */
   fra.me.REG[2] = CALL_static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
   REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-  /* ./metamodel//virtualtype.nit:45 */
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
@@ -88,13 +87,11 @@ val_t virtualtype___MMTypeProperty___real_stype_for(val_t p0, val_t p1){
     fra.me.REG[2] = NIT_NULL;
     goto label1;
   }
-  REGB0 = TAG_Bool(ATTR_virtualtype___MMTypeProperty____stypes_cache(fra.me.REG[0])!=NIT_NULL);
   /* ./metamodel//virtualtype.nit:47 */
+  REGB0 = TAG_Bool(ATTR_virtualtype___MMTypeProperty____stypes_cache(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_stypes_cache");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 47);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_stypes_cache", LOCATE_virtualtype, 47);
   }
   fra.me.REG[3] = ATTR_virtualtype___MMTypeProperty____stypes_cache(fra.me.REG[0]);
   REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
@@ -102,55 +99,129 @@ val_t virtualtype___MMTypeProperty___real_stype_for(val_t p0, val_t p1){
     REGB0 = TAG_Bool(ATTR_virtualtype___MMTypeProperty____stypes_cache(fra.me.REG[0])!=NIT_NULL);
     if (UNTAG_Bool(REGB0)) {
     } else {
-      fprintf(stderr, "Uninitialized attribute %s", "_stypes_cache");
-      fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 47);
-      nit_exit(1);
+      nit_abort("Uninitialized attribute %s", "_stypes_cache", LOCATE_virtualtype, 47);
     }
     fra.me.REG[3] = ATTR_virtualtype___MMTypeProperty____stypes_cache(fra.me.REG[0]);
     fra.me.REG[3] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
     fra.me.REG[2] = fra.me.REG[3];
     goto label1;
   }
+  /* ./metamodel//virtualtype.nit:49 */
   fra.me.REG[3] = NEW_MMVirtualType_virtualtype___MMVirtualType___init(fra.me.REG[0], fra.me.REG[1]);
-  REGB0 = TAG_Bool(ATTR_virtualtype___MMTypeProperty____stypes_cache(fra.me.REG[0])!=NIT_NULL);
   /* ./metamodel//virtualtype.nit:50 */
+  REGB0 = TAG_Bool(ATTR_virtualtype___MMTypeProperty____stypes_cache(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_stypes_cache");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 50);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_stypes_cache", LOCATE_virtualtype, 50);
   }
   fra.me.REG[0] = ATTR_virtualtype___MMTypeProperty____stypes_cache(fra.me.REG[0]);
   CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
-  fra.me.REG[2] = fra.me.REG[3];
   /* ./metamodel//virtualtype.nit:52 */
+  fra.me.REG[2] = fra.me.REG[3];
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
-val_t virtualtype___MMVirtualType___module(val_t p0){
+val_t virtualtype___MMVirtualType___property(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_virtualtype;
-  fra.me.line = 71;
-  fra.me.meth = LOCATE_virtualtype___MMVirtualType___module;
+  fra.me.line = 58;
+  fra.me.meth = LOCATE_virtualtype___MMVirtualType___property;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  /* ./metamodel//virtualtype.nit:58 */
+  REGB0 = TAG_Bool(ATTR_virtualtype___MMVirtualType____property(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_property", LOCATE_virtualtype, 58);
+  }
+  fra.me.REG[0] = ATTR_virtualtype___MMVirtualType____property(fra.me.REG[0]);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[0];
+}
+val_t virtualtype___MMVirtualType___recv(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_virtualtype;
+  fra.me.line = 61;
+  fra.me.meth = LOCATE_virtualtype___MMVirtualType___recv;
   fra.me.has_broke = 0;
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./metamodel//virtualtype.nit:61 */
   REGB0 = TAG_Bool(ATTR_virtualtype___MMVirtualType____recv(fra.me.REG[0])!=NIT_NULL);
+  if (UNTAG_Bool(REGB0)) {
+  } else {
+    nit_abort("Uninitialized attribute %s", "_recv", LOCATE_virtualtype, 61);
+  }
+  fra.me.REG[0] = ATTR_virtualtype___MMVirtualType____recv(fra.me.REG[0]);
+  stack_frame_head = fra.me.prev;
+  return fra.me.REG[0];
+}
+void virtualtype___MMVirtualType___init(val_t p0, val_t p1, val_t p2, int* init_table){
+  int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMVirtualType].i;
+  struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
+  val_t tmp;
+  if (init_table[itpos0]) return;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_virtualtype;
+  fra.me.line = 64;
+  fra.me.meth = LOCATE_virtualtype___MMVirtualType___init;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 6;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
+  fra.me.REG[2] = NIT_NULL;
+  fra.me.REG[3] = NIT_NULL;
+  fra.me.REG[4] = NIT_NULL;
+  fra.me.REG[5] = NIT_NULL;
+  fra.me.REG[0] = p0;
+  fra.me.REG[1] = p1;
+  fra.me.REG[2] = p2;
+  /* ./metamodel//virtualtype.nit:64 */
+  fra.me.REG[3] = fra.me.REG[0];
+  /* ./metamodel//virtualtype.nit:66 */
+  fra.me.REG[4] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[1])(fra.me.REG[1]);
+  fra.me.REG[5] = CALL_static_type___MMLocalProperty___signature_for(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
+  fra.me.REG[5] = CALL_static_type___MMSignature___return_type(fra.me.REG[5])(fra.me.REG[5]);
+  CALL_type_formal___MMTypeFormal___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[5], init_table);
+  /* ./metamodel//virtualtype.nit:67 */
+  ATTR_virtualtype___MMVirtualType____property(fra.me.REG[3]) = fra.me.REG[1];
+  /* ./metamodel//virtualtype.nit:68 */
+  ATTR_virtualtype___MMVirtualType____recv(fra.me.REG[3]) = fra.me.REG[2];
+  stack_frame_head = fra.me.prev;
+  init_table[itpos0] = 1;
+  return;
+}
+val_t virtualtype___MMVirtualType___mmmodule(val_t p0){
+  struct {struct stack_frame_t me;} fra;
+  val_t REGB0;
+  val_t tmp;
+  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+  fra.me.file = LOCATE_virtualtype;
+  fra.me.line = 71;
+  fra.me.meth = LOCATE_virtualtype___MMVirtualType___mmmodule;
+  fra.me.has_broke = 0;
+  fra.me.REG_size = 1;
+  fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[0] = p0;
   /* ./metamodel//virtualtype.nit:71 */
+  REGB0 = TAG_Bool(ATTR_virtualtype___MMVirtualType____recv(fra.me.REG[0])!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_recv");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 71);
-    nit_exit(1);
+    nit_abort("Uninitialized attribute %s", "_recv", LOCATE_virtualtype, 71);
   }
   fra.me.REG[0] = ATTR_virtualtype___MMVirtualType____recv(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_static_type___MMType___module(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[0] = CALL_static_type___MMType___mmmodule(fra.me.REG[0])(fra.me.REG[0]);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
@@ -173,9 +244,9 @@ val_t virtualtype___MMVirtualType___for_module(val_t p0, val_t p1){
   fra.me.REG[3] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
-  fra.me.REG[2] = CALL_static_type___MMType___module(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
   /* ./metamodel//virtualtype.nit:75 */
+  fra.me.REG[2] = CALL_static_type___MMType___mmmodule(fra.me.REG[0])(fra.me.REG[0]);
+  REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
   if (UNTAG_Bool(REGB0)) {
   } else {
     REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
@@ -185,45 +256,16 @@ val_t virtualtype___MMVirtualType___for_module(val_t p0, val_t p1){
     fra.me.REG[2] = fra.me.REG[0];
     goto label1;
   }
+  /* ./metamodel//virtualtype.nit:76 */
   fra.me.REG[3] = CALL_virtualtype___MMVirtualType___recv(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[1] = CALL_static_type___MMType___for_module(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
   fra.me.REG[1] = CALL_static_type___MMType___adapt_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
   fra.me.REG[2] = fra.me.REG[1];
-  /* ./metamodel//virtualtype.nit:76 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[2];
 }
-val_t virtualtype___MMVirtualType___adapt_to(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_virtualtype;
-  fra.me.line = 84;
-  fra.me.meth = LOCATE_virtualtype___MMVirtualType___adapt_to;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  fra.me.REG[0] = CALL_virtualtype___MMVirtualType___property(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[1] = CALL_virtualtype___MMTypeProperty___stype_for(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
-  /* ./metamodel//virtualtype.nit:86 */
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    fprintf(stderr, "Cast failed");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 86);
-    nit_exit(1);
-  }
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
 val_t virtualtype___MMVirtualType___not_for_self(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -235,95 +277,40 @@ val_t virtualtype___MMVirtualType___not_for_self(val_t p0){
   fra.me.REG_size = 1;
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
+  /* ./metamodel//virtualtype.nit:81 */
   fra.me.REG[0] = CALL_type_formal___MMTypeFormal___bound(fra.me.REG[0])(fra.me.REG[0]);
   fra.me.REG[0] = CALL_static_type___MMType___not_for_self(fra.me.REG[0])(fra.me.REG[0]);
-  /* ./metamodel//virtualtype.nit:81 */
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
-val_t virtualtype___MMVirtualType___property(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_virtualtype;
-  fra.me.line = 58;
-  fra.me.meth = LOCATE_virtualtype___MMVirtualType___property;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  REGB0 = TAG_Bool(ATTR_virtualtype___MMVirtualType____property(fra.me.REG[0])!=NIT_NULL);
-  /* ./metamodel//virtualtype.nit:58 */
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_property");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 58);
-    nit_exit(1);
-  }
-  fra.me.REG[0] = ATTR_virtualtype___MMVirtualType____property(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-val_t virtualtype___MMVirtualType___recv(val_t p0){
-  struct {struct stack_frame_t me;} fra;
+val_t virtualtype___MMVirtualType___adapt_to(val_t p0, val_t p1){
+  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t REGB0;
   val_t tmp;
   fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
   fra.me.file = LOCATE_virtualtype;
-  fra.me.line = 61;
-  fra.me.meth = LOCATE_virtualtype___MMVirtualType___recv;
+  fra.me.line = 84;
+  fra.me.meth = LOCATE_virtualtype___MMVirtualType___adapt_to;
   fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
+  fra.me.REG_size = 2;
   fra.me.REG[0] = NIT_NULL;
+  fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
-  REGB0 = TAG_Bool(ATTR_virtualtype___MMVirtualType____recv(fra.me.REG[0])!=NIT_NULL);
-  /* ./metamodel//virtualtype.nit:61 */
+  fra.me.REG[1] = p1;
+  /* ./metamodel//virtualtype.nit:86 */
+  fra.me.REG[0] = CALL_virtualtype___MMVirtualType___property(fra.me.REG[0])(fra.me.REG[0]);
+  fra.me.REG[1] = CALL_virtualtype___MMTypeProperty___stype_for(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+  REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Uninitialized attribute %s", "_recv");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 61);
-    nit_exit(1);
+    nit_abort("Cast failed", NULL, LOCATE_virtualtype, 86);
   }
-  fra.me.REG[0] = ATTR_virtualtype___MMVirtualType____recv(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-void virtualtype___MMVirtualType___init(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMVirtualType].i;
-  struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
-  val_t tmp;
-  if (init_table[itpos0]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_virtualtype;
-  fra.me.line = 64;
-  fra.me.meth = LOCATE_virtualtype___MMVirtualType___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 6;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[3] = NIT_NULL;
-  fra.me.REG[4] = NIT_NULL;
-  fra.me.REG[5] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  fra.me.REG[2] = p2;
-  fra.me.REG[3] = fra.me.REG[0];
-  fra.me.REG[4] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[5] = CALL_static_type___MMLocalProperty___signature_for(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  fra.me.REG[5] = CALL_static_type___MMSignature___return_type(fra.me.REG[5])(fra.me.REG[5]);
-  /* ./metamodel//virtualtype.nit:66 */
-  CALL_type_formal___MMTypeFormal___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[5], init_table);
-  /* ./metamodel//virtualtype.nit:67 */
-  ATTR_virtualtype___MMVirtualType____property(fra.me.REG[3]) = fra.me.REG[1];
-  /* ./metamodel//virtualtype.nit:68 */
-  ATTR_virtualtype___MMVirtualType____recv(fra.me.REG[3]) = fra.me.REG[2];
+  goto label1;
+  label1: while(0);
   stack_frame_head = fra.me.prev;
-  init_table[itpos0] = 1;
-  return;
+  return fra.me.REG[1];
 }
 val_t virtualtype___MMLocalClass___virtual_type(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -339,17 +326,16 @@ val_t virtualtype___MMLocalClass___virtual_type(val_t p0, val_t p1){
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
+  /* ./metamodel//virtualtype.nit:93 */
   fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  REGB0 = CALL_virtualtype___MMGlobalProperty___is_virtual_type(fra.me.REG[1])(fra.me.REG[1]);
   /* ./metamodel//virtualtype.nit:94 */
+  REGB0 = CALL_virtualtype___MMGlobalProperty___is_virtual_type(fra.me.REG[1])(fra.me.REG[1]);
   if (UNTAG_Bool(REGB0)) {
     /* ./metamodel//virtualtype.nit:95 */
     goto label1;
   }
   /* ./metamodel//virtualtype.nit:97 */
-  fprintf(stderr, "Aborted");
-  fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 97);
-  nit_exit(1);
+  nit_abort("Aborted", NULL, LOCATE_virtualtype, 97);
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return fra.me.REG[1];
@@ -368,15 +354,15 @@ val_t virtualtype___MMLocalClass___select_virtual_type(val_t p0, val_t p1){
   fra.me.REG[1] = NIT_NULL;
   fra.me.REG[0] = p0;
   fra.me.REG[1] = p1;
+  /* ./metamodel//virtualtype.nit:103 */
   fra.me.REG[1] = CALL_virtualtype___MMLocalClass___virtual_type(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+  /* ./metamodel//virtualtype.nit:104 */
   fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
   /* ./metamodel//virtualtype.nit:105 */
+  REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_MMTypeProperty, ID_MMTypeProperty)) /*cast MMTypeProperty*/;
   if (UNTAG_Bool(REGB0)) {
   } else {
-    fprintf(stderr, "Assert failed");
-    fprintf(stderr, " (%s:%d)\n", LOCATE_virtualtype, 105);
-    nit_exit(1);
+    nit_abort("Assert failed", NULL, LOCATE_virtualtype, 105);
   }
   /* ./metamodel//virtualtype.nit:106 */
   goto label1;