1 /* This C file is generated by NIT to compile module environ. */
2 #include "environ._sep.h"
3 val_t
environ___Symbol___environ(val_t p0
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} 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_3
; /* Once value */
11 static val_t once_value_4
; /* Once value */
12 static val_t once_value_6
; /* Once value */
13 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
14 fra
.me
.file
= LOCATE_environ
;
16 fra
.me
.meth
= LOCATE_environ___Symbol___environ
;
19 fra
.me
.REG
[0] = NIT_NULL
;
20 fra
.me
.REG
[1] = NIT_NULL
;
21 fra
.me
.REG
[2] = NIT_NULL
;
22 fra
.me
.REG
[3] = NIT_NULL
;
24 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
25 fra
.me
.REG
[1] = CALL_string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
26 fra
.me
.REG
[1] = CALL_environ___NativeString___get_environ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
27 /* ./../lib/standard//environ.nit:24 */
30 fra
.me
.REG
[2] = BOX_NativeString("");
32 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
33 once_value_2
= fra
.me
.REG
[2];
34 register_static_object(&once_value_2
);
35 } else fra
.me
.REG
[2] = once_value_2
;
36 fra
.me
.REG
[2] = CALL_string___String___to_cstring(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
37 fra
.me
.REG
[2] = CALL_environ___NativeString___get_environ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
38 once_value_1
= fra
.me
.REG
[2];
39 register_static_object(&once_value_1
);
40 } else fra
.me
.REG
[2] = once_value_1
;
41 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
42 /* ./../lib/standard//environ.nit:25 */
43 if (UNTAG_Bool(REGB0
)) {
45 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
48 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
49 if (UNTAG_Bool(REGB0
)) {
51 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
52 /* ./../lib/standard//environ.nit:26 */
54 fra
.me
.REG
[3] = BOX_NativeString("env ");
56 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
57 once_value_3
= fra
.me
.REG
[3];
58 register_static_object(&once_value_3
);
59 } else fra
.me
.REG
[3] = once_value_3
;
60 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
61 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
62 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
64 fra
.me
.REG
[0] = BOX_NativeString("=");
66 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
67 once_value_4
= fra
.me
.REG
[0];
68 register_static_object(&once_value_4
);
69 } else fra
.me
.REG
[0] = once_value_4
;
70 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
71 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
72 CALL_kernel___Object___output(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
73 /* ./../lib/standard//environ.nit:27 */
74 CALL_kernel___Object___output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
75 fra
.me
.REG
[1] = NEW_String_string___String___from_cstring(fra
.me
.REG
[1]);
76 /* ./../lib/standard//environ.nit:28 */
79 /* ./../lib/standard//environ.nit:30 */
81 fra
.me
.REG
[2] = BOX_NativeString("");
83 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
84 once_value_6
= fra
.me
.REG
[2];
85 register_static_object(&once_value_6
);
86 } else fra
.me
.REG
[2] = once_value_6
;
87 fra
.me
.REG
[1] = fra
.me
.REG
[2];
91 stack_frame_head
= fra
.me
.prev
;
94 val_t
environ___NativeString___get_environ(val_t p0
){
95 struct {struct stack_frame_t me
;} fra
;
97 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
98 fra
.me
.file
= LOCATE_environ
;
100 fra
.me
.meth
= LOCATE_environ___NativeString___get_environ
;
101 fra
.me
.has_broke
= 0;
103 fra
.me
.REG
[0] = NIT_NULL
;
105 fra
.me
.REG
[0] = BOX_NativeString(string_NativeString_NativeString_get_environ_0(UNBOX_NativeString(fra
.me
.REG
[0])));
106 /* ./../lib/standard//environ.nit:36 */
107 stack_frame_head
= fra
.me
.prev
;
108 return fra
.me
.REG
[0];