X-Git-Url: http://nitlanguage.org diff --git a/c_src/environ._sep.c b/c_src/environ._sep.c index 4cb76b3..291c30f 100644 --- a/c_src/environ._sep.c +++ b/c_src/environ._sep.c @@ -1,84 +1,84 @@ /* This C file is generated by NIT to compile module environ. */ #include "environ._sep.h" -val_t environ___Symbol___environ(val_t self) { - struct trace_t trace = {NULL, LOCATE_environ___Symbol___environ, 19}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/ - ((environ___Symbol___environ_default__eq_t)CALL( self,COLOR_environ___Symbol___environ_default__eq))( self, variable0) /*Symbol::environ_default=*/; - variable0 = ((symbol___Symbol___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*Symbol::to_s*/; - variable0 = ((string___String___to_cstring_t)CALL(variable0,COLOR_string___String___to_cstring))(variable0) /*String::to_cstring*/; - variable0 = ((environ___NativeString___get_environ_t)CALL(variable0,COLOR_environ___NativeString___get_environ))(variable0) /*NativeString::get_environ*/; - variable1 = NEW_string___String___from_cstring(variable0); /*new String*/ - variable0 = variable1; - goto return_label0; - return_label0: while(false); - tracehead = trace.prev; - return variable0; +val_t environ___Symbol___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_environ; + fra.me.line = 19; + fra.me.meth = LOCATE_environ___Symbol___environ; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//environ.nit:22 */ + fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]); + fra.me.REG[0] = CALL_string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]); + fra.me.REG[0] = CALL_environ___NativeString___get_environ(fra.me.REG[0])(fra.me.REG[0]); + /* ./../lib/standard//environ.nit:24 */ + if (!once_value_1) { + if (!once_value_2) { + fra.me.REG[1] = BOX_NativeString(""); + REGB0 = TAG_Int(0); + fra.me.REG[1] = NEW_String_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_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]); + fra.me.REG[1] = CALL_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:25 */ + REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[1])); + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = CALL_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:26 */ + fra.me.REG[0] = NEW_String_string___String___from_cstring(fra.me.REG[0]); + goto label3; + } else { + /* ./../lib/standard//environ.nit:28 */ + if (!once_value_4) { + fra.me.REG[1] = BOX_NativeString(""); + REGB0 = TAG_Int(0); + fra.me.REG[1] = NEW_String_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]; } -void environ___Symbol___environ__eq(val_t self, val_t param0) { - struct trace_t trace = {NULL, LOCATE_environ___Symbol___environ__eq, 26}; - val_t variable0; - val_t variable1; - val_t variable2; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((symbol___Symbol___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*Symbol::to_s*/; - variable1 = ((string___String___to_cstring_t)CALL(variable1,COLOR_string___String___to_cstring))(variable1) /*String::to_cstring*/; - variable2 = ((string___String___to_cstring_t)CALL( variable0 /*v*/,COLOR_string___String___to_cstring))( variable0 /*v*/) /*String::to_cstring*/; - ((environ___NativeString___set_environ_t)CALL(variable1,COLOR_environ___NativeString___set_environ))(variable1, variable2, TAG_Int(1)) /*NativeString::set_environ*/; - tracehead = trace.prev; - return; -} -void environ___Symbol___environ_default__eq(val_t self, val_t param0) { - struct trace_t trace = {NULL, LOCATE_environ___Symbol___environ_default__eq, 29}; - val_t variable0; - val_t variable1; - val_t variable2; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((symbol___Symbol___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*Symbol::to_s*/; - variable1 = ((string___String___to_cstring_t)CALL(variable1,COLOR_string___String___to_cstring))(variable1) /*String::to_cstring*/; - variable2 = ((string___String___to_cstring_t)CALL( variable0 /*v*/,COLOR_string___String___to_cstring))( variable0 /*v*/) /*String::to_cstring*/; - ((environ___NativeString___set_environ_t)CALL(variable1,COLOR_environ___NativeString___set_environ))(variable1, variable2, TAG_Int(0)) /*NativeString::set_environ*/; - tracehead = trace.prev; - return; -} -void environ___Symbol___unset(val_t self) { - struct trace_t trace = {NULL, LOCATE_environ___Symbol___unset, 32}; - val_t variable0; - trace.prev = tracehead; tracehead = &trace; - variable0 = ((symbol___Symbol___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*Symbol::to_s*/; - variable0 = ((string___String___to_cstring_t)CALL(variable0,COLOR_string___String___to_cstring))(variable0) /*String::to_cstring*/; - ((environ___NativeString___unset_environ_t)CALL(variable0,COLOR_environ___NativeString___unset_environ))(variable0) /*NativeString::unset_environ*/; - tracehead = trace.prev; - return; -} -val_t environ___NativeString___get_environ(val_t self) { - struct trace_t trace = {NULL, LOCATE_environ___NativeString___get_environ, 37}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return BOX_NativeString(string_NativeString_NativeString_get_environ_0(UNBOX_NativeString( self))); -} -void environ___NativeString___put_environ(val_t self) { - struct trace_t trace = {NULL, LOCATE_environ___NativeString___put_environ, 39}; - trace.prev = tracehead; tracehead = &trace; - string_NativeString_NativeString_put_environ_0(UNBOX_NativeString( self)); - tracehead = trace.prev; - return; -} -void environ___NativeString___unset_environ(val_t self) { - struct trace_t trace = {NULL, LOCATE_environ___NativeString___unset_environ, 40}; - trace.prev = tracehead; tracehead = &trace; - string_NativeString_NativeString_unset_environ_0(UNBOX_NativeString( self)); - tracehead = trace.prev; - return; -} -void environ___NativeString___set_environ(val_t self, val_t param0, val_t param1) { - struct trace_t trace = {NULL, LOCATE_environ___NativeString___set_environ, 41}; - trace.prev = tracehead; tracehead = &trace; - string_NativeString_NativeString_set_environ_2(UNBOX_NativeString( self), UNBOX_NativeString( param0), UNTAG_Int( param1)); - tracehead = trace.prev; - return; +val_t environ___NativeString___get_environ(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_environ; + fra.me.line = 34; + fra.me.meth = LOCATE_environ___NativeString___get_environ; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//environ.nit:34 */ + fra.me.REG[0] = BOX_NativeString(string_NativeString_NativeString_get_environ_0(UNBOX_NativeString(fra.me.REG[0]))); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; }