void global___instantiated_type_analysis___Program___dump_instantiated_types(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_global___instantiated_type_analysis;
  fra.me.line = 26;
  fra.me.meth = LOCATE_global___instantiated_type_analysis___Program___dump_instantiated_types;
  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;
  /* global/instantiated_type_analysis.nit:28 */
  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] = NEW_String_standard___string___String___with_native(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]);
  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
  if (!once_value_2) {
    fra.me.REG[1] = BOX_NativeString("/");
    REGB0 = TAG_Int(1);
    fra.me.REG[1] = NEW_String_standard___string___String___with_native(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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
  fra.me.REG[1] = CALL_program___Program___main_module(fra.me.REG[0])(fra.me.REG[0]);
  fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[1])(fra.me.REG[1]);
  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
  if (!once_value_3) {
    fra.me.REG[1] = BOX_NativeString(".instantiated_types.log");
    REGB0 = TAG_Int(23);
    fra.me.REG[1] = NEW_String_standard___string___String___with_native(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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
  fra.me.REG[2] = NEW_OFStream_standard___file___OFStream___open(fra.me.REG[2]);
  CALL_program___Program___with_each_live_local_classes(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_global___instantiated_type_analysis___Program___dump_instantiated_types_4));
  /* global/instantiated_type_analysis.nit:32 */
  CALL_standard___stream___IOS___close(fra.me.REG[2])(fra.me.REG[2]);
  stack_frame_head = fra.me.prev;
  return;
}
Ejemplo n.º 2
0
void native_interface___MMSrcModule___compile_separate_module(val_t p0, val_t p1){
  struct {struct stack_frame_t me; val_t MORE_REG[6];} 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_native_interface;
  fra.me.line = 24;
  fra.me.meth = LOCATE_native_interface___MMSrcModule___compile_separate_module;
  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;
  /* native_interface/native_interface.nit:24 */
  fra.me.REG[2] = fra.me.REG[0];
  fra.me.REG[3] = fra.me.REG[1];
  /* native_interface/native_interface.nit:26 */
  REGB0 = CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid(fra.me.REG[2])(fra.me.REG[2]);
  if (UNTAG_Bool(REGB0)) {
    /* native_interface/native_interface.nit:27 */
    fra.me.REG[4] = NEW_FrontierVisitor_native_interface___frontier___FrontierVisitor___init(fra.me.REG[2], fra.me.REG[3]);
    /* native_interface/native_interface.nit:28 */
    CALL_native_interface___frontier___MMSrcModule___compile_frontier(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
    /* native_interface/native_interface.nit:30 */
    CALL_native_interface___frontier___FrontierVisitor___compile_cached(fra.me.REG[4])(fra.me.REG[4]);
    /* native_interface/native_interface.nit:32 */
    REGB0 = TAG_Int(5);
    fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
    if (!once_value_1) {
      fra.me.REG[6] = BOX_NativeString("");
      REGB0 = TAG_Int(0);
      fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB0);
      once_value_1 = fra.me.REG[6];
      register_static_object(&once_value_1);
    } else fra.me.REG[6] = once_value_1;
    fra.me.REG[6] = fra.me.REG[6];
    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
    fra.me.REG[3] = CALL_compiling___compiling_base___CProgram___compdir(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_2) {
      fra.me.REG[3] = BOX_NativeString("/");
      REGB0 = TAG_Int(1);
      fra.me.REG[3] = NEW_String_standard___string___String___with_native(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[5])(fra.me.REG[5], fra.me.REG[3]);
    fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[2])(fra.me.REG[2]);
    fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
    CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
    if (!once_value_3) {
      fra.me.REG[2] = BOX_NativeString("");
      REGB0 = TAG_Int(0);
      fra.me.REG[2] = NEW_String_standard___string___String___with_native(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[5])(fra.me.REG[5], fra.me.REG[2]);
    fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
    /* native_interface/native_interface.nit:33 */
    CALL_native_interface___frontier___FrontierVisitor___write_to_files(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
  }
  /* native_interface/native_interface.nit:36 */
  CALL_SUPER_native_interface___MMSrcModule___compile_separate_module(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
  stack_frame_head = fra.me.prev;
  return;
}
void global___remove_out_of_init_get_test___Program___dump_out_of_init_information(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 */
  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 */
  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
  fra.me.file = LOCATE_global___remove_out_of_init_get_test;
  fra.me.line = 39;
  fra.me.meth = LOCATE_global___remove_out_of_init_get_test___Program___dump_out_of_init_information;
  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;
  /* global/remove_out_of_init_get_test.nit:41 */
  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] = NEW_String_standard___string___String___with_native(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]);
  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
  if (!once_value_2) {
    fra.me.REG[1] = BOX_NativeString("/");
    REGB0 = TAG_Int(1);
    fra.me.REG[1] = NEW_String_standard___string___String___with_native(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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
  fra.me.REG[1] = CALL_program___Program___main_module(fra.me.REG[0])(fra.me.REG[0]);
  fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[1])(fra.me.REG[1]);
  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
  if (!once_value_3) {
    fra.me.REG[1] = BOX_NativeString(".out_of_init_opt.log");
    REGB0 = TAG_Int(20);
    fra.me.REG[1] = NEW_String_standard___string___String___with_native(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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
  fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
  fra.me.REG[2] = NEW_OFStream_standard___file___OFStream___open(fra.me.REG[2]);
  /* global/remove_out_of_init_get_test.nit:42 */
  REGB0 = TAG_Int(0);
  fra.me.REG[1] = REGB0;
  CALL_program___Program___with_each_iroutines(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_global___remove_out_of_init_get_test___Program___dump_out_of_init_information_4));
  /* global/remove_out_of_init_get_test.nit:50 */
  REGB0 = TAG_Int(3);
  fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
  if (!once_value_5) {
    fra.me.REG[4] = BOX_NativeString("Nb. optimized isset: ");
    REGB0 = TAG_Int(21);
    fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
    once_value_5 = fra.me.REG[4];
    register_static_object(&once_value_5);
  } else fra.me.REG[4] = once_value_5;
  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]);
  REGB0 = CALL_global___remove_out_of_init_get_test___Program___nb_optimized_isset(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[3])(fra.me.REG[3], fra.me.REG[0]);
  if (!once_value_6) {
    fra.me.REG[0] = BOX_NativeString("\n");
    REGB0 = TAG_Int(1);
    fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
    once_value_6 = fra.me.REG[0];
    register_static_object(&once_value_6);
  } else fra.me.REG[0] = once_value_6;
  fra.me.REG[0] = fra.me.REG[0];
  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
  fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
  CALL_standard___stream___OStream___write(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
  /* global/remove_out_of_init_get_test.nit:51 */
  REGB0 = TAG_Int(3);
  fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
  if (!once_value_7) {
    fra.me.REG[0] = BOX_NativeString("Nb. not optimized: ");
    REGB0 = TAG_Int(19);
    fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
    once_value_7 = fra.me.REG[0];
    register_static_object(&once_value_7);
  } else fra.me.REG[0] = once_value_7;
  fra.me.REG[0] = fra.me.REG[0];
  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
  fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
  if (!once_value_8) {
    fra.me.REG[1] = BOX_NativeString("\n");
    REGB0 = TAG_Int(1);
    fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
    once_value_8 = fra.me.REG[1];
    register_static_object(&once_value_8);
  } else fra.me.REG[1] = once_value_8;
  fra.me.REG[1] = fra.me.REG[1];
  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
  fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
  CALL_standard___stream___OStream___write(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
  /* global/remove_out_of_init_get_test.nit:53 */
  CALL_standard___stream___IOS___close(fra.me.REG[2])(fra.me.REG[2]);
  stack_frame_head = fra.me.prev;
  return;
}