1 /* This C file is generated by NIT to compile module standard___environ. */
2 #include "standard___environ._sep.h"
3 val_t
standard___environ___Symbol___environ(val_t p0
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8 static val_t once_value_1
; /* Once value */
9 static val_t once_value_2
; /* Once value */
10 static val_t once_value_4
; /* Once value */
11 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
12 fra
.me
.file
= LOCATE_standard___environ
;
14 fra
.me
.meth
= LOCATE_standard___environ___Symbol___environ
;
17 fra
.me
.nitni_local_ref_head
= NULL
;
18 fra
.me
.REG
[0] = NIT_NULL
;
19 fra
.me
.REG
[1] = NIT_NULL
;
21 /* ../lib/standard/environ.nit:26 */
22 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
23 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
24 fra
.me
.REG
[0] = CALL_standard___environ___NativeString___get_environ(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
25 /* ../lib/standard/environ.nit:28 */
28 fra
.me
.REG
[1] = BOX_NativeString("");
30 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
31 once_value_2
= fra
.me
.REG
[1];
32 register_static_object(&once_value_2
);
33 } else fra
.me
.REG
[1] = once_value_2
;
34 fra
.me
.REG
[1] = fra
.me
.REG
[1];
35 fra
.me
.REG
[1] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
36 fra
.me
.REG
[1] = CALL_standard___environ___NativeString___get_environ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
37 once_value_1
= fra
.me
.REG
[1];
38 register_static_object(&once_value_1
);
39 } else fra
.me
.REG
[1] = once_value_1
;
40 fra
.me
.REG
[1] = fra
.me
.REG
[1];
41 /* ../lib/standard/environ.nit:29 */
42 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[1]));
43 if (UNTAG_Bool(REGB0
)) {
45 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
48 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
49 if (UNTAG_Bool(REGB0
)) {
50 /* ../lib/standard/environ.nit:30 */
51 fra
.me
.REG
[0] = NEW_String_standard___string___String___from_cstring(fra
.me
.REG
[0]);
54 /* ../lib/standard/environ.nit:32 */
56 fra
.me
.REG
[1] = BOX_NativeString("");
58 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
59 once_value_4
= fra
.me
.REG
[1];
60 register_static_object(&once_value_4
);
61 } else fra
.me
.REG
[1] = once_value_4
;
62 fra
.me
.REG
[1] = fra
.me
.REG
[1];
63 fra
.me
.REG
[0] = fra
.me
.REG
[1];
67 stack_frame_head
= fra
.me
.prev
;
70 val_t
standard___environ___NativeString___get_environ(val_t p0
){
71 struct {struct stack_frame_t me
;} fra
;
73 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
74 fra
.me
.file
= LOCATE_standard___environ
;
76 fra
.me
.meth
= LOCATE_standard___environ___NativeString___get_environ
;
79 fra
.me
.nitni_local_ref_head
= NULL
;
80 fra
.me
.REG
[0] = NIT_NULL
;
82 /* ../lib/standard/environ.nit:38 */
83 fra
.me
.REG
[0] = NativeString_get_environ___out(fra
.me
.REG
[0]);
84 stack_frame_head
= fra
.me
.prev
;