README: add system configuration for OS X
[nit.git] / c_src / core__environ.sep.1.c
1 #include "core__environ.sep.0.h"
2 /* method environ#String#environ for (self: String): String */
3 val* core__environ___String___environ(val* self) {
4 val* var /* : String */;
5 char* var1 /* : NativeString */;
6 char* var2 /* : NativeString */;
7 char* var4 /* : NativeString */;
8 char* var_res /* var res: NativeString */;
9 static char* varonce;
10 static int varonce_guard;
11 char* var5 /* : NativeString */;
12 static val* varonce6;
13 val* var7 /* : String */;
14 char* var8 /* : NativeString */;
15 val* var9 /* : String */;
16 char* var10 /* : NativeString */;
17 char* var11 /* : NativeString */;
18 char* var13 /* : NativeString */;
19 char* var_nulstr /* var nulstr: NativeString */;
20 short int var14 /* : Bool */;
21 short int var16 /* : Bool */;
22 short int var17 /* : Bool */;
23 val* var18 /* : String */;
24 static val* varonce19;
25 val* var20 /* : String */;
26 char* var21 /* : NativeString */;
27 val* var22 /* : String */;
28 {
29 var1 = ((char*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__to_cstring]))(self); /* to_cstring on <self:String>*/
30 }
31 {
32 { /* Inline environ#NativeString#get_environ (var1) on <var1:NativeString> */
33 var4 = environ___NativeString_get_environ___impl(var1);
34 var2 = var4;
35 goto RET_LABEL3;
36 RET_LABEL3:(void)0;
37 }
38 }
39 var_res = var2;
40 if (likely(varonce_guard)) {
41 var5 = varonce;
42 } else {
43 if (likely(varonce6!=NULL)) {
44 var7 = varonce6;
45 } else {
46 var8 = "";
47 var9 = core__flat___NativeString___to_s_full(var8, 0l, 0l);
48 var7 = var9;
49 varonce6 = var7;
50 }
51 {
52 var10 = ((char*(*)(val* self))(var7->class->vft[COLOR_core__abstract_text__Text__to_cstring]))(var7); /* to_cstring on <var7:String>*/
53 }
54 {
55 { /* Inline environ#NativeString#get_environ (var10) on <var10:NativeString> */
56 var13 = environ___NativeString_get_environ___impl(var10);
57 var11 = var13;
58 goto RET_LABEL12;
59 RET_LABEL12:(void)0;
60 }
61 }
62 var5 = var11;
63 varonce = var5;
64 varonce_guard = 1;
65 }
66 var_nulstr = var5;
67 {
68 { /* Inline native#NativeString#!= (var_res,var_nulstr) on <var_res:NativeString> */
69 var16 = var_res == var_nulstr;
70 var17 = !var16;
71 var14 = var17;
72 goto RET_LABEL15;
73 RET_LABEL15:(void)0;
74 }
75 }
76 if (var14){
77 {
78 var18 = core__flat___NativeString___core__abstract_text__Object__to_s(var_res);
79 }
80 var = var18;
81 goto RET_LABEL;
82 } else {
83 if (likely(varonce19!=NULL)) {
84 var20 = varonce19;
85 } else {
86 var21 = "";
87 var22 = core__flat___NativeString___to_s_full(var21, 0l, 0l);
88 var20 = var22;
89 varonce19 = var20;
90 }
91 var = var20;
92 goto RET_LABEL;
93 }
94 RET_LABEL:;
95 return var;
96 }
97 /* method environ#NativeString#get_environ for (self: NativeString): NativeString */
98 char* core__environ___NativeString___get_environ(char* self) {
99 char* var /* : NativeString */;
100 char* var1 /* : NativeString */;
101 var1 = environ___NativeString_get_environ___impl(self);
102 var = var1;
103 goto RET_LABEL;
104 RET_LABEL:;
105 return var;
106 }
107 /* method environ#Sys#init for (self: Sys) */
108 void core__environ___Sys___core__kernel__Object__init(val* self) {
109 static val* varonce;
110 val* var /* : String */;
111 char* var1 /* : NativeString */;
112 val* var2 /* : String */;
113 val* var3 /* : String */;
114 val* var_x /* var x: String */;
115 static val* varonce4;
116 val* var5 /* : String */;
117 char* var6 /* : NativeString */;
118 val* var7 /* : String */;
119 short int var8 /* : Bool */;
120 val* var_other /* var other: nullable Object */;
121 short int var10 /* : Bool */;
122 short int var11 /* : Bool */;
123 long var12 /* : Int */;
124 {
125 ((void(*)(val* self))(self->class->vft[COLOR_core__environ___Sys___core__kernel__Object__init]))(self); /* init on <self:Sys>*/
126 }
127 if (likely(varonce!=NULL)) {
128 var = varonce;
129 } else {
130 var1 = "NIT_SRAND";
131 var2 = core__flat___NativeString___to_s_full(var1, 9l, 9l);
132 var = var2;
133 varonce = var;
134 }
135 {
136 var3 = core__environ___String___environ(var);
137 }
138 var_x = var3;
139 if (likely(varonce4!=NULL)) {
140 var5 = varonce4;
141 } else {
142 var6 = "";
143 var7 = core__flat___NativeString___to_s_full(var6, 0l, 0l);
144 var5 = var7;
145 varonce4 = var5;
146 }
147 {
148 { /* Inline kernel#Object#!= (var_x,var5) on <var_x:String> */
149 var_other = var5;
150 {
151 var10 = ((short int(*)(val* self, val* p0))(var_x->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_x, var_other); /* == on <var_x:String>*/
152 }
153 var11 = !var10;
154 var8 = var11;
155 goto RET_LABEL9;
156 RET_LABEL9:(void)0;
157 }
158 }
159 if (var8){
160 {
161 var12 = core__fixed_ints___Text___to_i(var_x);
162 }
163 {
164 { /* Inline math#Sys#srand_from (self,var12) on <self:Sys> */
165 struct nitni_instance* var_for_c_0;
166 var_for_c_0 = nit_alloc(sizeof(struct nitni_instance));
167 var_for_c_0->value = self;
168 math___Sys_srand_from___impl(var_for_c_0, var12);
169 RET_LABEL13:(void)0;
170 }
171 }
172 } else {
173 }
174 RET_LABEL:;
175 }