Пример #1
0
/* friendly for string::String::to_cstring */
char * file_String_to_cstring( String recv )
{
val_t recv___nit;
char * result___nitni;
val_t result___nit;
recv___nit = recv->ref.val;
result___nit = CALL_standard___string___String___to_cstring( recv___nit )( recv___nit );
result___nitni = UNBOX_NativeString(result___nit);
return result___nitni;
}
Пример #2
0
void standard___environ___String___setenv(val_t p0, val_t p1){
  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
  val_t tmp;
  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
  fra.me.file = LOCATE_standard___environ;
  fra.me.line = 35;
  fra.me.meth = LOCATE_standard___environ___String___setenv;
  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;
  /* ../lib/standard/environ.nit:35 */
  fra.me.REG[0] = CALL_standard___string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
  fra.me.REG[1] = CALL_standard___string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
  CALL_standard___environ___NativeString___setenv(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
  stack_frame_head = fra.me.prev;
  return;
}
Пример #3
0
val_t standard___environ___String___environ(val_t p0){
  struct {struct stack_frame_t me; val_t MORE_REG[1];} 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_4; /* Once value */
  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
  fra.me.file = LOCATE_standard___environ;
  fra.me.line = 22;
  fra.me.meth = LOCATE_standard___environ___String___environ;
  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;
  /* ../lib/standard/environ.nit:26 */
  fra.me.REG[0] = CALL_standard___string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
  fra.me.REG[0] = CALL_standard___environ___NativeString___get_environ(fra.me.REG[0])(fra.me.REG[0]);
  /* ../lib/standard/environ.nit:28 */
  if (!once_value_1) {
    if (!once_value_2) {
      fra.me.REG[1] = BOX_NativeString("");
      REGB0 = TAG_Int(0);
      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];
    fra.me.REG[1] = CALL_standard___string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
    fra.me.REG[1] = CALL_standard___environ___NativeString___get_environ(fra.me.REG[1])(fra.me.REG[1]);
    once_value_1 = fra.me.REG[1];
    register_static_object(&once_value_1);
  } else fra.me.REG[1] = once_value_1;
  fra.me.REG[1] = fra.me.REG[1];
  /* ../lib/standard/environ.nit:29 */
  REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[1]));
  if (UNTAG_Bool(REGB0)) {
  } else {
    REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
    REGB0 = REGB1;
  }
  REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
  if (UNTAG_Bool(REGB0)) {
    /* ../lib/standard/environ.nit:30 */
    fra.me.REG[0] = NEW_String_standard___string___String___from_cstring(fra.me.REG[0]);
    goto label3;
  } else {
    /* ../lib/standard/environ.nit:32 */
    if (!once_value_4) {
      fra.me.REG[1] = BOX_NativeString("");
      REGB0 = TAG_Int(0);
      fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
      once_value_4 = fra.me.REG[1];
      register_static_object(&once_value_4);
    } else fra.me.REG[1] = once_value_4;
    fra.me.REG[1] = fra.me.REG[1];
    fra.me.REG[0] = fra.me.REG[1];
    goto label3;
  }
  label3: while(0);
  stack_frame_head = fra.me.prev;
  return fra.me.REG[0];
}