use nitg to bootstrap; drop bootstrap of nitc
[nit.git] / c_src / analysis___icode_dump._sep.c
diff --git a/c_src/analysis___icode_dump._sep.c b/c_src/analysis___icode_dump._sep.c
deleted file mode 100644 (file)
index f569343..0000000
+++ /dev/null
@@ -1,3425 +0,0 @@
-/* This C file is generated by NIT to compile module analysis___icode_dump. */
-#include "analysis___icode_dump._sep.h"
-static const char LOCATE_analysis___icode_dump___IRoutine___dump[] = "icode_dump::IRoutine::dump";
-void analysis___icode_dump___IRoutine___dump(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-    static val_t once_value_2; /* Once value */
-    static val_t once_value_3; /* Once value */
-    static val_t once_value_4; /* Once value */
-    static val_t once_value_5; /* Once value */
-    static val_t once_value_6; /* Once value */
-    static val_t once_value_7; /* Once value */
-    static val_t once_value_8; /* Once value */
-    static val_t once_value_9; /* Once value */
-    static val_t once_value_10; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 24;
-  fra.me.meth = LOCATE_analysis___icode_dump___IRoutine___dump;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 5;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:27 */
-  fra.me.REG[2] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[0])(fra.me.REG[0]);
-  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)) {
-    /* analysis/icode_dump.nit:28 */
-    fra.me.REG[2] = NEW_Array_standard___collection___array___Array___init();
-    /* analysis/icode_dump.nit:29 */
-    fra.me.REG[3] = CALL_icode___icode_base___IRoutine___params(fra.me.REG[0])(fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[3])(fra.me.REG[3], (&(fra.me)), ((fun_t)OC_analysis___icode_dump___IRoutine___dump_1));
-    /* analysis/icode_dump.nit:32 */
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_2) {
-      fra.me.REG[4] = BOX_NativeString("Parameters: ");
-      REGB0 = TAG_Int(12);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
-      once_value_2 = fra.me.REG[4];
-      register_static_object(&once_value_2);
-    } else fra.me.REG[4] = once_value_2;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    if (!once_value_3) {
-      fra.me.REG[4] = BOX_NativeString(", ");
-      REGB0 = TAG_Int(2);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
-      once_value_3 = fra.me.REG[4];
-      register_static_object(&once_value_3);
-    } else fra.me.REG[4] = once_value_3;
-    fra.me.REG[4] = fra.me.REG[4];
-    fra.me.REG[4] = CALL_standard___string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    if (!once_value_4) {
-      fra.me.REG[4] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
-      once_value_4 = fra.me.REG[4];
-      register_static_object(&once_value_4);
-    } else fra.me.REG[4] = once_value_4;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-    CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  }
-  /* analysis/icode_dump.nit:34 */
-  fra.me.REG[3] = CALL_icode___icode_base___IRoutine___result(fra.me.REG[0])(fra.me.REG[0]);
-  /* analysis/icode_dump.nit:35 */
-  REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:36 */
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_5) {
-      fra.me.REG[2] = BOX_NativeString("Result: ");
-      REGB0 = TAG_Int(8);
-      fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-      once_value_5 = fra.me.REG[2];
-      register_static_object(&once_value_5);
-    } else fra.me.REG[2] = once_value_5;
-    fra.me.REG[2] = fra.me.REG[2];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
-    fra.me.REG[3] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    if (!once_value_6) {
-      fra.me.REG[3] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-      once_value_6 = fra.me.REG[3];
-      register_static_object(&once_value_6);
-    } else fra.me.REG[3] = once_value_6;
-    fra.me.REG[3] = fra.me.REG[3];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
-    CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  }
-  /* analysis/icode_dump.nit:38 */
-  REGB0 = CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
-  REGB1 = TAG_Int(0);
-  REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ../lib/standard/kernel.nit:244 */
-  REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
-  /* analysis/icode_dump.nit:38 */
-  if (UNTAG_Bool(REGB1)) {
-    /* analysis/icode_dump.nit:39 */
-    REGB1 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-    if (!once_value_7) {
-      fra.me.REG[3] = BOX_NativeString("StdSlots: ");
-      REGB1 = TAG_Int(10);
-      fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB1);
-      once_value_7 = fra.me.REG[3];
-      register_static_object(&once_value_7);
-    } else fra.me.REG[3] = once_value_7;
-    fra.me.REG[3] = fra.me.REG[3];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    REGB1 = CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
-    fra.me.REG[3] = CALL_standard___string___Object___to_s(REGB1)(REGB1);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    if (!once_value_8) {
-      fra.me.REG[3] = BOX_NativeString("");
-      REGB1 = TAG_Int(0);
-      fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB1);
-      once_value_8 = fra.me.REG[3];
-      register_static_object(&once_value_8);
-    } else fra.me.REG[3] = once_value_8;
-    fra.me.REG[3] = fra.me.REG[3];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
-    CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  }
-  /* analysis/icode_dump.nit:41 */
-  REGB1 = CALL_analysis___allocate_iregister_slots___IRoutine___tag_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Int(0);
-  REGB2 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
-  if (UNTAG_Bool(REGB2)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
-  }
-  /* ../lib/standard/kernel.nit:244 */
-  REGB0 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB0));
-  /* analysis/icode_dump.nit:41 */
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:42 */
-    REGB0 = TAG_Int(3);
-    fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_9) {
-      fra.me.REG[3] = BOX_NativeString("TagSlots: ");
-      REGB0 = TAG_Int(10);
-      fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-      once_value_9 = fra.me.REG[3];
-      register_static_object(&once_value_9);
-    } else fra.me.REG[3] = once_value_9;
-    fra.me.REG[3] = fra.me.REG[3];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    REGB0 = CALL_analysis___allocate_iregister_slots___IRoutine___tag_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
-    fra.me.REG[3] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    if (!once_value_10) {
-      fra.me.REG[3] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-      once_value_10 = fra.me.REG[3];
-      register_static_object(&once_value_10);
-    } else fra.me.REG[3] = once_value_10;
-    fra.me.REG[3] = fra.me.REG[3];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
-    fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
-    CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  }
-  /* analysis/icode_dump.nit:44 */
-  fra.me.REG[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra.me.REG[0])(fra.me.REG[0]);
-  /* analysis/icode_dump.nit:45 */
-  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(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:46 */
-    REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_analysis___icode_dump, 46);
-    }
-    CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_analysis___icode_dump___IRoutine___dump_11));
-  }
-  /* analysis/icode_dump.nit:50 */
-  fra.me.REG[0] = CALL_icode___icode_base___IRoutine___body(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_analysis___icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-    void OC_analysis___icode_dump___IRoutine___dump_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-      struct {struct stack_frame_t me;} fra;
-      fun_t CREG[1];
-      val_t tmp;
-      fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-      fra.me.file = LOCATE_analysis___icode_dump;
-      fra.me.line = 0;
-      fra.me.meth = LOCATE_analysis___icode_dump___IRoutine___dump;
-      fra.me.has_broke = 0;
-      fra.me.REG_size = 1;
-      fra.me.nitni_local_ref_head = NULL;
-      fra.me.REG[0] = NIT_NULL;
-      fra.me.closure_ctx = closctx_param;
-      fra.me.closure_funs = CREG;
-      fra.me.REG[0] = p0;
-      CREG[0] = clos_fun0;
-      /* analysis/icode_dump.nit:30 */
-      fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(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;
-    }
-    void OC_analysis___icode_dump___IRoutine___dump_11(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-      struct {struct stack_frame_t me;} fra;
-      fun_t CREG[1];
-      val_t tmp;
-      fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-      fra.me.file = LOCATE_analysis___icode_dump;
-      fra.me.line = 0;
-      fra.me.meth = LOCATE_analysis___icode_dump___IRoutine___dump;
-      fra.me.has_broke = 0;
-      fra.me.REG_size = 1;
-      fra.me.nitni_local_ref_head = NULL;
-      fra.me.REG[0] = NIT_NULL;
-      fra.me.closure_ctx = closctx_param;
-      fra.me.closure_funs = CREG;
-      fra.me.REG[0] = p0;
-      CREG[0] = clos_fun0;
-      /* analysis/icode_dump.nit:47 */
-      CALL_analysis___icode_dump___IClosureDecl___dump(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
-      stack_frame_head = fra.me.prev;
-      return;
-    }
-static const char LOCATE_analysis___icode_dump___IClosureDecl___dump[] = "icode_dump::IClosureDecl::dump";
-void analysis___icode_dump___IClosureDecl___dump(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 55;
-  fra.me.meth = LOCATE_analysis___icode_dump___IClosureDecl___dump;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:58 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("Closure: ");
-    REGB0 = TAG_Int(9);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_analysis___icode_dump___ICodeDumper___closdecl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* analysis/icode_dump.nit:59 */
-  fra.me.REG[2] = CALL_icode___icode_base___IClosureDecl___default(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:60 */
-    CALL_analysis___icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
-    /* analysis/icode_dump.nit:61 */
-    fra.me.REG[0] = CALL_icode___icode_base___IClosureDecl___default(fra.me.REG[0])(fra.me.REG[0]);
-    REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_analysis___icode_dump, 61);
-    }
-    CALL_analysis___icode_dump___IRoutine___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    /* analysis/icode_dump.nit:62 */
-    CALL_analysis___icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  }
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___dump_locations[] = "icode_dump::ICodeDumper::dump_locations";
-val_t analysis___icode_dump___ICodeDumper___dump_locations(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_analysis___icode_dump;
-  fra.me.line = 68;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___dump_locations;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* analysis/icode_dump.nit:68 */
-  REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____dump_locations(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_dump_locations", LOCATE_analysis___icode_dump, 68);
-  }
-  REGB0 = ATTR_analysis___icode_dump___ICodeDumper____dump_locations(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___dump_line_numbers[] = "icode_dump::ICodeDumper::dump_line_numbers";
-val_t analysis___icode_dump___ICodeDumper___dump_line_numbers(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_analysis___icode_dump;
-  fra.me.line = 69;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___dump_line_numbers;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* analysis/icode_dump.nit:69 */
-  REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____dump_line_numbers(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_dump_line_numbers", LOCATE_analysis___icode_dump, 69);
-  }
-  REGB0 = ATTR_analysis___icode_dump___ICodeDumper____dump_line_numbers(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___init[] = "icode_dump::ICodeDumper::init";
-void analysis___icode_dump___ICodeDumper___init(val_t p0, val_t p1, val_t p2, int* init_table){
-  int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_analysis___icode_dump___ICodeDumper].i;
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  if (init_table[itpos0]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 73;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  REGB0 = p1;
-  REGB1 = p2;
-  /* analysis/icode_dump.nit:74 */
-  ATTR_analysis___icode_dump___ICodeDumper____dump_locations(fra.me.REG[0]) = REGB0;
-  /* analysis/icode_dump.nit:75 */
-  ATTR_analysis___icode_dump___ICodeDumper____dump_line_numbers(fra.me.REG[0]) = REGB1;
-  stack_frame_head = fra.me.prev;
-  init_table[itpos0] = 1;
-  return;
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___register[] = "icode_dump::ICodeDumper::register";
-val_t analysis___icode_dump___ICodeDumper___register(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-      static val_t once_value_2; /* Once value */
-      static val_t once_value_3; /* Once value */
-        static val_t once_value_4; /* Once value */
-        static val_t once_value_5; /* Once value */
-        static val_t once_value_6; /* Once value */
-          static val_t once_value_7; /* Once value */
-          static val_t once_value_8; /* Once value */
-          static val_t once_value_9; /* Once value */
-          static val_t once_value_10; /* Once value */
-          static val_t once_value_11; /* Once value */
-          static val_t once_value_12; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 78;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___register;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 7;
-  fra.me.nitni_local_ref_head = NULL;
-  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[6] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:82 */
-  REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 82);
-  }
-  fra.me.REG[2] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:83 */
-    REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 83);
-    }
-    fra.me.REG[2] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-    fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-    goto label1;
-  } else {
-    /* analysis/icode_dump.nit:85 */
-    fra.me.REG[3] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra.me.REG[1])(fra.me.REG[1]);
-    /* analysis/icode_dump.nit:86 */
-    REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
-      if (UNTAG_Bool(REGB1)) {
-        REGB1 = TAG_Bool(0);
-        REGB0 = REGB1;
-      } else {
-        /* ../lib/standard/kernel.nit:237 */
-        REGB1 = TAG_Bool((fra.me.REG[3])==(NIT_NULL));
-        /* analysis/icode_dump.nit:86 */
-        REGB0 = REGB1;
-      }
-    }
-    if (UNTAG_Bool(REGB0)) {
-      /* analysis/icode_dump.nit:87 */
-      REGB0 = ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
-      REGB1 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:245 */
-      REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-      /* analysis/icode_dump.nit:87 */
-      ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0]) = REGB1;
-      /* analysis/icode_dump.nit:88 */
-      REGB1 = TAG_Int(3);
-      fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-      if (!once_value_2) {
-        fra.me.REG[5] = BOX_NativeString("r");
-        REGB1 = TAG_Int(1);
-        fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB1);
-        once_value_2 = fra.me.REG[5];
-        register_static_object(&once_value_2);
-      } else fra.me.REG[5] = once_value_2;
-      fra.me.REG[5] = fra.me.REG[5];
-      CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-      REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0])!=NIT_NULL);
-      if (UNTAG_Bool(REGB1)) {
-      } else {
-        nit_abort("Uninitialized attribute %s", "_last_value", LOCATE_analysis___icode_dump, 88);
-      }
-      REGB1 = ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
-      fra.me.REG[5] = CALL_standard___string___Object___to_s(REGB1)(REGB1);
-      CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-      if (!once_value_3) {
-        fra.me.REG[5] = BOX_NativeString("");
-        REGB1 = TAG_Int(0);
-        fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB1);
-        once_value_3 = fra.me.REG[5];
-        register_static_object(&once_value_3);
-      } else fra.me.REG[5] = once_value_3;
-      fra.me.REG[5] = fra.me.REG[5];
-      CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-      fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
-      /* analysis/icode_dump.nit:89 */
-      REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-      if (UNTAG_Bool(REGB1)) {
-      } else {
-        nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 89);
-      }
-      fra.me.REG[5] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-      CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[1], fra.me.REG[4]);
-      /* analysis/icode_dump.nit:90 */
-      fra.me.REG[2] = fra.me.REG[4];
-      goto label1;
-    } else {
-      /* analysis/icode_dump.nit:92 */
-      REGB1 = ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
-      REGB0 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:245 */
-      REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
-      /* analysis/icode_dump.nit:92 */
-      ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0]) = REGB0;
-      /* analysis/icode_dump.nit:94 */
-      REGB0 = CALL_analysis___allocate_iregister_slots___IRegister___in_tag_slots(fra.me.REG[1])(fra.me.REG[1]);
-      if (UNTAG_Bool(REGB0)) {
-        /* analysis/icode_dump.nit:95 */
-        REGB0 = TAG_Int(5);
-        fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-        if (!once_value_4) {
-          fra.me.REG[5] = BOX_NativeString("BREG");
-          REGB0 = TAG_Int(4);
-          fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-          once_value_4 = fra.me.REG[5];
-          register_static_object(&once_value_4);
-        } else fra.me.REG[5] = once_value_4;
-        fra.me.REG[5] = fra.me.REG[5];
-        CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-        fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-        CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-        if (!once_value_5) {
-          fra.me.REG[5] = BOX_NativeString("(r");
-          REGB0 = TAG_Int(2);
-          fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-          once_value_5 = fra.me.REG[5];
-          register_static_object(&once_value_5);
-        } else fra.me.REG[5] = once_value_5;
-        fra.me.REG[5] = fra.me.REG[5];
-        CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-        REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0])!=NIT_NULL);
-        if (UNTAG_Bool(REGB0)) {
-        } else {
-          nit_abort("Uninitialized attribute %s", "_last_value", LOCATE_analysis___icode_dump, 95);
-        }
-        REGB0 = ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
-        fra.me.REG[5] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
-        CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-        if (!once_value_6) {
-          fra.me.REG[5] = BOX_NativeString(")");
-          REGB0 = TAG_Int(1);
-          fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-          once_value_6 = fra.me.REG[5];
-          register_static_object(&once_value_6);
-        } else fra.me.REG[5] = once_value_6;
-        fra.me.REG[5] = fra.me.REG[5];
-        CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
-        fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
-      } else {
-        /* analysis/icode_dump.nit:96 */
-        REGB0 = CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra.me.REG[1])(fra.me.REG[1]);
-        if (UNTAG_Bool(REGB0)) {
-          /* analysis/icode_dump.nit:97 */
-          REGB0 = TAG_Int(5);
-          fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-          if (!once_value_7) {
-            fra.me.REG[6] = BOX_NativeString("LREG");
-            REGB0 = TAG_Int(4);
-            fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
-            once_value_7 = fra.me.REG[6];
-            register_static_object(&once_value_7);
-          } else fra.me.REG[6] = once_value_7;
-          fra.me.REG[6] = fra.me.REG[6];
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-          fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-          if (!once_value_8) {
-            fra.me.REG[6] = BOX_NativeString("(r");
-            REGB0 = TAG_Int(2);
-            fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
-            once_value_8 = fra.me.REG[6];
-            register_static_object(&once_value_8);
-          } else fra.me.REG[6] = once_value_8;
-          fra.me.REG[6] = fra.me.REG[6];
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-          REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0])!=NIT_NULL);
-          if (UNTAG_Bool(REGB0)) {
-          } else {
-            nit_abort("Uninitialized attribute %s", "_last_value", LOCATE_analysis___icode_dump, 97);
-          }
-          REGB0 = ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
-          fra.me.REG[6] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-          if (!once_value_9) {
-            fra.me.REG[6] = BOX_NativeString(")");
-            REGB0 = TAG_Int(1);
-            fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
-            once_value_9 = fra.me.REG[6];
-            register_static_object(&once_value_9);
-          } else fra.me.REG[6] = once_value_9;
-          fra.me.REG[6] = fra.me.REG[6];
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-          fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
-          fra.me.REG[4] = fra.me.REG[5];
-        } else {
-          /* analysis/icode_dump.nit:99 */
-          REGB0 = TAG_Int(5);
-          fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-          if (!once_value_10) {
-            fra.me.REG[6] = BOX_NativeString("REG");
-            REGB0 = TAG_Int(3);
-            fra.me.REG[6] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[6])(fra.me.REG[6], REGB0);
-            once_value_10 = fra.me.REG[6];
-            register_static_object(&once_value_10);
-          } else fra.me.REG[6] = once_value_10;
-          fra.me.REG[6] = fra.me.REG[6];
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
-          fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
-          if (!once_value_11) {
-            fra.me.REG[3] = BOX_NativeString("(r");
-            REGB0 = TAG_Int(2);
-            fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-            once_value_11 = fra.me.REG[3];
-            register_static_object(&once_value_11);
-          } else fra.me.REG[3] = once_value_11;
-          fra.me.REG[3] = fra.me.REG[3];
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
-          REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0])!=NIT_NULL);
-          if (UNTAG_Bool(REGB0)) {
-          } else {
-            nit_abort("Uninitialized attribute %s", "_last_value", LOCATE_analysis___icode_dump, 99);
-          }
-          REGB0 = ATTR_analysis___icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
-          fra.me.REG[3] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
-          if (!once_value_12) {
-            fra.me.REG[3] = BOX_NativeString(")");
-            REGB0 = TAG_Int(1);
-            fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-            once_value_12 = fra.me.REG[3];
-            register_static_object(&once_value_12);
-          } else fra.me.REG[3] = once_value_12;
-          fra.me.REG[3] = fra.me.REG[3];
-          CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
-          fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
-          fra.me.REG[4] = fra.me.REG[5];
-        }
-      }
-      /* analysis/icode_dump.nit:101 */
-      REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-      if (UNTAG_Bool(REGB0)) {
-      } else {
-        nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 101);
-      }
-      fra.me.REG[0] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-      CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[4]);
-      /* analysis/icode_dump.nit:102 */
-      fra.me.REG[2] = fra.me.REG[4];
-      goto label1;
-    }
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___register_all[] = "icode_dump::ICodeDumper::register_all";
-val_t analysis___icode_dump___ICodeDumper___register_all(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-    static val_t once_value_1; /* Once value */
-  static val_t once_value_4; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 107;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___register_all;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:110 */
-  REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  if (UNTAG_Bool(REGB0)) {
-    if (!once_value_1) {
-      fra.me.REG[2] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-      once_value_1 = fra.me.REG[2];
-      register_static_object(&once_value_1);
-    } else fra.me.REG[2] = once_value_1;
-    fra.me.REG[2] = fra.me.REG[2];
-    goto label2;
-  }
-  /* analysis/icode_dump.nit:111 */
-  fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
-  /* analysis/icode_dump.nit:112 */
-  REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-    nit_abort("Reciever is null", NULL, LOCATE_analysis___icode_dump, 112);
-  }
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_analysis___icode_dump___ICodeDumper___register_all_3));
-  /* analysis/icode_dump.nit:115 */
-  if (!once_value_4) {
-    fra.me.REG[0] = BOX_NativeString(", ");
-    REGB0 = TAG_Int(2);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_4 = fra.me.REG[0];
-    register_static_object(&once_value_4);
-  } else fra.me.REG[0] = once_value_4;
-  fra.me.REG[0] = fra.me.REG[0];
-  fra.me.REG[0] = CALL_standard___string___Collection___join(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
-  fra.me.REG[2] = fra.me.REG[0];
-  goto label2;
-  label2: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-  void OC_analysis___icode_dump___ICodeDumper___register_all_3(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    fun_t CREG[1];
-    val_t tmp;
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_analysis___icode_dump;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___register_all;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    /* analysis/icode_dump.nit:113 */
-    fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx->REG[3])(closctx->REG[3], fra.me.REG[0]);
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-static const char LOCATE_analysis___icode_dump___ICodeDumper___closdecl[] = "icode_dump::ICodeDumper::closdecl";
-val_t analysis___icode_dump___ICodeDumper___closdecl(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-    static val_t once_value_2; /* Once value */
-    static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 120;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___closdecl;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 5;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:124 */
-  REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 124);
-  }
-  fra.me.REG[2] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:125 */
-    REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 125);
-    }
-    fra.me.REG[2] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-    fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-    goto label1;
-  } else {
-    /* analysis/icode_dump.nit:127 */
-    REGB0 = ATTR_analysis___icode_dump___ICodeDumper____last_clos(fra.me.REG[0]);
-    REGB1 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:245 */
-    REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-    /* analysis/icode_dump.nit:127 */
-    ATTR_analysis___icode_dump___ICodeDumper____last_clos(fra.me.REG[0]) = REGB1;
-    /* analysis/icode_dump.nit:128 */
-    REGB1 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-    if (!once_value_2) {
-      fra.me.REG[4] = BOX_NativeString("clos");
-      REGB1 = TAG_Int(4);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB1);
-      once_value_2 = fra.me.REG[4];
-      register_static_object(&once_value_2);
-    } else fra.me.REG[4] = once_value_2;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____last_clos(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_last_clos", LOCATE_analysis___icode_dump, 128);
-    }
-    REGB1 = ATTR_analysis___icode_dump___ICodeDumper____last_clos(fra.me.REG[0]);
-    fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB1)(REGB1);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    if (!once_value_3) {
-      fra.me.REG[4] = BOX_NativeString("");
-      REGB1 = TAG_Int(0);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB1);
-      once_value_3 = fra.me.REG[4];
-      register_static_object(&once_value_3);
-    } else fra.me.REG[4] = once_value_3;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-    /* analysis/icode_dump.nit:129 */
-    REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 129);
-    }
-    fra.me.REG[0] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
-    /* analysis/icode_dump.nit:130 */
-    fra.me.REG[2] = fra.me.REG[3];
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___lab[] = "icode_dump::ICodeDumper::lab";
-val_t analysis___icode_dump___ICodeDumper___lab(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-    static val_t once_value_2; /* Once value */
-    static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 135;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___lab;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 5;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:139 */
-  REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 139);
-  }
-  fra.me.REG[2] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:140 */
-    REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 140);
-    }
-    fra.me.REG[2] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-    fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-    goto label1;
-  } else {
-    /* analysis/icode_dump.nit:142 */
-    REGB0 = ATTR_analysis___icode_dump___ICodeDumper____last_label(fra.me.REG[0]);
-    REGB1 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:245 */
-    REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-    /* analysis/icode_dump.nit:142 */
-    ATTR_analysis___icode_dump___ICodeDumper____last_label(fra.me.REG[0]) = REGB1;
-    /* analysis/icode_dump.nit:143 */
-    REGB1 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-    if (!once_value_2) {
-      fra.me.REG[4] = BOX_NativeString("[l");
-      REGB1 = TAG_Int(2);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB1);
-      once_value_2 = fra.me.REG[4];
-      register_static_object(&once_value_2);
-    } else fra.me.REG[4] = once_value_2;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____last_label(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_last_label", LOCATE_analysis___icode_dump, 143);
-    }
-    REGB1 = ATTR_analysis___icode_dump___ICodeDumper____last_label(fra.me.REG[0]);
-    fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB1)(REGB1);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    if (!once_value_3) {
-      fra.me.REG[4] = BOX_NativeString("]");
-      REGB1 = TAG_Int(1);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB1);
-      once_value_3 = fra.me.REG[4];
-      register_static_object(&once_value_3);
-    } else fra.me.REG[4] = once_value_3;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-    /* analysis/icode_dump.nit:144 */
-    REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 144);
-    }
-    fra.me.REG[0] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
-    /* analysis/icode_dump.nit:145 */
-    fra.me.REG[2] = fra.me.REG[3];
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___line[] = "icode_dump::ICodeDumper::line";
-val_t analysis___icode_dump___ICodeDumper___line(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-    static val_t once_value_2; /* Once value */
-    static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 150;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___line;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 5;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:153 */
-  REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 153);
-  }
-  fra.me.REG[2] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:154 */
-    REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 154);
-    }
-    fra.me.REG[2] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-    fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-    goto label1;
-  } else {
-    /* analysis/icode_dump.nit:156 */
-    REGB0 = ATTR_analysis___icode_dump___ICodeDumper____last_line(fra.me.REG[0]);
-    REGB1 = TAG_Int(1);
-    /* ../lib/standard/kernel.nit:245 */
-    REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-    /* analysis/icode_dump.nit:156 */
-    ATTR_analysis___icode_dump___ICodeDumper____last_line(fra.me.REG[0]) = REGB1;
-    /* analysis/icode_dump.nit:157 */
-    REGB1 = TAG_Int(3);
-    fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
-    if (!once_value_2) {
-      fra.me.REG[4] = BOX_NativeString("");
-      REGB1 = TAG_Int(0);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB1);
-      once_value_2 = fra.me.REG[4];
-      register_static_object(&once_value_2);
-    } else fra.me.REG[4] = once_value_2;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____last_line(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_last_line", LOCATE_analysis___icode_dump, 157);
-    }
-    REGB1 = ATTR_analysis___icode_dump___ICodeDumper____last_line(fra.me.REG[0]);
-    fra.me.REG[4] = CALL_standard___string___Object___to_s(REGB1)(REGB1);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    if (!once_value_3) {
-      fra.me.REG[4] = BOX_NativeString("");
-      REGB1 = TAG_Int(0);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB1);
-      once_value_3 = fra.me.REG[4];
-      register_static_object(&once_value_3);
-    } else fra.me.REG[4] = once_value_3;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-    fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-    /* analysis/icode_dump.nit:158 */
-    REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-    } else {
-      nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 158);
-    }
-    fra.me.REG[0] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
-    /* analysis/icode_dump.nit:159 */
-    fra.me.REG[2] = fra.me.REG[3];
-    goto label1;
-  }
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___has_lab[] = "icode_dump::ICodeDumper::has_lab";
-val_t analysis___icode_dump___ICodeDumper___has_lab(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_analysis___icode_dump;
-  fra.me.line = 163;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___has_lab;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:166 */
-  REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_ids", LOCATE_analysis___icode_dump, 166);
-  }
-  fra.me.REG[0] = ATTR_analysis___icode_dump___ICodeDumper____ids(fra.me.REG[0]);
-  REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  goto label1;
-  label1: while(0);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___write[] = "icode_dump::ICodeDumper::write";
-void analysis___icode_dump___ICodeDumper___write(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t REGB2;
-  val_t tmp;
-      static val_t once_value_1; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 169;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___write;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:172 */
-  REGB0 = TAG_Int(0);
-  REGB1 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____indent_level(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB1)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_analysis___icode_dump, 172);
-  }
-  REGB1 = ATTR_analysis___icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
-  /* ../lib/standard/kernel.nit:404 */
-  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:242 */
-    REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
-    /* ../lib/standard/kernel.nit:404 */
-    if (UNTAG_Bool(REGB2)) {
-      /* analysis/icode_dump.nit:173 */
-      REGB2 = TAG_Int(0);
-      fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
-      if (!once_value_1) {
-        fra.me.REG[3] = BOX_NativeString("    ");
-        REGB2 = TAG_Int(4);
-        fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB2);
-        once_value_1 = fra.me.REG[3];
-        register_static_object(&once_value_1);
-      } else fra.me.REG[3] = once_value_1;
-      fra.me.REG[3] = fra.me.REG[3];
-      CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-      CALL_standard___file___Object___printn(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
-      /* ../lib/standard/kernel.nit:406 */
-      REGB2 = TAG_Int(1);
-      /* ../lib/standard/kernel.nit:245 */
-      REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
-      /* ../lib/standard/kernel.nit:406 */
-      REGB0 = REGB2;
-    } else {
-      /* ../lib/standard/kernel.nit:404 */
-      goto label2;
-    }
-  }
-  label2: while(0);
-  /* analysis/icode_dump.nit:175 */
-  CALL_standard___file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___indent_level[] = "icode_dump::ICodeDumper::indent_level";
-val_t analysis___icode_dump___ICodeDumper___indent_level(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 178;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___indent_level;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* analysis/icode_dump.nit:178 */
-  REGB0 = TAG_Bool(ATTR_analysis___icode_dump___ICodeDumper____indent_level(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_analysis___icode_dump, 178);
-  }
-  REGB0 = ATTR_analysis___icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return REGB0;
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___indent[] = "icode_dump::ICodeDumper::indent";
-void analysis___icode_dump___ICodeDumper___indent(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 180;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___indent;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* analysis/icode_dump.nit:181 */
-  REGB0 = ATTR_analysis___icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
-  REGB1 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:245 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
-  /* analysis/icode_dump.nit:181 */
-  ATTR_analysis___icode_dump___ICodeDumper____indent_level(fra.me.REG[0]) = REGB1;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_analysis___icode_dump___ICodeDumper___unindent[] = "icode_dump::ICodeDumper::unindent";
-void analysis___icode_dump___ICodeDumper___unindent(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 183;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeDumper___unindent;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* analysis/icode_dump.nit:184 */
-  REGB0 = ATTR_analysis___icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
-  REGB1 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:247 */
-  REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
-  /* analysis/icode_dump.nit:184 */
-  ATTR_analysis___icode_dump___ICodeDumper____indent_level(fra.me.REG[0]) = REGB1;
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_analysis___icode_dump___ICode___dump[] = "icode_dump::ICode::dump";
-void analysis___icode_dump___ICode___dump(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-    static val_t once_value_3; /* Once value */
-    static val_t once_value_4; /* Once value */
-    static val_t once_value_5; /* Once value */
-    static val_t once_value_6; /* Once value */
-    static val_t once_value_7; /* Once value */
-    static val_t once_value_8; /* Once value */
-    static val_t once_value_9; /* Once value */
-    static val_t once_value_10; /* Once value */
-    static val_t once_value_11; /* Once value */
-    static val_t once_value_12; /* Once value */
-    static val_t once_value_13; /* Once value */
-    static val_t once_value_14; /* Once value */
-    static val_t once_value_15; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 188;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICode___dump;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 8;
-  fra.me.nitni_local_ref_head = NULL;
-  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[6] = NIT_NULL;
-  fra.me.REG[7] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:191 */
-  fra.me.REG[2] = CALL_icode___icode_base___ICode___result(fra.me.REG[0])(fra.me.REG[0]);
-  /* analysis/icode_dump.nit:192 */
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  /* analysis/icode_dump.nit:193 */
-  if (!once_value_2) {
-    fra.me.REG[4] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
-    once_value_2 = fra.me.REG[4];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[4] = once_value_2;
-  fra.me.REG[4] = fra.me.REG[4];
-  /* analysis/icode_dump.nit:194 */
-  fra.me.REG[5] = CALL_icode___icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
-  /* analysis/icode_dump.nit:195 */
-  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(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-    REGB0 = CALL_analysis___icode_dump___ICodeDumper___dump_locations(fra.me.REG[1])(fra.me.REG[1]);
-  } else {
-    REGB1 = TAG_Bool(0);
-    REGB0 = REGB1;
-  }
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:196 */
-    REGB0 = TAG_Int(3);
-    fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_3) {
-      fra.me.REG[7] = BOX_NativeString("        ... ");
-      REGB0 = TAG_Int(12);
-      fra.me.REG[7] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[7])(fra.me.REG[7], REGB0);
-      once_value_3 = fra.me.REG[7];
-      register_static_object(&once_value_3);
-    } else fra.me.REG[7] = once_value_3;
-    fra.me.REG[7] = fra.me.REG[7];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
-    fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    if (!once_value_4) {
-      fra.me.REG[5] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-      once_value_4 = fra.me.REG[5];
-      register_static_object(&once_value_4);
-    } else fra.me.REG[5] = once_value_4;
-    fra.me.REG[5] = fra.me.REG[5];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
-    fra.me.REG[3] = fra.me.REG[6];
-  }
-  /* analysis/icode_dump.nit:198 */
-  REGB0 = CALL_analysis___icode_dump___ICodeDumper___dump_line_numbers(fra.me.REG[1])(fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:199 */
-    REGB0 = TAG_Int(3);
-    fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_5) {
-      fra.me.REG[5] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-      once_value_5 = fra.me.REG[5];
-      register_static_object(&once_value_5);
-    } else fra.me.REG[5] = once_value_5;
-    fra.me.REG[5] = fra.me.REG[5];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    fra.me.REG[5] = CALL_analysis___icode_dump___ICodeDumper___line(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    if (!once_value_6) {
-      fra.me.REG[5] = BOX_NativeString(": ");
-      REGB0 = TAG_Int(2);
-      fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-      once_value_6 = fra.me.REG[5];
-      register_static_object(&once_value_6);
-    } else fra.me.REG[5] = once_value_6;
-    fra.me.REG[5] = fra.me.REG[5];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
-    fra.me.REG[4] = fra.me.REG[6];
-  }
-  /* analysis/icode_dump.nit:201 */
-  REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:202 */
-    REGB0 = TAG_Int(7);
-    fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_7) {
-      fra.me.REG[5] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-      once_value_7 = fra.me.REG[5];
-      register_static_object(&once_value_7);
-    } else fra.me.REG[5] = once_value_7;
-    fra.me.REG[5] = fra.me.REG[5];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
-    if (!once_value_8) {
-      fra.me.REG[5] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-      once_value_8 = fra.me.REG[5];
-      register_static_object(&once_value_8);
-    } else fra.me.REG[5] = once_value_8;
-    fra.me.REG[5] = fra.me.REG[5];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    fra.me.REG[5] = CALL_analysis___icode_dump___ICode___dump_intern(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    if (!once_value_9) {
-      fra.me.REG[5] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-      once_value_9 = fra.me.REG[5];
-      register_static_object(&once_value_9);
-    } else fra.me.REG[5] = once_value_9;
-    fra.me.REG[5] = fra.me.REG[5];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
-    if (!once_value_10) {
-      fra.me.REG[5] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-      once_value_10 = fra.me.REG[5];
-      register_static_object(&once_value_10);
-    } else fra.me.REG[5] = once_value_10;
-    fra.me.REG[5] = fra.me.REG[5];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
-    CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
-  } else {
-    /* analysis/icode_dump.nit:204 */
-    REGB0 = TAG_Int(9);
-    fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_11) {
-      fra.me.REG[5] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[5] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[5])(fra.me.REG[5], REGB0);
-      once_value_11 = fra.me.REG[5];
-      register_static_object(&once_value_11);
-    } else fra.me.REG[5] = once_value_11;
-    fra.me.REG[5] = fra.me.REG[5];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
-    if (!once_value_12) {
-      fra.me.REG[4] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
-      once_value_12 = fra.me.REG[4];
-      register_static_object(&once_value_12);
-    } else fra.me.REG[4] = once_value_12;
-    fra.me.REG[4] = fra.me.REG[4];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
-    fra.me.REG[2] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
-    if (!once_value_13) {
-      fra.me.REG[2] = BOX_NativeString(" := ");
-      REGB0 = TAG_Int(4);
-      fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-      once_value_13 = fra.me.REG[2];
-      register_static_object(&once_value_13);
-    } else fra.me.REG[2] = once_value_13;
-    fra.me.REG[2] = fra.me.REG[2];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
-    fra.me.REG[0] = CALL_analysis___icode_dump___ICode___dump_intern(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
-    if (!once_value_14) {
-      fra.me.REG[0] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-      once_value_14 = fra.me.REG[0];
-      register_static_object(&once_value_14);
-    } else fra.me.REG[0] = once_value_14;
-    fra.me.REG[0] = fra.me.REG[0];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
-    if (!once_value_15) {
-      fra.me.REG[3] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-      once_value_15 = fra.me.REG[3];
-      register_static_object(&once_value_15);
-    } else fra.me.REG[3] = once_value_15;
-    fra.me.REG[3] = fra.me.REG[3];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
-    fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
-    CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
-  }
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_analysis___icode_dump___ICode___dump_intern[] = "icode_dump::ICode::dump_intern";
-val_t analysis___icode_dump___ICode___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 208;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICode___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:209 */
-  if (!once_value_1) {
-    fra.me.REG[1] = BOX_NativeString("???");
-    REGB0 = TAG_Int(3);
-    fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
-    once_value_1 = fra.me.REG[1];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[1] = once_value_1;
-  fra.me.REG[1] = fra.me.REG[1];
-  goto label2;
-  label2: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-static const char LOCATE_analysis___icode_dump___ICodeN___dump[] = "icode_dump::ICodeN::(icode_dump::ICode::dump)";
-void analysis___icode_dump___ICodeN___dump(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 213;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICodeN___dump;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:213 */
-  fra.me.REG[2] = fra.me.REG[0];
-  fra.me.REG[3] = fra.me.REG[1];
-  /* analysis/icode_dump.nit:215 */
-  CALL_SUPER_analysis___icode_dump___ICodeN___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* analysis/icode_dump.nit:216 */
-  fra.me.REG[2] = CALL_icode___icode_base___ICodeN___closure_defs(fra.me.REG[2])(fra.me.REG[2]);
-  /* analysis/icode_dump.nit:217 */
-  REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-    /* analysis/icode_dump.nit:218 */
-    REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
-    if (UNTAG_Bool(REGB0)) {
-      nit_abort("Reciever is null", NULL, LOCATE_analysis___icode_dump, 218);
-    }
-    CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_analysis___icode_dump___ICodeN___dump_1));
-  }
-  stack_frame_head = fra.me.prev;
-  return;
-}
-    void OC_analysis___icode_dump___ICodeN___dump_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-      struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-      val_t REGB0;
-      val_t REGB1;
-      fun_t CREG[1];
-      val_t tmp;
-        static val_t once_value_2; /* Once value */
-        static val_t once_value_3; /* Once value */
-      fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-      fra.me.file = LOCATE_analysis___icode_dump;
-      fra.me.line = 0;
-      fra.me.meth = LOCATE_analysis___icode_dump___ICodeN___dump;
-      fra.me.has_broke = 0;
-      fra.me.REG_size = 2;
-      fra.me.nitni_local_ref_head = NULL;
-      fra.me.REG[0] = NIT_NULL;
-      fra.me.REG[1] = NIT_NULL;
-      fra.me.closure_ctx = closctx_param;
-      fra.me.closure_funs = CREG;
-      fra.me.REG[0] = p0;
-      CREG[0] = clos_fun0;
-      /* analysis/icode_dump.nit:219 */
-      REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-      if (UNTAG_Bool(REGB0)) {
-      } else {
-        REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-        if (UNTAG_Bool(REGB1)) {
-          REGB1 = TAG_Bool(0);
-          REGB0 = REGB1;
-        } else {
-          REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
-          REGB0 = REGB1;
-        }
-      }
-      if (UNTAG_Bool(REGB0)) {
-        /* analysis/icode_dump.nit:220 */
-        if (!once_value_2) {
-          fra.me.REG[1] = BOX_NativeString("CLOSURE = NULL");
-          REGB0 = TAG_Int(14);
-          fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
-          once_value_2 = fra.me.REG[1];
-          register_static_object(&once_value_2);
-        } else fra.me.REG[1] = once_value_2;
-        fra.me.REG[1] = fra.me.REG[1];
-        CALL_analysis___icode_dump___ICodeDumper___write(closctx->REG[3])(closctx->REG[3], fra.me.REG[1]);
-      } else {
-        /* analysis/icode_dump.nit:222 */
-        if (!once_value_3) {
-          fra.me.REG[1] = BOX_NativeString("CLOSURE");
-          REGB0 = TAG_Int(7);
-          fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
-          once_value_3 = fra.me.REG[1];
-          register_static_object(&once_value_3);
-        } else fra.me.REG[1] = once_value_3;
-        fra.me.REG[1] = fra.me.REG[1];
-        CALL_analysis___icode_dump___ICodeDumper___write(closctx->REG[3])(closctx->REG[3], fra.me.REG[1]);
-        /* analysis/icode_dump.nit:223 */
-        CALL_analysis___icode_dump___ICodeDumper___indent(closctx->REG[3])(closctx->REG[3]);
-        /* analysis/icode_dump.nit:224 */
-        REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-        if (UNTAG_Bool(REGB0)) {
-          nit_abort("Reciever is null", NULL, LOCATE_analysis___icode_dump, 224);
-        }
-        CALL_analysis___icode_dump___IRoutine___dump(fra.me.REG[0])(fra.me.REG[0], closctx->REG[3]);
-        /* analysis/icode_dump.nit:225 */
-        CALL_analysis___icode_dump___ICodeDumper___unindent(closctx->REG[3])(closctx->REG[3]);
-      }
-      stack_frame_head = fra.me.prev;
-      return;
-    }
-static const char LOCATE_analysis___icode_dump___ISeq___dump[] = "icode_dump::ISeq::(icode_dump::ICode::dump)";
-void analysis___icode_dump___ISeq___dump(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-    static val_t once_value_2; /* Once value */
-    static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 233;
-  fra.me.meth = LOCATE_analysis___icode_dump___ISeq___dump;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:235 */
-  fra.me.REG[2] = CALL_icode___icode_base___ISeq___icodes(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_analysis___icode_dump___ISeq___dump_1));
-  /* analysis/icode_dump.nit:238 */
-  fra.me.REG[0] = CALL_icode___icode_base___ISeq___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
-  /* analysis/icode_dump.nit:239 */
-  REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-    REGB0 = CALL_analysis___icode_dump___ICodeDumper___has_lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  } else {
-    REGB1 = TAG_Bool(0);
-    REGB0 = REGB1;
-  }
-  if (UNTAG_Bool(REGB0)) {
-    REGB0 = TAG_Int(3);
-    fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_2) {
-      fra.me.REG[3] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-      once_value_2 = fra.me.REG[3];
-      register_static_object(&once_value_2);
-    } else fra.me.REG[3] = once_value_2;
-    fra.me.REG[3] = fra.me.REG[3];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-    if (!once_value_3) {
-      fra.me.REG[0] = BOX_NativeString(":");
-      REGB0 = TAG_Int(1);
-      fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-      once_value_3 = fra.me.REG[0];
-      register_static_object(&once_value_3);
-    } else fra.me.REG[0] = once_value_3;
-    fra.me.REG[0] = fra.me.REG[0];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-    fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-    CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  }
-  stack_frame_head = fra.me.prev;
-  return;
-}
-  void OC_analysis___icode_dump___ISeq___dump_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    fun_t CREG[1];
-    val_t tmp;
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_analysis___icode_dump;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_analysis___icode_dump___ISeq___dump;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    /* analysis/icode_dump.nit:236 */
-    CALL_analysis___icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-static const char LOCATE_analysis___icode_dump___IIf___dump[] = "icode_dump::IIf::(icode_dump::ICode::dump)";
-void analysis___icode_dump___IIf___dump(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  static val_t once_value_4; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 244;
-  fra.me.meth = LOCATE_analysis___icode_dump___IIf___dump;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:246 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("IF(");
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString(") {");
-    REGB0 = TAG_Int(3);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* analysis/icode_dump.nit:247 */
-  CALL_analysis___icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* analysis/icode_dump.nit:248 */
-  fra.me.REG[2] = CALL_icode___icode_base___IIf___then_seq(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_analysis___icode_dump___ICode___dump(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  /* analysis/icode_dump.nit:249 */
-  CALL_analysis___icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* analysis/icode_dump.nit:250 */
-  if (!once_value_3) {
-    fra.me.REG[2] = BOX_NativeString("} ELSE {");
-    REGB0 = TAG_Int(8);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_3 = fra.me.REG[2];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[2] = once_value_3;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* analysis/icode_dump.nit:251 */
-  CALL_analysis___icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* analysis/icode_dump.nit:252 */
-  fra.me.REG[0] = CALL_icode___icode_base___IIf___else_seq(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_analysis___icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* analysis/icode_dump.nit:253 */
-  CALL_analysis___icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* analysis/icode_dump.nit:254 */
-  if (!once_value_4) {
-    fra.me.REG[0] = BOX_NativeString("}");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_4 = fra.me.REG[0];
-    register_static_object(&once_value_4);
-  } else fra.me.REG[0] = once_value_4;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_analysis___icode_dump___ILoop___dump[] = "icode_dump::ILoop::(icode_dump::ICode::dump)";
-void analysis___icode_dump___ILoop___dump(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_3; /* Once value */
-    static val_t once_value_4; /* Once value */
-    static val_t once_value_5; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 259;
-  fra.me.meth = LOCATE_analysis___icode_dump___ILoop___dump;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:261 */
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("LOOP {");
-    REGB0 = TAG_Int(6);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* analysis/icode_dump.nit:262 */
-  CALL_analysis___icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* analysis/icode_dump.nit:263 */
-  fra.me.REG[2] = CALL_icode___icode_base___ISeq___icodes(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_analysis___icode_dump___ILoop___dump_2));
-  /* analysis/icode_dump.nit:266 */
-  CALL_analysis___icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* analysis/icode_dump.nit:267 */
-  if (!once_value_3) {
-    fra.me.REG[2] = BOX_NativeString("}");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_3 = fra.me.REG[2];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[2] = once_value_3;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  /* analysis/icode_dump.nit:268 */
-  fra.me.REG[0] = CALL_icode___icode_base___ISeq___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
-  /* analysis/icode_dump.nit:269 */
-  REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
-  if (UNTAG_Bool(REGB0)) {
-    REGB0 = CALL_analysis___icode_dump___ICodeDumper___has_lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  } else {
-    REGB1 = TAG_Bool(0);
-    REGB0 = REGB1;
-  }
-  if (UNTAG_Bool(REGB0)) {
-    REGB0 = TAG_Int(3);
-    fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-    if (!once_value_4) {
-      fra.me.REG[3] = BOX_NativeString("");
-      REGB0 = TAG_Int(0);
-      fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-      once_value_4 = fra.me.REG[3];
-      register_static_object(&once_value_4);
-    } else fra.me.REG[3] = once_value_4;
-    fra.me.REG[3] = fra.me.REG[3];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-    fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-    if (!once_value_5) {
-      fra.me.REG[0] = BOX_NativeString(":");
-      REGB0 = TAG_Int(1);
-      fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-      once_value_5 = fra.me.REG[0];
-      register_static_object(&once_value_5);
-    } else fra.me.REG[0] = once_value_5;
-    fra.me.REG[0] = fra.me.REG[0];
-    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-    fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-    CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  }
-  stack_frame_head = fra.me.prev;
-  return;
-}
-  void OC_analysis___icode_dump___ILoop___dump_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
-    struct {struct stack_frame_t me;} fra;
-    fun_t CREG[1];
-    val_t tmp;
-    fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-    fra.me.file = LOCATE_analysis___icode_dump;
-    fra.me.line = 0;
-    fra.me.meth = LOCATE_analysis___icode_dump___ILoop___dump;
-    fra.me.has_broke = 0;
-    fra.me.REG_size = 1;
-    fra.me.nitni_local_ref_head = NULL;
-    fra.me.REG[0] = NIT_NULL;
-    fra.me.closure_ctx = closctx_param;
-    fra.me.closure_funs = CREG;
-    fra.me.REG[0] = p0;
-    CREG[0] = clos_fun0;
-    /* analysis/icode_dump.nit:264 */
-    CALL_analysis___icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
-    stack_frame_head = fra.me.prev;
-    return;
-  }
-static const char LOCATE_analysis___icode_dump___IEscape___dump_intern[] = "icode_dump::IEscape::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IEscape___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 274;
-  fra.me.meth = LOCATE_analysis___icode_dump___IEscape___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:276 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("ESCAPE ");
-    REGB0 = TAG_Int(7);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___IEscape___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IAbort___dump_intern[] = "icode_dump::IAbort::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IAbort___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 281;
-  fra.me.meth = LOCATE_analysis___icode_dump___IAbort___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:283 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("ABORT (\"");
-    REGB0 = TAG_Int(8);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  fra.me.REG[0] = CALL_icode___icode_base___IAbort___texts(fra.me.REG[0])(fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[2] = BOX_NativeString("\", \"");
-    REGB0 = TAG_Int(4);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_2 = fra.me.REG[2];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[2] = once_value_2;
-  fra.me.REG[2] = fra.me.REG[2];
-  fra.me.REG[2] = CALL_standard___string___Collection___join(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  if (!once_value_3) {
-    fra.me.REG[2] = BOX_NativeString("\")");
-    REGB0 = TAG_Int(2);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_3 = fra.me.REG[2];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[2] = once_value_3;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-static const char LOCATE_analysis___icode_dump___ICall___dump_intern[] = "icode_dump::ICall::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___ICall___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 288;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICall___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:290 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("CALL ");
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___INew___dump_intern[] = "icode_dump::INew::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___INew___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  static val_t once_value_4; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 295;
-  fra.me.meth = LOCATE_analysis___icode_dump___INew___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:297 */
-  REGB0 = TAG_Int(7);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("NEW ");
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___INew___stype(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString(".");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_3) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_3 = fra.me.REG[3];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[3] = once_value_3;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_4) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_4 = fra.me.REG[0];
-    register_static_object(&once_value_4);
-  } else fra.me.REG[0] = once_value_4;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label5;
-  label5: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___ISuper___dump_intern[] = "icode_dump::ISuper::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___ISuper___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 302;
-  fra.me.meth = LOCATE_analysis___icode_dump___ISuper___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:304 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("SUPER ");
-    REGB0 = TAG_Int(6);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IStaticCall___dump_intern[] = "icode_dump::IStaticCall::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IStaticCall___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 309;
-  fra.me.meth = LOCATE_analysis___icode_dump___IStaticCall___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:311 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("STATIC_CALL ");
-    REGB0 = TAG_Int(12);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IAllocateInstance___dump_intern[] = "icode_dump::IAllocateInstance::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IAllocateInstance___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 316;
-  fra.me.meth = LOCATE_analysis___icode_dump___IAllocateInstance___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:318 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("ALLOCATE NEW_");
-    REGB0 = TAG_Int(13);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  fra.me.REG[0] = CALL_icode___icode_base___IAllocateInstance___stype(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-static const char LOCATE_analysis___icode_dump___ICheckInstance___dump_intern[] = "icode_dump::ICheckInstance::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___ICheckInstance___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 323;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICheckInstance___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:325 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("CHECK_INSTANCE CHECKNEW_");
-    REGB0 = TAG_Int(24);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___ICheckInstance___stype(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IInitAttributes___dump_intern[] = "icode_dump::IInitAttributes::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IInitAttributes___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 330;
-  fra.me.meth = LOCATE_analysis___icode_dump___IInitAttributes___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:332 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("INIT_ATTRIBUTES INIT_ATTRIBUTES_");
-    REGB0 = TAG_Int(32);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IInitAttributes___stype(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IClosCall___dump_intern[] = "icode_dump::IClosCall::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IClosCall___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 337;
-  fra.me.meth = LOCATE_analysis___icode_dump___IClosCall___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:339 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("CLOS_CALL ");
-    REGB0 = TAG_Int(10);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IClosCall___closure_decl(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_analysis___icode_dump___ICodeDumper___closdecl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IAttrRead___dump_intern[] = "icode_dump::IAttrRead::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IAttrRead___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 344;
-  fra.me.meth = LOCATE_analysis___icode_dump___IAttrRead___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:346 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("ATTR_READ ");
-    REGB0 = TAG_Int(10);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IAttrRead___property(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IAttrWrite___dump_intern[] = "icode_dump::IAttrWrite::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IAttrWrite___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  static val_t once_value_4; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 351;
-  fra.me.meth = LOCATE_analysis___icode_dump___IAttrWrite___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:353 */
-  REGB0 = TAG_Int(7);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("ATTR_WRITE ");
-    REGB0 = TAG_Int(11);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IAttrWrite___property(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_3) {
-    fra.me.REG[3] = BOX_NativeString(") := ");
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_3 = fra.me.REG[3];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[3] = once_value_3;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_4) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_4 = fra.me.REG[0];
-    register_static_object(&once_value_4);
-  } else fra.me.REG[0] = once_value_4;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label5;
-  label5: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IAttrIsset___dump_intern[] = "icode_dump::IAttrIsset::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IAttrIsset___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 358;
-  fra.me.meth = LOCATE_analysis___icode_dump___IAttrIsset___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:360 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("ATTR_ISSET ");
-    REGB0 = TAG_Int(11);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___IAttrIsset___property(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("(");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___ITypeCheck___dump_intern[] = "icode_dump::ITypeCheck::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___ITypeCheck___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 365;
-  fra.me.meth = LOCATE_analysis___icode_dump___ITypeCheck___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:367 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("CHECKTYPE ");
-    REGB0 = TAG_Int(10);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString(" isa ");
-    REGB0 = TAG_Int(5);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ITypeCheck___stype(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___INative___dump_intern[] = "icode_dump::INative::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___INative___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 372;
-  fra.me.meth = LOCATE_analysis___icode_dump___INative___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:374 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("NATIVE \"");
-    REGB0 = TAG_Int(8);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString("\"(");
-    REGB0 = TAG_Int(2);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString(")");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IIntValue___dump_intern[] = "icode_dump::IIntValue::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IIntValue___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 379;
-  fra.me.meth = LOCATE_analysis___icode_dump___IIntValue___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:381 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("INTVALUE ");
-    REGB0 = TAG_Int(9);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  fra.me.REG[0] = CALL_icode___icode_base___IIntValue___value(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-static const char LOCATE_analysis___icode_dump___IBoolValue___dump_intern[] = "icode_dump::IBoolValue::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IBoolValue___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 386;
-  fra.me.meth = LOCATE_analysis___icode_dump___IBoolValue___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:388 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("BOOLVALUE ");
-    REGB0 = TAG_Int(10);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  REGB0 = CALL_icode___icode_base___IBoolValue___value(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-static const char LOCATE_analysis___icode_dump___IStringValue___dump_intern[] = "icode_dump::IStringValue::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IStringValue___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 393;
-  fra.me.meth = LOCATE_analysis___icode_dump___IStringValue___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:395 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("STRINGVALUE ");
-    REGB0 = TAG_Int(12);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  fra.me.REG[0] = CALL_icode___icode_base___IStringValue___value(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-static const char LOCATE_analysis___icode_dump___ICharValue___dump_intern[] = "icode_dump::ICharValue::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___ICharValue___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 400;
-  fra.me.meth = LOCATE_analysis___icode_dump___ICharValue___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:402 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("CHARVALUE ");
-    REGB0 = TAG_Int(10);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICharValue___value(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-static const char LOCATE_analysis___icode_dump___IFloatValue___dump_intern[] = "icode_dump::IFloatValue::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IFloatValue___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 407;
-  fra.me.meth = LOCATE_analysis___icode_dump___IFloatValue___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:409 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("FLOATVALUE ");
-    REGB0 = TAG_Int(11);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  fra.me.REG[0] = CALL_icode___icode_base___IFloatValue___value(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[1];
-}
-static const char LOCATE_analysis___icode_dump___IMove___dump_intern[] = "icode_dump::IMove::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IMove___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 414;
-  fra.me.meth = LOCATE_analysis___icode_dump___IMove___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:416 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IIs___dump_intern[] = "icode_dump::IIs::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IIs___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 421;
-  fra.me.meth = LOCATE_analysis___icode_dump___IIs___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:423 */
-  REGB0 = TAG_Int(5);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_icode___icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[3] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  if (!once_value_2) {
-    fra.me.REG[3] = BOX_NativeString(" is ");
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_2 = fra.me.REG[3];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[3] = once_value_2;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_3) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_3 = fra.me.REG[0];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[0] = once_value_3;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label4;
-  label4: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___INot___dump_intern[] = "icode_dump::INot::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___INot___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 428;
-  fra.me.meth = LOCATE_analysis___icode_dump___INot___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:430 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("NOT ");
-    REGB0 = TAG_Int(4);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}
-static const char LOCATE_analysis___icode_dump___IOnce___dump[] = "icode_dump::IOnce::(icode_dump::ICode::dump)";
-void analysis___icode_dump___IOnce___dump(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  static val_t once_value_3; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 435;
-  fra.me.meth = LOCATE_analysis___icode_dump___IOnce___dump;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 5;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:435 */
-  fra.me.REG[2] = fra.me.REG[0];
-  /* analysis/icode_dump.nit:437 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[4] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
-    once_value_1 = fra.me.REG[4];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[4] = once_value_1;
-  fra.me.REG[4] = fra.me.REG[4];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-  fra.me.REG[4] = CALL_icode___icode_base___ICode___result(fra.me.REG[2])(fra.me.REG[2]);
-  REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_icode___icode_base___IRegister, ID_icode___icode_base___IRegister)) /*cast IRegister*/;
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Cast failed", NULL, LOCATE_analysis___icode_dump, 437);
-  }
-  fra.me.REG[4] = CALL_analysis___icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-  if (!once_value_2) {
-    fra.me.REG[4] = BOX_NativeString(" := ONCE {");
-    REGB0 = TAG_Int(10);
-    fra.me.REG[4] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[4])(fra.me.REG[4], REGB0);
-    once_value_2 = fra.me.REG[4];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[4] = once_value_2;
-  fra.me.REG[4] = fra.me.REG[4];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
-  fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
-  CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
-  /* analysis/icode_dump.nit:438 */
-  CALL_analysis___icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
-  /* analysis/icode_dump.nit:439 */
-  fra.me.REG[2] = CALL_icode___icode_base___IOnce___body(fra.me.REG[2])(fra.me.REG[2]);
-  CALL_analysis___icode_dump___ICode___dump(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  /* analysis/icode_dump.nit:440 */
-  CALL_analysis___icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
-  /* analysis/icode_dump.nit:441 */
-  if (!once_value_3) {
-    fra.me.REG[2] = BOX_NativeString("}");
-    REGB0 = TAG_Int(1);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_3 = fra.me.REG[2];
-    register_static_object(&once_value_3);
-  } else fra.me.REG[2] = once_value_3;
-  fra.me.REG[2] = fra.me.REG[2];
-  CALL_analysis___icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_analysis___icode_dump___IHasClos___dump_intern[] = "icode_dump::IHasClos::(icode_dump::ICode::dump_intern)";
-val_t analysis___icode_dump___IHasClos___dump_intern(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-  static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_analysis___icode_dump;
-  fra.me.line = 446;
-  fra.me.meth = LOCATE_analysis___icode_dump___IHasClos___dump_intern;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  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[0] = p0;
-  fra.me.REG[1] = p1;
-  /* analysis/icode_dump.nit:448 */
-  REGB0 = TAG_Int(3);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  if (!once_value_1) {
-    fra.me.REG[3] = BOX_NativeString("HASCLOS ");
-    REGB0 = TAG_Int(8);
-    fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0);
-    once_value_1 = fra.me.REG[3];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[3] = once_value_1;
-  fra.me.REG[3] = fra.me.REG[3];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[0] = CALL_icode___icode_base___IHasClos___closure_decl(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[0] = CALL_analysis___icode_dump___ICodeDumper___closdecl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  if (!once_value_2) {
-    fra.me.REG[0] = BOX_NativeString("");
-    REGB0 = TAG_Int(0);
-    fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0);
-    once_value_2 = fra.me.REG[0];
-    register_static_object(&once_value_2);
-  } else fra.me.REG[0] = once_value_2;
-  fra.me.REG[0] = fra.me.REG[0];
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
-  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
-  goto label3;
-  label3: while(0);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[2];
-}