update NOTICE and LICENSE
[nit.git] / c_src / environ._sep.c
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[1];} fra;
5 val_t REGB0;
6 val_t REGB1;
7 val_t tmp;
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_environ;
13 fra.me.line = 19;
14 fra.me.meth = LOCATE_environ___Symbol___environ;
15 fra.me.has_broke = 0;
16 fra.me.REG_size = 2;
17 fra.me.REG[0] = NIT_NULL;
18 fra.me.REG[1] = NIT_NULL;
19 fra.me.REG[0] = p0;
20 /* ./../lib/standard//environ.nit:22 */
21 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
22 fra.me.REG[0] = CALL_string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
23 fra.me.REG[0] = CALL_environ___NativeString___get_environ(fra.me.REG[0])(fra.me.REG[0]);
24 /* ./../lib/standard//environ.nit:24 */
25 if (!once_value_1) {
26 if (!once_value_2) {
27 fra.me.REG[1] = BOX_NativeString("");
28 REGB0 = TAG_Int(0);
29 fra.me.REG[1] = NEW_String_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_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
35 fra.me.REG[1] = CALL_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:25 */
41 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[1]));
42 if (UNTAG_Bool(REGB0)) {
43 } else {
44 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
45 REGB0 = REGB1;
46 }
47 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
48 if (UNTAG_Bool(REGB0)) {
49 /* ./../lib/standard//environ.nit:26 */
50 fra.me.REG[0] = NEW_String_string___String___from_cstring(fra.me.REG[0]);
51 goto label3;
52 } else {
53 /* ./../lib/standard//environ.nit:28 */
54 if (!once_value_4) {
55 fra.me.REG[1] = BOX_NativeString("");
56 REGB0 = TAG_Int(0);
57 fra.me.REG[1] = NEW_String_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];
63 goto label3;
64 }
65 label3: while(0);
66 stack_frame_head = fra.me.prev;
67 return fra.me.REG[0];
68 }
69 val_t environ___NativeString___get_environ(val_t p0){
70 struct {struct stack_frame_t me;} fra;
71 val_t tmp;
72 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73 fra.me.file = LOCATE_environ;
74 fra.me.line = 34;
75 fra.me.meth = LOCATE_environ___NativeString___get_environ;
76 fra.me.has_broke = 0;
77 fra.me.REG_size = 1;
78 fra.me.REG[0] = NIT_NULL;
79 fra.me.REG[0] = p0;
80 /* ./../lib/standard//environ.nit:34 */
81 fra.me.REG[0] = BOX_NativeString(string_NativeString_NativeString_get_environ_0(UNBOX_NativeString(fra.me.REG[0])));
82 stack_frame_head = fra.me.prev;
83 return fra.me.REG[0];
84 }