c_src: fix last update, _nitni.h s were referring to _nit.h from Nit src
[nit.git] / c_src / nitc._sep.c
1 /* This C file is generated by NIT to compile module nitc. */
2 #include "nitc._sep.h"
3 val_t nitc___NitCompiler___opt_output(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_nitc;
9 fra.me.line = 31;
10 fra.me.meth = LOCATE_nitc___NitCompiler___opt_output;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 /* ./nitc.nit:31 */
16 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_output(fra.me.REG[0])!=NIT_NULL);
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 nit_abort("Uninitialized attribute %s", "_opt_output", LOCATE_nitc, 31);
20 }
21 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_output(fra.me.REG[0]);
22 stack_frame_head = fra.me.prev;
23 return fra.me.REG[0];
24 }
25 val_t nitc___NitCompiler___opt_boost(val_t p0){
26 struct {struct stack_frame_t me;} fra;
27 val_t REGB0;
28 val_t tmp;
29 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30 fra.me.file = LOCATE_nitc;
31 fra.me.line = 32;
32 fra.me.meth = LOCATE_nitc___NitCompiler___opt_boost;
33 fra.me.has_broke = 0;
34 fra.me.REG_size = 1;
35 fra.me.REG[0] = NIT_NULL;
36 fra.me.REG[0] = p0;
37 /* ./nitc.nit:32 */
38 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_boost(fra.me.REG[0])!=NIT_NULL);
39 if (UNTAG_Bool(REGB0)) {
40 } else {
41 nit_abort("Uninitialized attribute %s", "_opt_boost", LOCATE_nitc, 32);
42 }
43 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_boost(fra.me.REG[0]);
44 stack_frame_head = fra.me.prev;
45 return fra.me.REG[0];
46 }
47 val_t nitc___NitCompiler___opt_no_cc(val_t p0){
48 struct {struct stack_frame_t me;} fra;
49 val_t REGB0;
50 val_t tmp;
51 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52 fra.me.file = LOCATE_nitc;
53 fra.me.line = 33;
54 fra.me.meth = LOCATE_nitc___NitCompiler___opt_no_cc;
55 fra.me.has_broke = 0;
56 fra.me.REG_size = 1;
57 fra.me.REG[0] = NIT_NULL;
58 fra.me.REG[0] = p0;
59 /* ./nitc.nit:33 */
60 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_no_cc(fra.me.REG[0])!=NIT_NULL);
61 if (UNTAG_Bool(REGB0)) {
62 } else {
63 nit_abort("Uninitialized attribute %s", "_opt_no_cc", LOCATE_nitc, 33);
64 }
65 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_no_cc(fra.me.REG[0]);
66 stack_frame_head = fra.me.prev;
67 return fra.me.REG[0];
68 }
69 val_t nitc___NitCompiler___opt_cc_no_link(val_t p0){
70 struct {struct stack_frame_t me;} fra;
71 val_t REGB0;
72 val_t tmp;
73 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74 fra.me.file = LOCATE_nitc;
75 fra.me.line = 34;
76 fra.me.meth = LOCATE_nitc___NitCompiler___opt_cc_no_link;
77 fra.me.has_broke = 0;
78 fra.me.REG_size = 1;
79 fra.me.REG[0] = NIT_NULL;
80 fra.me.REG[0] = p0;
81 /* ./nitc.nit:34 */
82 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_no_link(fra.me.REG[0])!=NIT_NULL);
83 if (UNTAG_Bool(REGB0)) {
84 } else {
85 nit_abort("Uninitialized attribute %s", "_opt_cc_no_link", LOCATE_nitc, 34);
86 }
87 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_cc_no_link(fra.me.REG[0]);
88 stack_frame_head = fra.me.prev;
89 return fra.me.REG[0];
90 }
91 val_t nitc___NitCompiler___opt_global(val_t p0){
92 struct {struct stack_frame_t me;} fra;
93 val_t REGB0;
94 val_t tmp;
95 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96 fra.me.file = LOCATE_nitc;
97 fra.me.line = 35;
98 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global;
99 fra.me.has_broke = 0;
100 fra.me.REG_size = 1;
101 fra.me.REG[0] = NIT_NULL;
102 fra.me.REG[0] = p0;
103 /* ./nitc.nit:35 */
104 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global(fra.me.REG[0])!=NIT_NULL);
105 if (UNTAG_Bool(REGB0)) {
106 } else {
107 nit_abort("Uninitialized attribute %s", "_opt_global", LOCATE_nitc, 35);
108 }
109 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global(fra.me.REG[0]);
110 stack_frame_head = fra.me.prev;
111 return fra.me.REG[0];
112 }
113 val_t nitc___NitCompiler___opt_global_no_STF_opt(val_t p0){
114 struct {struct stack_frame_t me;} fra;
115 val_t REGB0;
116 val_t tmp;
117 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
118 fra.me.file = LOCATE_nitc;
119 fra.me.line = 36;
120 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_STF_opt;
121 fra.me.has_broke = 0;
122 fra.me.REG_size = 1;
123 fra.me.REG[0] = NIT_NULL;
124 fra.me.REG[0] = p0;
125 /* ./nitc.nit:36 */
126 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_STF_opt(fra.me.REG[0])!=NIT_NULL);
127 if (UNTAG_Bool(REGB0)) {
128 } else {
129 nit_abort("Uninitialized attribute %s", "_opt_global_no_STF_opt", LOCATE_nitc, 36);
130 }
131 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_STF_opt(fra.me.REG[0]);
132 stack_frame_head = fra.me.prev;
133 return fra.me.REG[0];
134 }
135 val_t nitc___NitCompiler___opt_global_no_DMR_opt(val_t p0){
136 struct {struct stack_frame_t me;} fra;
137 val_t REGB0;
138 val_t tmp;
139 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
140 fra.me.file = LOCATE_nitc;
141 fra.me.line = 37;
142 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_DMR_opt;
143 fra.me.has_broke = 0;
144 fra.me.REG_size = 1;
145 fra.me.REG[0] = NIT_NULL;
146 fra.me.REG[0] = p0;
147 /* ./nitc.nit:37 */
148 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_DMR_opt(fra.me.REG[0])!=NIT_NULL);
149 if (UNTAG_Bool(REGB0)) {
150 } else {
151 nit_abort("Uninitialized attribute %s", "_opt_global_no_DMR_opt", LOCATE_nitc, 37);
152 }
153 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_DMR_opt(fra.me.REG[0]);
154 stack_frame_head = fra.me.prev;
155 return fra.me.REG[0];
156 }
157 val_t nitc___NitCompiler___opt_global_no_inline_get_set(val_t p0){
158 struct {struct stack_frame_t me;} fra;
159 val_t REGB0;
160 val_t tmp;
161 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
162 fra.me.file = LOCATE_nitc;
163 fra.me.line = 38;
164 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_inline_get_set;
165 fra.me.has_broke = 0;
166 fra.me.REG_size = 1;
167 fra.me.REG[0] = NIT_NULL;
168 fra.me.REG[0] = p0;
169 /* ./nitc.nit:38 */
170 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_inline_get_set(fra.me.REG[0])!=NIT_NULL);
171 if (UNTAG_Bool(REGB0)) {
172 } else {
173 nit_abort("Uninitialized attribute %s", "_opt_global_no_inline_get_set", LOCATE_nitc, 38);
174 }
175 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_inline_get_set(fra.me.REG[0]);
176 stack_frame_head = fra.me.prev;
177 return fra.me.REG[0];
178 }
179 val_t nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(val_t p0){
180 struct {struct stack_frame_t me;} fra;
181 val_t REGB0;
182 val_t tmp;
183 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
184 fra.me.file = LOCATE_nitc;
185 fra.me.line = 39;
186 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt;
187 fra.me.has_broke = 0;
188 fra.me.REG_size = 1;
189 fra.me.REG[0] = NIT_NULL;
190 fra.me.REG[0] = p0;
191 /* ./nitc.nit:39 */
192 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_out_of_init_get_test_opt(fra.me.REG[0])!=NIT_NULL);
193 if (UNTAG_Bool(REGB0)) {
194 } else {
195 nit_abort("Uninitialized attribute %s", "_opt_global_no_out_of_init_get_test_opt", LOCATE_nitc, 39);
196 }
197 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_out_of_init_get_test_opt(fra.me.REG[0]);
198 stack_frame_head = fra.me.prev;
199 return fra.me.REG[0];
200 }
201 val_t nitc___NitCompiler___opt_global_no_RFIMA(val_t p0){
202 struct {struct stack_frame_t me;} fra;
203 val_t REGB0;
204 val_t tmp;
205 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
206 fra.me.file = LOCATE_nitc;
207 fra.me.line = 40;
208 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_RFIMA;
209 fra.me.has_broke = 0;
210 fra.me.REG_size = 1;
211 fra.me.REG[0] = NIT_NULL;
212 fra.me.REG[0] = p0;
213 /* ./nitc.nit:40 */
214 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_RFIMA(fra.me.REG[0])!=NIT_NULL);
215 if (UNTAG_Bool(REGB0)) {
216 } else {
217 nit_abort("Uninitialized attribute %s", "_opt_global_no_RFIMA", LOCATE_nitc, 40);
218 }
219 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_RFIMA(fra.me.REG[0]);
220 stack_frame_head = fra.me.prev;
221 return fra.me.REG[0];
222 }
223 val_t nitc___NitCompiler___opt_global_callgraph(val_t p0){
224 struct {struct stack_frame_t me;} fra;
225 val_t REGB0;
226 val_t tmp;
227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
228 fra.me.file = LOCATE_nitc;
229 fra.me.line = 41;
230 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_callgraph;
231 fra.me.has_broke = 0;
232 fra.me.REG_size = 1;
233 fra.me.REG[0] = NIT_NULL;
234 fra.me.REG[0] = p0;
235 /* ./nitc.nit:41 */
236 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_callgraph(fra.me.REG[0])!=NIT_NULL);
237 if (UNTAG_Bool(REGB0)) {
238 } else {
239 nit_abort("Uninitialized attribute %s", "_opt_global_callgraph", LOCATE_nitc, 41);
240 }
241 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_callgraph(fra.me.REG[0]);
242 stack_frame_head = fra.me.prev;
243 return fra.me.REG[0];
244 }
245 val_t nitc___NitCompiler___opt_clibdir(val_t p0){
246 struct {struct stack_frame_t me;} fra;
247 val_t REGB0;
248 val_t tmp;
249 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
250 fra.me.file = LOCATE_nitc;
251 fra.me.line = 42;
252 fra.me.meth = LOCATE_nitc___NitCompiler___opt_clibdir;
253 fra.me.has_broke = 0;
254 fra.me.REG_size = 1;
255 fra.me.REG[0] = NIT_NULL;
256 fra.me.REG[0] = p0;
257 /* ./nitc.nit:42 */
258 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_clibdir(fra.me.REG[0])!=NIT_NULL);
259 if (UNTAG_Bool(REGB0)) {
260 } else {
261 nit_abort("Uninitialized attribute %s", "_opt_clibdir", LOCATE_nitc, 42);
262 }
263 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_clibdir(fra.me.REG[0]);
264 stack_frame_head = fra.me.prev;
265 return fra.me.REG[0];
266 }
267 val_t nitc___NitCompiler___opt_bindir(val_t p0){
268 struct {struct stack_frame_t me;} fra;
269 val_t REGB0;
270 val_t tmp;
271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
272 fra.me.file = LOCATE_nitc;
273 fra.me.line = 43;
274 fra.me.meth = LOCATE_nitc___NitCompiler___opt_bindir;
275 fra.me.has_broke = 0;
276 fra.me.REG_size = 1;
277 fra.me.REG[0] = NIT_NULL;
278 fra.me.REG[0] = p0;
279 /* ./nitc.nit:43 */
280 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_bindir(fra.me.REG[0])!=NIT_NULL);
281 if (UNTAG_Bool(REGB0)) {
282 } else {
283 nit_abort("Uninitialized attribute %s", "_opt_bindir", LOCATE_nitc, 43);
284 }
285 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_bindir(fra.me.REG[0]);
286 stack_frame_head = fra.me.prev;
287 return fra.me.REG[0];
288 }
289 val_t nitc___NitCompiler___opt_compdir(val_t p0){
290 struct {struct stack_frame_t me;} fra;
291 val_t REGB0;
292 val_t tmp;
293 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
294 fra.me.file = LOCATE_nitc;
295 fra.me.line = 44;
296 fra.me.meth = LOCATE_nitc___NitCompiler___opt_compdir;
297 fra.me.has_broke = 0;
298 fra.me.REG_size = 1;
299 fra.me.REG[0] = NIT_NULL;
300 fra.me.REG[0] = p0;
301 /* ./nitc.nit:44 */
302 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_compdir(fra.me.REG[0])!=NIT_NULL);
303 if (UNTAG_Bool(REGB0)) {
304 } else {
305 nit_abort("Uninitialized attribute %s", "_opt_compdir", LOCATE_nitc, 44);
306 }
307 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_compdir(fra.me.REG[0]);
308 stack_frame_head = fra.me.prev;
309 return fra.me.REG[0];
310 }
311 val_t nitc___NitCompiler___opt_extension_prefix(val_t p0){
312 struct {struct stack_frame_t me;} fra;
313 val_t REGB0;
314 val_t tmp;
315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
316 fra.me.file = LOCATE_nitc;
317 fra.me.line = 45;
318 fra.me.meth = LOCATE_nitc___NitCompiler___opt_extension_prefix;
319 fra.me.has_broke = 0;
320 fra.me.REG_size = 1;
321 fra.me.REG[0] = NIT_NULL;
322 fra.me.REG[0] = p0;
323 /* ./nitc.nit:45 */
324 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_extension_prefix(fra.me.REG[0])!=NIT_NULL);
325 if (UNTAG_Bool(REGB0)) {
326 } else {
327 nit_abort("Uninitialized attribute %s", "_opt_extension_prefix", LOCATE_nitc, 45);
328 }
329 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_extension_prefix(fra.me.REG[0]);
330 stack_frame_head = fra.me.prev;
331 return fra.me.REG[0];
332 }
333 val_t nitc___NitCompiler___opt_output_format(val_t p0){
334 struct {struct stack_frame_t me;} fra;
335 val_t REGB0;
336 val_t tmp;
337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
338 fra.me.file = LOCATE_nitc;
339 fra.me.line = 46;
340 fra.me.meth = LOCATE_nitc___NitCompiler___opt_output_format;
341 fra.me.has_broke = 0;
342 fra.me.REG_size = 1;
343 fra.me.REG[0] = NIT_NULL;
344 fra.me.REG[0] = p0;
345 /* ./nitc.nit:46 */
346 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_output_format(fra.me.REG[0])!=NIT_NULL);
347 if (UNTAG_Bool(REGB0)) {
348 } else {
349 nit_abort("Uninitialized attribute %s", "_opt_output_format", LOCATE_nitc, 46);
350 }
351 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_output_format(fra.me.REG[0]);
352 stack_frame_head = fra.me.prev;
353 return fra.me.REG[0];
354 }
355 void nitc___NitCompiler___init(val_t p0, int* init_table){
356 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_nitc___NitCompiler].i;
357 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
358 val_t REGB0;
359 val_t tmp;
360 static val_t once_value_1; /* Once value */
361 if (init_table[itpos0]) return;
362 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
363 fra.me.file = LOCATE_nitc;
364 fra.me.line = 48;
365 fra.me.meth = LOCATE_nitc___NitCompiler___init;
366 fra.me.has_broke = 0;
367 fra.me.REG_size = 4;
368 fra.me.REG[0] = NIT_NULL;
369 fra.me.REG[1] = NIT_NULL;
370 fra.me.REG[2] = NIT_NULL;
371 fra.me.REG[3] = NIT_NULL;
372 fra.me.REG[0] = p0;
373 /* ./nitc.nit:48 */
374 fra.me.REG[1] = fra.me.REG[0];
375 /* ./nitc.nit:50 */
376 if (!once_value_1) {
377 fra.me.REG[2] = BOX_NativeString("nitc");
378 REGB0 = TAG_Int(4);
379 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
380 once_value_1 = fra.me.REG[2];
381 register_static_object(&once_value_1);
382 } else fra.me.REG[2] = once_value_1;
383 fra.me.REG[2] = fra.me.REG[2];
384 CALL_abstracttool___AbstractCompiler___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
385 /* ./nitc.nit:51 */
386 fra.me.REG[2] = CALL_mmloader___ToolContext___option_context(fra.me.REG[1])(fra.me.REG[1]);
387 REGB0 = TAG_Int(18);
388 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
389 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_output(fra.me.REG[1])(fra.me.REG[1]);
390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
391 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_boost(fra.me.REG[1])(fra.me.REG[1]);
392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
393 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_no_cc(fra.me.REG[1])(fra.me.REG[1]);
394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
395 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_cc_no_link(fra.me.REG[1])(fra.me.REG[1]);
396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
397 fra.me.REG[3] = CALL_separate_options___ToolContext___opt_cc_libs(fra.me.REG[1])(fra.me.REG[1]);
398 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
399 fra.me.REG[3] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra.me.REG[1])(fra.me.REG[1]);
400 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
401 fra.me.REG[3] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra.me.REG[1])(fra.me.REG[1]);
402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
403 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global(fra.me.REG[1])(fra.me.REG[1]);
404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
405 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_clibdir(fra.me.REG[1])(fra.me.REG[1]);
406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
407 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_bindir(fra.me.REG[1])(fra.me.REG[1]);
408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
409 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_compdir(fra.me.REG[1])(fra.me.REG[1]);
410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
411 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_extension_prefix(fra.me.REG[1])(fra.me.REG[1]);
412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
413 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_STF_opt(fra.me.REG[1])(fra.me.REG[1]);
414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
415 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_DMR_opt(fra.me.REG[1])(fra.me.REG[1]);
416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
417 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_callgraph(fra.me.REG[1])(fra.me.REG[1]);
418 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
419 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_inline_get_set(fra.me.REG[1])(fra.me.REG[1]);
420 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
421 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_RFIMA(fra.me.REG[1])(fra.me.REG[1]);
422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
423 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(fra.me.REG[1])(fra.me.REG[1]);
424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
425 fra.me.REG[1] = CALL_nitc___NitCompiler___opt_output_format(fra.me.REG[1])(fra.me.REG[1]);
426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
427 CALL_opts___OptionContext___add_option(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
428 stack_frame_head = fra.me.prev;
429 init_table[itpos0] = 1;
430 return;
431 }
432 void nitc___NitCompiler___process_options(val_t p0){
433 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
434 val_t REGB0;
435 val_t REGB1;
436 val_t tmp;
437 static val_t once_value_1; /* Once value */
438 static val_t once_value_2; /* Once value */
439 static val_t once_value_3; /* Once value */
440 static val_t once_value_4; /* Once value */
441 static val_t once_value_5; /* Once value */
442 static val_t once_value_6; /* Once value */
443 static val_t once_value_7; /* Once value */
444 static val_t once_value_8; /* Once value */
445 static val_t once_value_9; /* Once value */
446 static val_t once_value_10; /* Once value */
447 static val_t once_value_11; /* Once value */
448 static val_t once_value_12; /* Once value */
449 static val_t once_value_13; /* Once value */
450 static val_t once_value_14; /* Once value */
451 static val_t once_value_15; /* Once value */
452 static val_t once_value_16; /* Once value */
453 static val_t once_value_17; /* Once value */
454 static val_t once_value_18; /* Once value */
455 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
456 fra.me.file = LOCATE_nitc;
457 fra.me.line = 54;
458 fra.me.meth = LOCATE_nitc___NitCompiler___process_options;
459 fra.me.has_broke = 0;
460 fra.me.REG_size = 4;
461 fra.me.REG[0] = NIT_NULL;
462 fra.me.REG[1] = NIT_NULL;
463 fra.me.REG[2] = NIT_NULL;
464 fra.me.REG[3] = NIT_NULL;
465 fra.me.REG[0] = p0;
466 /* ./nitc.nit:54 */
467 fra.me.REG[1] = fra.me.REG[0];
468 /* ./nitc.nit:56 */
469 CALL_SUPER_nitc___NitCompiler___process_options(fra.me.REG[0])(fra.me.REG[0]);
470 /* ./nitc.nit:57 */
471 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_output(fra.me.REG[1])(fra.me.REG[1]);
472 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
473 CALL_compiling___compiling_base___ToolContext___output_file__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
474 /* ./nitc.nit:58 */
475 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_boost(fra.me.REG[1])(fra.me.REG[1]);
476 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
477 CALL_compiling___compiling_base___ToolContext___boost__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
478 /* ./nitc.nit:59 */
479 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_no_cc(fra.me.REG[1])(fra.me.REG[1]);
480 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
481 CALL_compiling___compiling_base___ToolContext___no_cc__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
482 /* ./nitc.nit:60 */
483 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_cc_no_link(fra.me.REG[1])(fra.me.REG[1]);
484 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
485 REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[0]));
486 CALL_compiling___compiling_base___ToolContext___cc_link__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
487 /* ./nitc.nit:61 */
488 fra.me.REG[0] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra.me.REG[1])(fra.me.REG[1]);
489 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
490 CALL_compiling___compiling_base___ToolContext___cc_lib_paths__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
491 /* ./nitc.nit:62 */
492 fra.me.REG[0] = CALL_separate_options___ToolContext___opt_cc_libs(fra.me.REG[1])(fra.me.REG[1]);
493 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
494 CALL_compiling___compiling_base___ToolContext___cc_libs__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
495 /* ./nitc.nit:63 */
496 fra.me.REG[0] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra.me.REG[1])(fra.me.REG[1]);
497 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
498 CALL_compiling___compiling_base___ToolContext___cc_include_paths__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
499 /* ./nitc.nit:64 */
500 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_extension_prefix(fra.me.REG[1])(fra.me.REG[1]);
501 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
502 /* ./nitc.nit:65 */
503 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
504 if (UNTAG_Bool(REGB0)) {
505 } else {
506 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
507 if (UNTAG_Bool(REGB1)) {
508 REGB1 = TAG_Bool(false);
509 REGB0 = REGB1;
510 } else {
511 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
512 REGB0 = REGB1;
513 }
514 }
515 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
516 if (UNTAG_Bool(REGB0)) {
517 CALL_compiling___compiling_base___ToolContext___ext_prefix__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
518 } else {
519 if (!once_value_1) {
520 fra.me.REG[0] = BOX_NativeString("");
521 REGB0 = TAG_Int(0);
522 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
523 once_value_1 = fra.me.REG[0];
524 register_static_object(&once_value_1);
525 } else fra.me.REG[0] = once_value_1;
526 fra.me.REG[0] = fra.me.REG[0];
527 CALL_compiling___compiling_base___ToolContext___ext_prefix__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
528 }
529 /* ./nitc.nit:66 */
530 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global(fra.me.REG[1])(fra.me.REG[1]);
531 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
532 CALL_program___ToolContext___global__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
533 /* ./nitc.nit:67 */
534 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_STF_opt(fra.me.REG[1])(fra.me.REG[1]);
535 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
536 REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[0]));
537 CALL_program___ToolContext___use_SFT_optimization__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
538 /* ./nitc.nit:68 */
539 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_DMR_opt(fra.me.REG[1])(fra.me.REG[1]);
540 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
541 CALL_analysis___ToolContext___no_dead_method_removal__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
542 /* ./nitc.nit:69 */
543 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_inline_get_set(fra.me.REG[1])(fra.me.REG[1]);
544 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
545 CALL_analysis___ToolContext___no_inline_get_set__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
546 /* ./nitc.nit:70 */
547 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_RFIMA(fra.me.REG[1])(fra.me.REG[1]);
548 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
549 CALL_analysis___ToolContext___no_callgraph_from_init__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
550 /* ./nitc.nit:71 */
551 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(fra.me.REG[1])(fra.me.REG[1]);
552 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
553 CALL_analysis___ToolContext___no_out_of_init_get_test_removal__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
554 /* ./nitc.nit:72 */
555 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_callgraph(fra.me.REG[1])(fra.me.REG[1]);
556 fra.me.REG[0] = CALL_opts___OptionEnum___value_name(fra.me.REG[0])(fra.me.REG[0]);
557 CALL_analysis___ToolContext___global_callgraph__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
558 /* ./nitc.nit:73 */
559 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_compdir(fra.me.REG[1])(fra.me.REG[1]);
560 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
561 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
562 /* ./nitc.nit:74 */
563 fra.me.REG[0] = CALL_compiling___compiling_base___ToolContext___compdir(fra.me.REG[1])(fra.me.REG[1]);
564 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
565 if (UNTAG_Bool(REGB0)) {
566 } else {
567 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
568 if (UNTAG_Bool(REGB1)) {
569 REGB1 = TAG_Bool(false);
570 REGB0 = REGB1;
571 } else {
572 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
573 REGB0 = REGB1;
574 }
575 }
576 if (UNTAG_Bool(REGB0)) {
577 /* ./nitc.nit:75 */
578 if (!once_value_2) {
579 if (!once_value_3) {
580 fra.me.REG[0] = BOX_NativeString("NIT_COMPDIR");
581 REGB0 = TAG_Int(11);
582 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
583 once_value_3 = fra.me.REG[0];
584 register_static_object(&once_value_3);
585 } else fra.me.REG[0] = once_value_3;
586 fra.me.REG[0] = fra.me.REG[0];
587 fra.me.REG[0] = CALL_standard___symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
588 fra.me.REG[0] = CALL_standard___environ___Symbol___environ(fra.me.REG[0])(fra.me.REG[0]);
589 once_value_2 = fra.me.REG[0];
590 register_static_object(&once_value_2);
591 } else fra.me.REG[0] = once_value_2;
592 fra.me.REG[0] = fra.me.REG[0];
593 /* ./nitc.nit:76 */
594 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
595 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
596 if (UNTAG_Bool(REGB0)) {
597 /* ./nitc.nit:77 */
598 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
599 }
600 /* ./nitc.nit:79 */
601 fra.me.REG[0] = CALL_compiling___compiling_base___ToolContext___compdir(fra.me.REG[1])(fra.me.REG[1]);
602 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
603 if (UNTAG_Bool(REGB0)) {
604 } else {
605 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
606 if (UNTAG_Bool(REGB1)) {
607 REGB1 = TAG_Bool(false);
608 REGB0 = REGB1;
609 } else {
610 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
611 REGB0 = REGB1;
612 }
613 }
614 if (UNTAG_Bool(REGB0)) {
615 /* ./nitc.nit:80 */
616 if (!once_value_4) {
617 fra.me.REG[0] = BOX_NativeString(".nit_compile");
618 REGB0 = TAG_Int(12);
619 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
620 once_value_4 = fra.me.REG[0];
621 register_static_object(&once_value_4);
622 } else fra.me.REG[0] = once_value_4;
623 fra.me.REG[0] = fra.me.REG[0];
624 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
625 }
626 }
627 /* ./nitc.nit:83 */
628 fra.me.REG[0] = CALL_compiling___compiling_base___ToolContext___compdir(fra.me.REG[1])(fra.me.REG[1]);
629 fra.me.REG[2] = CALL_compiling___compiling_base___ToolContext___ext_prefix(fra.me.REG[1])(fra.me.REG[1]);
630 fra.me.REG[2] = CALL_standard___string___String_____plus(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
631 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
632 /* ./nitc.nit:85 */
633 fra.me.REG[2] = CALL_nitc___NitCompiler___opt_clibdir(fra.me.REG[1])(fra.me.REG[1]);
634 fra.me.REG[2] = CALL_opts___Option___value(fra.me.REG[2])(fra.me.REG[2]);
635 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
636 /* ./nitc.nit:86 */
637 fra.me.REG[2] = CALL_compiling___compiling_base___ToolContext___clibdir(fra.me.REG[1])(fra.me.REG[1]);
638 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
639 if (UNTAG_Bool(REGB0)) {
640 } else {
641 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
642 if (UNTAG_Bool(REGB1)) {
643 REGB1 = TAG_Bool(false);
644 REGB0 = REGB1;
645 } else {
646 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
647 REGB0 = REGB1;
648 }
649 }
650 if (UNTAG_Bool(REGB0)) {
651 /* ./nitc.nit:87 */
652 if (!once_value_5) {
653 if (!once_value_6) {
654 fra.me.REG[2] = BOX_NativeString("NIT_DIR");
655 REGB0 = TAG_Int(7);
656 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
657 once_value_6 = fra.me.REG[2];
658 register_static_object(&once_value_6);
659 } else fra.me.REG[2] = once_value_6;
660 fra.me.REG[2] = fra.me.REG[2];
661 fra.me.REG[2] = CALL_standard___symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
662 fra.me.REG[2] = CALL_standard___environ___Symbol___environ(fra.me.REG[2])(fra.me.REG[2]);
663 once_value_5 = fra.me.REG[2];
664 register_static_object(&once_value_5);
665 } else fra.me.REG[2] = once_value_5;
666 fra.me.REG[2] = fra.me.REG[2];
667 /* ./nitc.nit:88 */
668 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
669 if (UNTAG_Bool(REGB0)) {
670 /* ./nitc.nit:89 */
671 REGB0 = TAG_Int(3);
672 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
673 if (!once_value_7) {
674 fra.me.REG[3] = BOX_NativeString("");
675 REGB0 = TAG_Int(0);
676 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
677 once_value_7 = fra.me.REG[3];
678 register_static_object(&once_value_7);
679 } else fra.me.REG[3] = once_value_7;
680 fra.me.REG[3] = fra.me.REG[3];
681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
682 fra.me.REG[3] = CALL_standard___kernel___Object___sys(fra.me.REG[1])(fra.me.REG[1]);
683 fra.me.REG[3] = CALL_standard___string___Sys___program_name(fra.me.REG[3])(fra.me.REG[3]);
684 fra.me.REG[3] = CALL_standard___file___String___dirname(fra.me.REG[3])(fra.me.REG[3]);
685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
686 if (!once_value_8) {
687 fra.me.REG[3] = BOX_NativeString("/../clib");
688 REGB0 = TAG_Int(8);
689 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
690 once_value_8 = fra.me.REG[3];
691 register_static_object(&once_value_8);
692 } else fra.me.REG[3] = once_value_8;
693 fra.me.REG[3] = fra.me.REG[3];
694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
695 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
696 fra.me.REG[2] = fra.me.REG[0];
697 /* ./nitc.nit:90 */
698 REGB0 = CALL_standard___file___String___file_exists(fra.me.REG[2])(fra.me.REG[2]);
699 if (UNTAG_Bool(REGB0)) {
700 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
701 }
702 } else {
703 /* ./nitc.nit:92 */
704 REGB0 = TAG_Int(3);
705 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
706 if (!once_value_9) {
707 fra.me.REG[3] = BOX_NativeString("");
708 REGB0 = TAG_Int(0);
709 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
710 once_value_9 = fra.me.REG[3];
711 register_static_object(&once_value_9);
712 } else fra.me.REG[3] = once_value_9;
713 fra.me.REG[3] = fra.me.REG[3];
714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
715 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
716 if (!once_value_10) {
717 fra.me.REG[3] = BOX_NativeString("/clib");
718 REGB0 = TAG_Int(5);
719 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
720 once_value_10 = fra.me.REG[3];
721 register_static_object(&once_value_10);
722 } else fra.me.REG[3] = once_value_10;
723 fra.me.REG[3] = fra.me.REG[3];
724 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
725 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
726 fra.me.REG[2] = fra.me.REG[0];
727 /* ./nitc.nit:93 */
728 REGB0 = CALL_standard___file___String___file_exists(fra.me.REG[2])(fra.me.REG[2]);
729 if (UNTAG_Bool(REGB0)) {
730 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
731 }
732 }
733 /* ./nitc.nit:95 */
734 fra.me.REG[2] = CALL_compiling___compiling_base___ToolContext___clibdir(fra.me.REG[1])(fra.me.REG[1]);
735 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
736 if (UNTAG_Bool(REGB0)) {
737 } else {
738 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
739 if (UNTAG_Bool(REGB1)) {
740 REGB1 = TAG_Bool(false);
741 REGB0 = REGB1;
742 } else {
743 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
744 REGB0 = REGB1;
745 }
746 }
747 if (UNTAG_Bool(REGB0)) {
748 /* ./nitc.nit:96 */
749 if (!once_value_11) {
750 fra.me.REG[2] = BOX_NativeString("Error: Cannot locate NIT C library directory. Uses --clibdir or envvar NIT_DIR.");
751 REGB0 = TAG_Int(79);
752 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
753 once_value_11 = fra.me.REG[2];
754 register_static_object(&once_value_11);
755 } else fra.me.REG[2] = once_value_11;
756 fra.me.REG[2] = fra.me.REG[2];
757 CALL_mmloader___ToolContext___fatal_error(fra.me.REG[1])(fra.me.REG[1], NIT_NULL, fra.me.REG[2]);
758 }
759 }
760 /* ./nitc.nit:99 */
761 fra.me.REG[2] = CALL_nitc___NitCompiler___opt_bindir(fra.me.REG[1])(fra.me.REG[1]);
762 fra.me.REG[2] = CALL_opts___Option___value(fra.me.REG[2])(fra.me.REG[2]);
763 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
764 /* ./nitc.nit:101 */
765 fra.me.REG[2] = CALL_compiling___compiling_base___ToolContext___bindir(fra.me.REG[1])(fra.me.REG[1]);
766 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
767 if (UNTAG_Bool(REGB0)) {
768 } else {
769 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
770 if (UNTAG_Bool(REGB1)) {
771 REGB1 = TAG_Bool(false);
772 REGB0 = REGB1;
773 } else {
774 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
775 REGB0 = REGB1;
776 }
777 }
778 if (UNTAG_Bool(REGB0)) {
779 /* ./nitc.nit:102 */
780 if (!once_value_12) {
781 if (!once_value_13) {
782 fra.me.REG[2] = BOX_NativeString("NIT_DIR");
783 REGB0 = TAG_Int(7);
784 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
785 once_value_13 = fra.me.REG[2];
786 register_static_object(&once_value_13);
787 } else fra.me.REG[2] = once_value_13;
788 fra.me.REG[2] = fra.me.REG[2];
789 fra.me.REG[2] = CALL_standard___symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
790 fra.me.REG[2] = CALL_standard___environ___Symbol___environ(fra.me.REG[2])(fra.me.REG[2]);
791 once_value_12 = fra.me.REG[2];
792 register_static_object(&once_value_12);
793 } else fra.me.REG[2] = once_value_12;
794 fra.me.REG[2] = fra.me.REG[2];
795 /* ./nitc.nit:103 */
796 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
797 if (UNTAG_Bool(REGB0)) {
798 /* ./nitc.nit:104 */
799 REGB0 = TAG_Int(3);
800 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
801 if (!once_value_14) {
802 fra.me.REG[3] = BOX_NativeString("");
803 REGB0 = TAG_Int(0);
804 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
805 once_value_14 = fra.me.REG[3];
806 register_static_object(&once_value_14);
807 } else fra.me.REG[3] = once_value_14;
808 fra.me.REG[3] = fra.me.REG[3];
809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
810 fra.me.REG[3] = CALL_standard___kernel___Object___sys(fra.me.REG[1])(fra.me.REG[1]);
811 fra.me.REG[3] = CALL_standard___string___Sys___program_name(fra.me.REG[3])(fra.me.REG[3]);
812 fra.me.REG[3] = CALL_standard___file___String___dirname(fra.me.REG[3])(fra.me.REG[3]);
813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
814 if (!once_value_15) {
815 fra.me.REG[3] = BOX_NativeString("/../bin");
816 REGB0 = TAG_Int(7);
817 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
818 once_value_15 = fra.me.REG[3];
819 register_static_object(&once_value_15);
820 } else fra.me.REG[3] = once_value_15;
821 fra.me.REG[3] = fra.me.REG[3];
822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
823 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
824 fra.me.REG[2] = fra.me.REG[0];
825 /* ./nitc.nit:105 */
826 REGB0 = CALL_standard___file___String___file_exists(fra.me.REG[2])(fra.me.REG[2]);
827 if (UNTAG_Bool(REGB0)) {
828 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
829 }
830 } else {
831 /* ./nitc.nit:107 */
832 REGB0 = TAG_Int(3);
833 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
834 if (!once_value_16) {
835 fra.me.REG[3] = BOX_NativeString("");
836 REGB0 = TAG_Int(0);
837 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
838 once_value_16 = fra.me.REG[3];
839 register_static_object(&once_value_16);
840 } else fra.me.REG[3] = once_value_16;
841 fra.me.REG[3] = fra.me.REG[3];
842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
843 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
844 if (!once_value_17) {
845 fra.me.REG[3] = BOX_NativeString("/bin");
846 REGB0 = TAG_Int(4);
847 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
848 once_value_17 = fra.me.REG[3];
849 register_static_object(&once_value_17);
850 } else fra.me.REG[3] = once_value_17;
851 fra.me.REG[3] = fra.me.REG[3];
852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
853 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
854 fra.me.REG[2] = fra.me.REG[0];
855 /* ./nitc.nit:108 */
856 REGB0 = CALL_standard___file___String___file_exists(fra.me.REG[2])(fra.me.REG[2]);
857 if (UNTAG_Bool(REGB0)) {
858 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
859 }
860 }
861 /* ./nitc.nit:110 */
862 fra.me.REG[2] = CALL_compiling___compiling_base___ToolContext___bindir(fra.me.REG[1])(fra.me.REG[1]);
863 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
864 if (UNTAG_Bool(REGB0)) {
865 } else {
866 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
867 if (UNTAG_Bool(REGB1)) {
868 REGB1 = TAG_Bool(false);
869 REGB0 = REGB1;
870 } else {
871 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
872 REGB0 = REGB1;
873 }
874 }
875 if (UNTAG_Bool(REGB0)) {
876 /* ./nitc.nit:111 */
877 if (!once_value_18) {
878 fra.me.REG[2] = BOX_NativeString("Error: Cannot locate NIT tools directory. Uses --bindir or envvar NIT_DIR.");
879 REGB0 = TAG_Int(74);
880 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
881 once_value_18 = fra.me.REG[2];
882 register_static_object(&once_value_18);
883 } else fra.me.REG[2] = once_value_18;
884 fra.me.REG[2] = fra.me.REG[2];
885 CALL_mmloader___ToolContext___fatal_error(fra.me.REG[1])(fra.me.REG[1], NIT_NULL, fra.me.REG[2]);
886 }
887 }
888 stack_frame_head = fra.me.prev;
889 return;
890 }
891 void nitc___NitCompiler___perform_work(val_t p0, val_t p1){
892 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
893 val_t REGB0;
894 val_t REGB1;
895 val_t REGB2;
896 val_t tmp;
897 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
898 fra.me.file = LOCATE_nitc;
899 fra.me.line = 116;
900 fra.me.meth = LOCATE_nitc___NitCompiler___perform_work;
901 fra.me.has_broke = 0;
902 fra.me.REG_size = 5;
903 fra.me.REG[0] = NIT_NULL;
904 fra.me.REG[1] = NIT_NULL;
905 fra.me.REG[2] = NIT_NULL;
906 fra.me.REG[3] = NIT_NULL;
907 fra.me.REG[4] = NIT_NULL;
908 fra.me.REG[0] = p0;
909 fra.me.REG[1] = p1;
910 /* ./../lib/standard//collection//array.nit:269 */
911 REGB0 = TAG_Int(0);
912 /* ./../lib/standard//collection//array.nit:270 */
913 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
914 if (UNTAG_Bool(REGB1)) {
915 } else {
916 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
917 }
918 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
919 /* ./../lib/standard//collection//array.nit:271 */
920 fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
921 /* ./../lib/standard//collection//array.nit:272 */
922 while(1) {
923 /* ./../lib/standard//collection//array.nit:24 */
924 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
925 if (UNTAG_Bool(REGB1)) {
926 } else {
927 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
928 }
929 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
930 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
931 if (UNTAG_Bool(REGB2)) {
932 } else {
933 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
934 }
935 /* ./../lib/standard//kernel.nit:232 */
936 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
937 /* ./../lib/standard//collection//array.nit:272 */
938 if (UNTAG_Bool(REGB1)) {
939 /* ./../lib/standard//collection//array.nit:273 */
940 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
941 if (UNTAG_Bool(REGB1)) {
942 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
943 }
944 /* ./../lib/standard//collection//array.nit:718 */
945 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
946 /* ./nitc.nit:119 */
947 fra.me.REG[3] = NEW_Program_program___Program___init(fra.me.REG[3], fra.me.REG[0]);
948 /* ./nitc.nit:120 */
949 fra.me.REG[4] = CALL_nitc___NitCompiler___opt_output_format(fra.me.REG[0])(fra.me.REG[0]);
950 fra.me.REG[4] = CALL_opts___OptionEnum___value_name(fra.me.REG[4])(fra.me.REG[4]);
951 CALL_compiling___Program___output_format__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
952 /* ./nitc.nit:121 */
953 CALL_program___Program___compute_main_method(fra.me.REG[3])(fra.me.REG[3]);
954 /* ./nitc.nit:122 */
955 CALL_program___Program___generate_allocation_iroutines(fra.me.REG[3])(fra.me.REG[3]);
956 /* ./nitc.nit:123 */
957 REGB1 = CALL_program___ToolContext___global(fra.me.REG[0])(fra.me.REG[0]);
958 if (UNTAG_Bool(REGB1)) {
959 /* ./nitc.nit:124 */
960 CALL_analysis___Program___do_global_pre_analysis_optimizations(fra.me.REG[3])(fra.me.REG[3]);
961 /* ./nitc.nit:125 */
962 CALL_analysis___Program___do_global_analysis(fra.me.REG[3])(fra.me.REG[3]);
963 /* ./nitc.nit:126 */
964 CALL_analysis___Program___do_global_post_analysis_optimizations(fra.me.REG[3])(fra.me.REG[3]);
965 /* ./nitc.nit:127 */
966 fra.me.REG[4] = CALL_mmloader___ToolContext___opt_log(fra.me.REG[0])(fra.me.REG[0]);
967 fra.me.REG[4] = CALL_opts___Option___value(fra.me.REG[4])(fra.me.REG[4]);
968 if (UNTAG_Bool(fra.me.REG[4])) {
969 /* ./nitc.nit:128 */
970 fra.me.REG[4] = CALL_mmloader___ToolContext___log_directory(fra.me.REG[0])(fra.me.REG[0]);
971 CALL_analysis___Program___dump_global_optimizations_information(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
972 /* ./nitc.nit:129 */
973 fra.me.REG[4] = CALL_mmloader___ToolContext___log_directory(fra.me.REG[0])(fra.me.REG[0]);
974 CALL_analysis___Program___dump_global_analysis_information(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
975 }
976 }
977 /* ./nitc.nit:132 */
978 CALL_compiling___table_computation___Program___do_table_computation(fra.me.REG[3])(fra.me.REG[3]);
979 /* ./nitc.nit:133 */
980 CALL_compiling___Program___compile_prog(fra.me.REG[3])(fra.me.REG[3]);
981 /* ./../lib/standard//collection//array.nit:274 */
982 REGB1 = TAG_Int(1);
983 /* ./../lib/standard//kernel.nit:235 */
984 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
985 /* ./../lib/standard//collection//array.nit:274 */
986 REGB0 = REGB1;
987 } else {
988 /* ./../lib/standard//collection//array.nit:272 */
989 goto label1;
990 }
991 }
992 label1: while(0);
993 stack_frame_head = fra.me.prev;
994 return;
995 }
996 void nitc___Sys___main(val_t p0){
997 struct {struct stack_frame_t me;} fra;
998 val_t tmp;
999 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1000 fra.me.file = LOCATE_nitc;
1001 fra.me.line = 138;
1002 fra.me.meth = LOCATE_nitc___Sys___main;
1003 fra.me.has_broke = 0;
1004 fra.me.REG_size = 1;
1005 fra.me.REG[0] = NIT_NULL;
1006 fra.me.REG[0] = p0;
1007 /* ./nitc.nit:138 */
1008 fra.me.REG[0] = NEW_NitCompiler_nitc___NitCompiler___init();
1009 /* ./nitc.nit:139 */
1010 CALL_abstracttool___AbstractCompiler___exec_cmd_line(fra.me.REG[0])(fra.me.REG[0]);
1011 stack_frame_head = fra.me.prev;
1012 return;
1013 }