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
.REG
[0] = NIT_NULL
;
18 fra
.me
.REG
[1] = NIT_NULL
;
20 /* ./../lib/standard//environ.nit:24 */
21 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
22 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
23 fra
.me
.REG
[0] = CALL_standard___environ___NativeString___get_environ(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
24 /* ./../lib/standard//environ.nit:26 */
27 fra
.me
.REG
[1] = BOX_NativeString("");
29 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
30 once_value_2
= fra
.me
.REG
[1];
31 register_static_object(&once_value_2
);
32 } else fra
.me
.REG
[1] = once_value_2
;
33 fra
.me
.REG
[1] = fra
.me
.REG
[1];
34 fra
.me
.REG
[1] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
35 fra
.me
.REG
[1] = CALL_standard___environ___NativeString___get_environ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
36 once_value_1
= fra
.me
.REG
[1];
37 register_static_object(&once_value_1
);
38 } else fra
.me
.REG
[1] = once_value_1
;
39 fra
.me
.REG
[1] = fra
.me
.REG
[1];
40 /* ./../lib/standard//environ.nit:27 */
41 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[1]));
42 if (UNTAG_Bool(REGB0
)) {
44 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
47 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
48 if (UNTAG_Bool(REGB0
)) {
49 /* ./../lib/standard//environ.nit:28 */
50 fra
.me
.REG
[0] = NEW_String_standard___string___String___from_cstring(fra
.me
.REG
[0]);
53 /* ./../lib/standard//environ.nit:30 */
55 fra
.me
.REG
[1] = BOX_NativeString("");
57 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
58 once_value_4
= fra
.me
.REG
[1];
59 register_static_object(&once_value_4
);
60 } else fra
.me
.REG
[1] = once_value_4
;
61 fra
.me
.REG
[1] = fra
.me
.REG
[1];
62 fra
.me
.REG
[0] = fra
.me
.REG
[1];
66 stack_frame_head
= fra
.me
.prev
;
69 val_t
standard___environ___NativeString___get_environ(val_t p0
){
70 struct {struct stack_frame_t me
;} fra
;
72 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
73 fra
.me
.file
= LOCATE_standard___environ
;
75 fra
.me
.meth
= LOCATE_standard___environ___NativeString___get_environ
;
78 fra
.me
.REG
[0] = NIT_NULL
;
80 /* ./../lib/standard//environ.nit:36 */
81 fra
.me
.REG
[0] = NativeString_get_environ___out(fra
.me
.REG
[0]);
82 stack_frame_head
= fra
.me
.prev
;