update NOTICE and LICENSE
[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 = 29;
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:29 */
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, 29);
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 = 30;
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:30 */
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, 30);
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 = 31;
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:31 */
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, 31);
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 = 32;
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:32 */
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, 32);
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_cc_lib_paths(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 = 33;
98 fra.me.meth = LOCATE_nitc___NitCompiler___opt_cc_lib_paths;
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:33 */
104 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_lib_paths(fra.me.REG[0])!=NIT_NULL);
105 if (UNTAG_Bool(REGB0)) {
106 } else {
107 nit_abort("Uninitialized attribute %s", "_opt_cc_lib_paths", LOCATE_nitc, 33);
108 }
109 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_cc_lib_paths(fra.me.REG[0]);
110 stack_frame_head = fra.me.prev;
111 return fra.me.REG[0];
112 }
113 val_t nitc___NitCompiler___opt_cc_libs(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 = 34;
120 fra.me.meth = LOCATE_nitc___NitCompiler___opt_cc_libs;
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:34 */
126 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_libs(fra.me.REG[0])!=NIT_NULL);
127 if (UNTAG_Bool(REGB0)) {
128 } else {
129 nit_abort("Uninitialized attribute %s", "_opt_cc_libs", LOCATE_nitc, 34);
130 }
131 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_cc_libs(fra.me.REG[0]);
132 stack_frame_head = fra.me.prev;
133 return fra.me.REG[0];
134 }
135 val_t nitc___NitCompiler___opt_cc_include_paths(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 = 35;
142 fra.me.meth = LOCATE_nitc___NitCompiler___opt_cc_include_paths;
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:35 */
148 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_include_paths(fra.me.REG[0])!=NIT_NULL);
149 if (UNTAG_Bool(REGB0)) {
150 } else {
151 nit_abort("Uninitialized attribute %s", "_opt_cc_include_paths", LOCATE_nitc, 35);
152 }
153 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_cc_include_paths(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(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 = 36;
164 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global;
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:36 */
170 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global(fra.me.REG[0])!=NIT_NULL);
171 if (UNTAG_Bool(REGB0)) {
172 } else {
173 nit_abort("Uninitialized attribute %s", "_opt_global", LOCATE_nitc, 36);
174 }
175 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global(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_STF_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 = 37;
186 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_STF_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:37 */
192 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_STF_opt(fra.me.REG[0])!=NIT_NULL);
193 if (UNTAG_Bool(REGB0)) {
194 } else {
195 nit_abort("Uninitialized attribute %s", "_opt_global_no_STF_opt", LOCATE_nitc, 37);
196 }
197 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_STF_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_DMR_opt(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 = 38;
208 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_DMR_opt;
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:38 */
214 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_DMR_opt(fra.me.REG[0])!=NIT_NULL);
215 if (UNTAG_Bool(REGB0)) {
216 } else {
217 nit_abort("Uninitialized attribute %s", "_opt_global_no_DMR_opt", LOCATE_nitc, 38);
218 }
219 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_DMR_opt(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_no_inline_get_set(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 = 39;
230 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_inline_get_set;
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:39 */
236 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_inline_get_set(fra.me.REG[0])!=NIT_NULL);
237 if (UNTAG_Bool(REGB0)) {
238 } else {
239 nit_abort("Uninitialized attribute %s", "_opt_global_no_inline_get_set", LOCATE_nitc, 39);
240 }
241 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_inline_get_set(fra.me.REG[0]);
242 stack_frame_head = fra.me.prev;
243 return fra.me.REG[0];
244 }
245 val_t nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(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 = 40;
252 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt;
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:40 */
258 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_out_of_init_get_test_opt(fra.me.REG[0])!=NIT_NULL);
259 if (UNTAG_Bool(REGB0)) {
260 } else {
261 nit_abort("Uninitialized attribute %s", "_opt_global_no_out_of_init_get_test_opt", LOCATE_nitc, 40);
262 }
263 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_out_of_init_get_test_opt(fra.me.REG[0]);
264 stack_frame_head = fra.me.prev;
265 return fra.me.REG[0];
266 }
267 val_t nitc___NitCompiler___opt_global_no_RFIMA(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 = 41;
274 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_no_RFIMA;
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:41 */
280 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_no_RFIMA(fra.me.REG[0])!=NIT_NULL);
281 if (UNTAG_Bool(REGB0)) {
282 } else {
283 nit_abort("Uninitialized attribute %s", "_opt_global_no_RFIMA", LOCATE_nitc, 41);
284 }
285 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_no_RFIMA(fra.me.REG[0]);
286 stack_frame_head = fra.me.prev;
287 return fra.me.REG[0];
288 }
289 val_t nitc___NitCompiler___opt_global_callgraph(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 = 42;
296 fra.me.meth = LOCATE_nitc___NitCompiler___opt_global_callgraph;
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:42 */
302 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_global_callgraph(fra.me.REG[0])!=NIT_NULL);
303 if (UNTAG_Bool(REGB0)) {
304 } else {
305 nit_abort("Uninitialized attribute %s", "_opt_global_callgraph", LOCATE_nitc, 42);
306 }
307 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_global_callgraph(fra.me.REG[0]);
308 stack_frame_head = fra.me.prev;
309 return fra.me.REG[0];
310 }
311 val_t nitc___NitCompiler___opt_clibdir(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 = 43;
318 fra.me.meth = LOCATE_nitc___NitCompiler___opt_clibdir;
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:43 */
324 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_clibdir(fra.me.REG[0])!=NIT_NULL);
325 if (UNTAG_Bool(REGB0)) {
326 } else {
327 nit_abort("Uninitialized attribute %s", "_opt_clibdir", LOCATE_nitc, 43);
328 }
329 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_clibdir(fra.me.REG[0]);
330 stack_frame_head = fra.me.prev;
331 return fra.me.REG[0];
332 }
333 val_t nitc___NitCompiler___opt_bindir(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 = 44;
340 fra.me.meth = LOCATE_nitc___NitCompiler___opt_bindir;
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:44 */
346 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_bindir(fra.me.REG[0])!=NIT_NULL);
347 if (UNTAG_Bool(REGB0)) {
348 } else {
349 nit_abort("Uninitialized attribute %s", "_opt_bindir", LOCATE_nitc, 44);
350 }
351 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_bindir(fra.me.REG[0]);
352 stack_frame_head = fra.me.prev;
353 return fra.me.REG[0];
354 }
355 val_t nitc___NitCompiler___opt_compdir(val_t p0){
356 struct {struct stack_frame_t me;} fra;
357 val_t REGB0;
358 val_t tmp;
359 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
360 fra.me.file = LOCATE_nitc;
361 fra.me.line = 45;
362 fra.me.meth = LOCATE_nitc___NitCompiler___opt_compdir;
363 fra.me.has_broke = 0;
364 fra.me.REG_size = 1;
365 fra.me.REG[0] = NIT_NULL;
366 fra.me.REG[0] = p0;
367 /* ./nitc.nit:45 */
368 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_compdir(fra.me.REG[0])!=NIT_NULL);
369 if (UNTAG_Bool(REGB0)) {
370 } else {
371 nit_abort("Uninitialized attribute %s", "_opt_compdir", LOCATE_nitc, 45);
372 }
373 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_compdir(fra.me.REG[0]);
374 stack_frame_head = fra.me.prev;
375 return fra.me.REG[0];
376 }
377 val_t nitc___NitCompiler___opt_extension_prefix(val_t p0){
378 struct {struct stack_frame_t me;} fra;
379 val_t REGB0;
380 val_t tmp;
381 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
382 fra.me.file = LOCATE_nitc;
383 fra.me.line = 46;
384 fra.me.meth = LOCATE_nitc___NitCompiler___opt_extension_prefix;
385 fra.me.has_broke = 0;
386 fra.me.REG_size = 1;
387 fra.me.REG[0] = NIT_NULL;
388 fra.me.REG[0] = p0;
389 /* ./nitc.nit:46 */
390 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_extension_prefix(fra.me.REG[0])!=NIT_NULL);
391 if (UNTAG_Bool(REGB0)) {
392 } else {
393 nit_abort("Uninitialized attribute %s", "_opt_extension_prefix", LOCATE_nitc, 46);
394 }
395 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_extension_prefix(fra.me.REG[0]);
396 stack_frame_head = fra.me.prev;
397 return fra.me.REG[0];
398 }
399 val_t nitc___NitCompiler___opt_output_format(val_t p0){
400 struct {struct stack_frame_t me;} fra;
401 val_t REGB0;
402 val_t tmp;
403 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
404 fra.me.file = LOCATE_nitc;
405 fra.me.line = 47;
406 fra.me.meth = LOCATE_nitc___NitCompiler___opt_output_format;
407 fra.me.has_broke = 0;
408 fra.me.REG_size = 1;
409 fra.me.REG[0] = NIT_NULL;
410 fra.me.REG[0] = p0;
411 /* ./nitc.nit:47 */
412 REGB0 = TAG_Bool(ATTR_nitc___NitCompiler____opt_output_format(fra.me.REG[0])!=NIT_NULL);
413 if (UNTAG_Bool(REGB0)) {
414 } else {
415 nit_abort("Uninitialized attribute %s", "_opt_output_format", LOCATE_nitc, 47);
416 }
417 fra.me.REG[0] = ATTR_nitc___NitCompiler____opt_output_format(fra.me.REG[0]);
418 stack_frame_head = fra.me.prev;
419 return fra.me.REG[0];
420 }
421 void nitc___NitCompiler___init(val_t p0, int* init_table){
422 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_NitCompiler].i;
423 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
424 val_t REGB0;
425 val_t tmp;
426 static val_t once_value_1; /* Once value */
427 if (init_table[itpos0]) return;
428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
429 fra.me.file = LOCATE_nitc;
430 fra.me.line = 49;
431 fra.me.meth = LOCATE_nitc___NitCompiler___init;
432 fra.me.has_broke = 0;
433 fra.me.REG_size = 4;
434 fra.me.REG[0] = NIT_NULL;
435 fra.me.REG[1] = NIT_NULL;
436 fra.me.REG[2] = NIT_NULL;
437 fra.me.REG[3] = NIT_NULL;
438 fra.me.REG[0] = p0;
439 /* ./nitc.nit:49 */
440 fra.me.REG[1] = fra.me.REG[0];
441 /* ./nitc.nit:51 */
442 if (!once_value_1) {
443 fra.me.REG[2] = BOX_NativeString("nitc");
444 REGB0 = TAG_Int(4);
445 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
446 once_value_1 = fra.me.REG[2];
447 register_static_object(&once_value_1);
448 } else fra.me.REG[2] = once_value_1;
449 fra.me.REG[2] = fra.me.REG[2];
450 CALL_abstracttool___AbstractCompiler___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
451 /* ./nitc.nit:52 */
452 fra.me.REG[2] = CALL_mmloader___ToolContext___option_context(fra.me.REG[1])(fra.me.REG[1]);
453 REGB0 = TAG_Int(18);
454 fra.me.REG[0] = NEW_Array_array___Array___with_capacity(REGB0);
455 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_output(fra.me.REG[1])(fra.me.REG[1]);
456 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
457 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_boost(fra.me.REG[1])(fra.me.REG[1]);
458 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
459 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_no_cc(fra.me.REG[1])(fra.me.REG[1]);
460 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
461 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_cc_no_link(fra.me.REG[1])(fra.me.REG[1]);
462 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
463 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_cc_libs(fra.me.REG[1])(fra.me.REG[1]);
464 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
465 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_cc_lib_paths(fra.me.REG[1])(fra.me.REG[1]);
466 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
467 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_cc_include_paths(fra.me.REG[1])(fra.me.REG[1]);
468 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
469 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global(fra.me.REG[1])(fra.me.REG[1]);
470 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
471 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_clibdir(fra.me.REG[1])(fra.me.REG[1]);
472 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
473 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_bindir(fra.me.REG[1])(fra.me.REG[1]);
474 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
475 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_compdir(fra.me.REG[1])(fra.me.REG[1]);
476 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
477 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_extension_prefix(fra.me.REG[1])(fra.me.REG[1]);
478 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
479 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_STF_opt(fra.me.REG[1])(fra.me.REG[1]);
480 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
481 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_DMR_opt(fra.me.REG[1])(fra.me.REG[1]);
482 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
483 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_callgraph(fra.me.REG[1])(fra.me.REG[1]);
484 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
485 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_inline_get_set(fra.me.REG[1])(fra.me.REG[1]);
486 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
487 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_RFIMA(fra.me.REG[1])(fra.me.REG[1]);
488 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
489 fra.me.REG[3] = CALL_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(fra.me.REG[1])(fra.me.REG[1]);
490 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
491 fra.me.REG[1] = CALL_nitc___NitCompiler___opt_output_format(fra.me.REG[1])(fra.me.REG[1]);
492 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
493 CALL_opts___OptionContext___add_option(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
494 stack_frame_head = fra.me.prev;
495 init_table[itpos0] = 1;
496 return;
497 }
498 void nitc___NitCompiler___process_options(val_t p0){
499 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
500 val_t REGB0;
501 val_t REGB1;
502 val_t tmp;
503 static val_t once_value_1; /* Once value */
504 static val_t once_value_2; /* Once value */
505 static val_t once_value_3; /* Once value */
506 static val_t once_value_4; /* Once value */
507 static val_t once_value_5; /* Once value */
508 static val_t once_value_6; /* Once value */
509 static val_t once_value_7; /* Once value */
510 static val_t once_value_8; /* Once value */
511 static val_t once_value_9; /* Once value */
512 static val_t once_value_10; /* Once value */
513 static val_t once_value_11; /* Once value */
514 static val_t once_value_12; /* Once value */
515 static val_t once_value_13; /* Once value */
516 static val_t once_value_14; /* Once value */
517 static val_t once_value_15; /* Once value */
518 static val_t once_value_16; /* Once value */
519 static val_t once_value_17; /* Once value */
520 static val_t once_value_18; /* Once value */
521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
522 fra.me.file = LOCATE_nitc;
523 fra.me.line = 55;
524 fra.me.meth = LOCATE_nitc___NitCompiler___process_options;
525 fra.me.has_broke = 0;
526 fra.me.REG_size = 4;
527 fra.me.REG[0] = NIT_NULL;
528 fra.me.REG[1] = NIT_NULL;
529 fra.me.REG[2] = NIT_NULL;
530 fra.me.REG[3] = NIT_NULL;
531 fra.me.REG[0] = p0;
532 /* ./nitc.nit:55 */
533 fra.me.REG[1] = fra.me.REG[0];
534 /* ./nitc.nit:57 */
535 CALL_SUPER_nitc___NitCompiler___process_options(fra.me.REG[0])(fra.me.REG[0]);
536 /* ./nitc.nit:58 */
537 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_output(fra.me.REG[1])(fra.me.REG[1]);
538 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
539 CALL_compiling_base___ToolContext___output_file__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
540 /* ./nitc.nit:59 */
541 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_boost(fra.me.REG[1])(fra.me.REG[1]);
542 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
543 CALL_compiling_base___ToolContext___boost__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
544 /* ./nitc.nit:60 */
545 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_no_cc(fra.me.REG[1])(fra.me.REG[1]);
546 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
547 CALL_compiling_base___ToolContext___no_cc__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
548 /* ./nitc.nit:61 */
549 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_cc_no_link(fra.me.REG[1])(fra.me.REG[1]);
550 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
551 REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[0]));
552 CALL_compiling_base___ToolContext___cc_link__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
553 /* ./nitc.nit:62 */
554 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_cc_lib_paths(fra.me.REG[1])(fra.me.REG[1]);
555 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
556 CALL_compiling_base___ToolContext___cc_lib_paths__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
557 /* ./nitc.nit:63 */
558 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_cc_libs(fra.me.REG[1])(fra.me.REG[1]);
559 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
560 CALL_compiling_base___ToolContext___cc_libs__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
561 /* ./nitc.nit:64 */
562 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_cc_include_paths(fra.me.REG[1])(fra.me.REG[1]);
563 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
564 CALL_compiling_base___ToolContext___cc_include_paths__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
565 /* ./nitc.nit:65 */
566 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_extension_prefix(fra.me.REG[1])(fra.me.REG[1]);
567 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
568 /* ./nitc.nit:66 */
569 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
570 if (UNTAG_Bool(REGB0)) {
571 } else {
572 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
573 if (UNTAG_Bool(REGB1)) {
574 REGB1 = TAG_Bool(false);
575 REGB0 = REGB1;
576 } else {
577 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
578 REGB0 = REGB1;
579 }
580 }
581 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
582 if (UNTAG_Bool(REGB0)) {
583 CALL_compiling_base___ToolContext___ext_prefix__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
584 } else {
585 if (!once_value_1) {
586 fra.me.REG[0] = BOX_NativeString("");
587 REGB0 = TAG_Int(0);
588 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
589 once_value_1 = fra.me.REG[0];
590 register_static_object(&once_value_1);
591 } else fra.me.REG[0] = once_value_1;
592 fra.me.REG[0] = fra.me.REG[0];
593 CALL_compiling_base___ToolContext___ext_prefix__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
594 }
595 /* ./nitc.nit:67 */
596 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global(fra.me.REG[1])(fra.me.REG[1]);
597 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
598 CALL_program___ToolContext___global__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
599 /* ./nitc.nit:68 */
600 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_STF_opt(fra.me.REG[1])(fra.me.REG[1]);
601 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
602 REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[0]));
603 CALL_program___ToolContext___use_SFT_optimization__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
604 /* ./nitc.nit:69 */
605 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_DMR_opt(fra.me.REG[1])(fra.me.REG[1]);
606 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
607 CALL_analysis___ToolContext___no_dead_method_removal__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
608 /* ./nitc.nit:70 */
609 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_inline_get_set(fra.me.REG[1])(fra.me.REG[1]);
610 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
611 CALL_analysis___ToolContext___no_inline_get_set__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
612 /* ./nitc.nit:71 */
613 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_RFIMA(fra.me.REG[1])(fra.me.REG[1]);
614 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
615 CALL_analysis___ToolContext___no_callgraph_from_init__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
616 /* ./nitc.nit:72 */
617 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_no_out_of_init_get_test_opt(fra.me.REG[1])(fra.me.REG[1]);
618 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
619 CALL_analysis___ToolContext___no_out_of_init_get_test_removal__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
620 /* ./nitc.nit:73 */
621 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_global_callgraph(fra.me.REG[1])(fra.me.REG[1]);
622 fra.me.REG[0] = CALL_opts___OptionEnum___value_name(fra.me.REG[0])(fra.me.REG[0]);
623 CALL_analysis___ToolContext___global_callgraph__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
624 /* ./nitc.nit:74 */
625 fra.me.REG[0] = CALL_nitc___NitCompiler___opt_compdir(fra.me.REG[1])(fra.me.REG[1]);
626 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
627 CALL_compiling_base___ToolContext___compdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
628 /* ./nitc.nit:75 */
629 fra.me.REG[0] = CALL_compiling_base___ToolContext___compdir(fra.me.REG[1])(fra.me.REG[1]);
630 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
631 if (UNTAG_Bool(REGB0)) {
632 } else {
633 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
634 if (UNTAG_Bool(REGB1)) {
635 REGB1 = TAG_Bool(false);
636 REGB0 = REGB1;
637 } else {
638 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
639 REGB0 = REGB1;
640 }
641 }
642 if (UNTAG_Bool(REGB0)) {
643 /* ./nitc.nit:76 */
644 if (!once_value_2) {
645 if (!once_value_3) {
646 fra.me.REG[0] = BOX_NativeString("NIT_COMPDIR");
647 REGB0 = TAG_Int(11);
648 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
649 once_value_3 = fra.me.REG[0];
650 register_static_object(&once_value_3);
651 } else fra.me.REG[0] = once_value_3;
652 fra.me.REG[0] = fra.me.REG[0];
653 fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
654 fra.me.REG[0] = CALL_environ___Symbol___environ(fra.me.REG[0])(fra.me.REG[0]);
655 once_value_2 = fra.me.REG[0];
656 register_static_object(&once_value_2);
657 } else fra.me.REG[0] = once_value_2;
658 fra.me.REG[0] = fra.me.REG[0];
659 /* ./nitc.nit:77 */
660 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
661 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
662 if (UNTAG_Bool(REGB0)) {
663 /* ./nitc.nit:78 */
664 CALL_compiling_base___ToolContext___compdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
665 }
666 /* ./nitc.nit:80 */
667 fra.me.REG[0] = CALL_compiling_base___ToolContext___compdir(fra.me.REG[1])(fra.me.REG[1]);
668 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
669 if (UNTAG_Bool(REGB0)) {
670 } else {
671 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
672 if (UNTAG_Bool(REGB1)) {
673 REGB1 = TAG_Bool(false);
674 REGB0 = REGB1;
675 } else {
676 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
677 REGB0 = REGB1;
678 }
679 }
680 if (UNTAG_Bool(REGB0)) {
681 /* ./nitc.nit:81 */
682 if (!once_value_4) {
683 fra.me.REG[0] = BOX_NativeString(".nit_compile");
684 REGB0 = TAG_Int(12);
685 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
686 once_value_4 = fra.me.REG[0];
687 register_static_object(&once_value_4);
688 } else fra.me.REG[0] = once_value_4;
689 fra.me.REG[0] = fra.me.REG[0];
690 CALL_compiling_base___ToolContext___compdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
691 }
692 }
693 /* ./nitc.nit:84 */
694 fra.me.REG[0] = CALL_compiling_base___ToolContext___compdir(fra.me.REG[1])(fra.me.REG[1]);
695 fra.me.REG[2] = CALL_compiling_base___ToolContext___ext_prefix(fra.me.REG[1])(fra.me.REG[1]);
696 fra.me.REG[2] = CALL_string___String_____plus(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
697 CALL_compiling_base___ToolContext___compdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
698 /* ./nitc.nit:86 */
699 fra.me.REG[2] = CALL_nitc___NitCompiler___opt_clibdir(fra.me.REG[1])(fra.me.REG[1]);
700 fra.me.REG[2] = CALL_opts___Option___value(fra.me.REG[2])(fra.me.REG[2]);
701 CALL_compiling_base___ToolContext___clibdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
702 /* ./nitc.nit:87 */
703 fra.me.REG[2] = CALL_compiling_base___ToolContext___clibdir(fra.me.REG[1])(fra.me.REG[1]);
704 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
705 if (UNTAG_Bool(REGB0)) {
706 } else {
707 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
708 if (UNTAG_Bool(REGB1)) {
709 REGB1 = TAG_Bool(false);
710 REGB0 = REGB1;
711 } else {
712 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
713 REGB0 = REGB1;
714 }
715 }
716 if (UNTAG_Bool(REGB0)) {
717 /* ./nitc.nit:88 */
718 if (!once_value_5) {
719 if (!once_value_6) {
720 fra.me.REG[2] = BOX_NativeString("NIT_DIR");
721 REGB0 = TAG_Int(7);
722 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
723 once_value_6 = fra.me.REG[2];
724 register_static_object(&once_value_6);
725 } else fra.me.REG[2] = once_value_6;
726 fra.me.REG[2] = fra.me.REG[2];
727 fra.me.REG[2] = CALL_symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
728 fra.me.REG[2] = CALL_environ___Symbol___environ(fra.me.REG[2])(fra.me.REG[2]);
729 once_value_5 = fra.me.REG[2];
730 register_static_object(&once_value_5);
731 } else fra.me.REG[2] = once_value_5;
732 fra.me.REG[2] = fra.me.REG[2];
733 /* ./nitc.nit:89 */
734 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
735 if (UNTAG_Bool(REGB0)) {
736 /* ./nitc.nit:90 */
737 REGB0 = TAG_Int(3);
738 fra.me.REG[0] = NEW_Array_array___Array___with_capacity(REGB0);
739 if (!once_value_7) {
740 fra.me.REG[3] = BOX_NativeString("");
741 REGB0 = TAG_Int(0);
742 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
743 once_value_7 = fra.me.REG[3];
744 register_static_object(&once_value_7);
745 } else fra.me.REG[3] = once_value_7;
746 fra.me.REG[3] = fra.me.REG[3];
747 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
748 fra.me.REG[3] = CALL_kernel___Object___sys(fra.me.REG[1])(fra.me.REG[1]);
749 fra.me.REG[3] = CALL_string___Sys___program_name(fra.me.REG[3])(fra.me.REG[3]);
750 fra.me.REG[3] = CALL_file___String___dirname(fra.me.REG[3])(fra.me.REG[3]);
751 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
752 if (!once_value_8) {
753 fra.me.REG[3] = BOX_NativeString("/../clib");
754 REGB0 = TAG_Int(8);
755 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
756 once_value_8 = fra.me.REG[3];
757 register_static_object(&once_value_8);
758 } else fra.me.REG[3] = once_value_8;
759 fra.me.REG[3] = fra.me.REG[3];
760 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
761 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
762 fra.me.REG[2] = fra.me.REG[0];
763 /* ./nitc.nit:91 */
764 REGB0 = CALL_file___String___file_exists(fra.me.REG[2])(fra.me.REG[2]);
765 if (UNTAG_Bool(REGB0)) {
766 CALL_compiling_base___ToolContext___clibdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
767 }
768 } else {
769 /* ./nitc.nit:93 */
770 REGB0 = TAG_Int(3);
771 fra.me.REG[0] = NEW_Array_array___Array___with_capacity(REGB0);
772 if (!once_value_9) {
773 fra.me.REG[3] = BOX_NativeString("");
774 REGB0 = TAG_Int(0);
775 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
776 once_value_9 = fra.me.REG[3];
777 register_static_object(&once_value_9);
778 } else fra.me.REG[3] = once_value_9;
779 fra.me.REG[3] = fra.me.REG[3];
780 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
781 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
782 if (!once_value_10) {
783 fra.me.REG[3] = BOX_NativeString("/clib");
784 REGB0 = TAG_Int(5);
785 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
786 once_value_10 = fra.me.REG[3];
787 register_static_object(&once_value_10);
788 } else fra.me.REG[3] = once_value_10;
789 fra.me.REG[3] = fra.me.REG[3];
790 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
791 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
792 fra.me.REG[2] = fra.me.REG[0];
793 /* ./nitc.nit:94 */
794 REGB0 = CALL_file___String___file_exists(fra.me.REG[2])(fra.me.REG[2]);
795 if (UNTAG_Bool(REGB0)) {
796 CALL_compiling_base___ToolContext___clibdir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
797 }
798 }
799 /* ./nitc.nit:96 */
800 fra.me.REG[2] = CALL_compiling_base___ToolContext___clibdir(fra.me.REG[1])(fra.me.REG[1]);
801 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
802 if (UNTAG_Bool(REGB0)) {
803 } else {
804 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
805 if (UNTAG_Bool(REGB1)) {
806 REGB1 = TAG_Bool(false);
807 REGB0 = REGB1;
808 } else {
809 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
810 REGB0 = REGB1;
811 }
812 }
813 if (UNTAG_Bool(REGB0)) {
814 /* ./nitc.nit:97 */
815 if (!once_value_11) {
816 fra.me.REG[2] = BOX_NativeString("Error: Cannot locate NIT C library directory. Uses --clibdir or envvar NIT_DIR.");
817 REGB0 = TAG_Int(79);
818 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
819 once_value_11 = fra.me.REG[2];
820 register_static_object(&once_value_11);
821 } else fra.me.REG[2] = once_value_11;
822 fra.me.REG[2] = fra.me.REG[2];
823 CALL_mmloader___ToolContext___fatal_error(fra.me.REG[1])(fra.me.REG[1], NIT_NULL, fra.me.REG[2]);
824 }
825 }
826 /* ./nitc.nit:100 */
827 fra.me.REG[2] = CALL_nitc___NitCompiler___opt_bindir(fra.me.REG[1])(fra.me.REG[1]);
828 fra.me.REG[2] = CALL_opts___Option___value(fra.me.REG[2])(fra.me.REG[2]);
829 CALL_compiling_base___ToolContext___bindir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
830 /* ./nitc.nit:102 */
831 fra.me.REG[2] = CALL_compiling_base___ToolContext___bindir(fra.me.REG[1])(fra.me.REG[1]);
832 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
833 if (UNTAG_Bool(REGB0)) {
834 } else {
835 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
836 if (UNTAG_Bool(REGB1)) {
837 REGB1 = TAG_Bool(false);
838 REGB0 = REGB1;
839 } else {
840 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
841 REGB0 = REGB1;
842 }
843 }
844 if (UNTAG_Bool(REGB0)) {
845 /* ./nitc.nit:103 */
846 if (!once_value_12) {
847 if (!once_value_13) {
848 fra.me.REG[2] = BOX_NativeString("NIT_DIR");
849 REGB0 = TAG_Int(7);
850 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
851 once_value_13 = fra.me.REG[2];
852 register_static_object(&once_value_13);
853 } else fra.me.REG[2] = once_value_13;
854 fra.me.REG[2] = fra.me.REG[2];
855 fra.me.REG[2] = CALL_symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
856 fra.me.REG[2] = CALL_environ___Symbol___environ(fra.me.REG[2])(fra.me.REG[2]);
857 once_value_12 = fra.me.REG[2];
858 register_static_object(&once_value_12);
859 } else fra.me.REG[2] = once_value_12;
860 fra.me.REG[2] = fra.me.REG[2];
861 /* ./nitc.nit:104 */
862 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
863 if (UNTAG_Bool(REGB0)) {
864 /* ./nitc.nit:105 */
865 REGB0 = TAG_Int(3);
866 fra.me.REG[0] = NEW_Array_array___Array___with_capacity(REGB0);
867 if (!once_value_14) {
868 fra.me.REG[3] = BOX_NativeString("");
869 REGB0 = TAG_Int(0);
870 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
871 once_value_14 = fra.me.REG[3];
872 register_static_object(&once_value_14);
873 } else fra.me.REG[3] = once_value_14;
874 fra.me.REG[3] = fra.me.REG[3];
875 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
876 fra.me.REG[3] = CALL_kernel___Object___sys(fra.me.REG[1])(fra.me.REG[1]);
877 fra.me.REG[3] = CALL_string___Sys___program_name(fra.me.REG[3])(fra.me.REG[3]);
878 fra.me.REG[3] = CALL_file___String___dirname(fra.me.REG[3])(fra.me.REG[3]);
879 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
880 if (!once_value_15) {
881 fra.me.REG[3] = BOX_NativeString("/../bin");
882 REGB0 = TAG_Int(7);
883 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
884 once_value_15 = fra.me.REG[3];
885 register_static_object(&once_value_15);
886 } else fra.me.REG[3] = once_value_15;
887 fra.me.REG[3] = fra.me.REG[3];
888 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
889 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
890 fra.me.REG[2] = fra.me.REG[0];
891 /* ./nitc.nit:106 */
892 REGB0 = CALL_file___String___file_exists(fra.me.REG[2])(fra.me.REG[2]);
893 if (UNTAG_Bool(REGB0)) {
894 CALL_compiling_base___ToolContext___bindir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
895 }
896 } else {
897 /* ./nitc.nit:108 */
898 REGB0 = TAG_Int(3);
899 fra.me.REG[0] = NEW_Array_array___Array___with_capacity(REGB0);
900 if (!once_value_16) {
901 fra.me.REG[3] = BOX_NativeString("");
902 REGB0 = TAG_Int(0);
903 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
904 once_value_16 = fra.me.REG[3];
905 register_static_object(&once_value_16);
906 } else fra.me.REG[3] = once_value_16;
907 fra.me.REG[3] = fra.me.REG[3];
908 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
909 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
910 if (!once_value_17) {
911 fra.me.REG[3] = BOX_NativeString("/bin");
912 REGB0 = TAG_Int(4);
913 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
914 once_value_17 = fra.me.REG[3];
915 register_static_object(&once_value_17);
916 } else fra.me.REG[3] = once_value_17;
917 fra.me.REG[3] = fra.me.REG[3];
918 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
919 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
920 fra.me.REG[2] = fra.me.REG[0];
921 /* ./nitc.nit:109 */
922 REGB0 = CALL_file___String___file_exists(fra.me.REG[2])(fra.me.REG[2]);
923 if (UNTAG_Bool(REGB0)) {
924 CALL_compiling_base___ToolContext___bindir__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
925 }
926 }
927 /* ./nitc.nit:111 */
928 fra.me.REG[2] = CALL_compiling_base___ToolContext___bindir(fra.me.REG[1])(fra.me.REG[1]);
929 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
930 if (UNTAG_Bool(REGB0)) {
931 } else {
932 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
933 if (UNTAG_Bool(REGB1)) {
934 REGB1 = TAG_Bool(false);
935 REGB0 = REGB1;
936 } else {
937 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
938 REGB0 = REGB1;
939 }
940 }
941 if (UNTAG_Bool(REGB0)) {
942 /* ./nitc.nit:112 */
943 if (!once_value_18) {
944 fra.me.REG[2] = BOX_NativeString("Error: Cannot locate NIT tools directory. Uses --bindir or envvar NIT_DIR.");
945 REGB0 = TAG_Int(74);
946 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
947 once_value_18 = fra.me.REG[2];
948 register_static_object(&once_value_18);
949 } else fra.me.REG[2] = once_value_18;
950 fra.me.REG[2] = fra.me.REG[2];
951 CALL_mmloader___ToolContext___fatal_error(fra.me.REG[1])(fra.me.REG[1], NIT_NULL, fra.me.REG[2]);
952 }
953 }
954 stack_frame_head = fra.me.prev;
955 return;
956 }
957 void nitc___NitCompiler___perform_work(val_t p0, val_t p1){
958 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
959 val_t REGB0;
960 val_t REGB1;
961 val_t tmp;
962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
963 fra.me.file = LOCATE_nitc;
964 fra.me.line = 117;
965 fra.me.meth = LOCATE_nitc___NitCompiler___perform_work;
966 fra.me.has_broke = 0;
967 fra.me.REG_size = 5;
968 fra.me.REG[0] = NIT_NULL;
969 fra.me.REG[1] = NIT_NULL;
970 fra.me.REG[2] = NIT_NULL;
971 fra.me.REG[3] = NIT_NULL;
972 fra.me.REG[4] = NIT_NULL;
973 fra.me.REG[0] = p0;
974 fra.me.REG[1] = p1;
975 /* ./../lib/standard//collection//array.nit:234 */
976 REGB0 = TAG_Int(0);
977 /* ./../lib/standard//collection//array.nit:235 */
978 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
979 if (UNTAG_Bool(REGB1)) {
980 } else {
981 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
982 }
983 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
984 /* ./../lib/standard//collection//array.nit:236 */
985 fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[1]);
986 /* ./../lib/standard//collection//array.nit:237 */
987 while(1) {
988 /* ./../lib/standard//collection//array.nit:23 */
989 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
990 if (UNTAG_Bool(REGB1)) {
991 } else {
992 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
993 }
994 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
995 /* ./../lib/standard//kernel.nit:212 */
996 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
997 /* ./../lib/standard//collection//array.nit:237 */
998 if (UNTAG_Bool(REGB1)) {
999 /* ./../lib/standard//collection//array.nit:238 */
1000 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1001 if (UNTAG_Bool(REGB1)) {
1002 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1003 }
1004 /* ./../lib/standard//collection//array.nit:654 */
1005 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
1006 /* ./nitc.nit:120 */
1007 fra.me.REG[3] = NEW_Program_program___Program___init(fra.me.REG[3], fra.me.REG[0]);
1008 /* ./nitc.nit:121 */
1009 fra.me.REG[4] = CALL_nitc___NitCompiler___opt_output_format(fra.me.REG[0])(fra.me.REG[0]);
1010 fra.me.REG[4] = CALL_opts___OptionEnum___value_name(fra.me.REG[4])(fra.me.REG[4]);
1011 CALL_compiling___Program___output_format__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1012 /* ./nitc.nit:122 */
1013 CALL_program___Program___compute_main_method(fra.me.REG[3])(fra.me.REG[3]);
1014 /* ./nitc.nit:123 */
1015 CALL_program___Program___generate_allocation_iroutines(fra.me.REG[3])(fra.me.REG[3]);
1016 /* ./nitc.nit:124 */
1017 REGB1 = CALL_program___ToolContext___global(fra.me.REG[0])(fra.me.REG[0]);
1018 if (UNTAG_Bool(REGB1)) {
1019 /* ./nitc.nit:125 */
1020 CALL_analysis___Program___do_global_pre_analysis_optimizations(fra.me.REG[3])(fra.me.REG[3]);
1021 /* ./nitc.nit:126 */
1022 CALL_analysis___Program___do_global_analysis(fra.me.REG[3])(fra.me.REG[3]);
1023 /* ./nitc.nit:127 */
1024 CALL_analysis___Program___do_global_post_analysis_optimizations(fra.me.REG[3])(fra.me.REG[3]);
1025 /* ./nitc.nit:128 */
1026 fra.me.REG[4] = CALL_mmloader___ToolContext___opt_log(fra.me.REG[0])(fra.me.REG[0]);
1027 fra.me.REG[4] = CALL_opts___Option___value(fra.me.REG[4])(fra.me.REG[4]);
1028 if (UNTAG_Bool(fra.me.REG[4])) {
1029 /* ./nitc.nit:129 */
1030 fra.me.REG[4] = CALL_mmloader___ToolContext___log_directory(fra.me.REG[0])(fra.me.REG[0]);
1031 CALL_analysis___Program___dump_global_optimizations_information(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1032 /* ./nitc.nit:130 */
1033 fra.me.REG[4] = CALL_mmloader___ToolContext___log_directory(fra.me.REG[0])(fra.me.REG[0]);
1034 CALL_analysis___Program___dump_global_analysis_information(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1035 }
1036 }
1037 /* ./nitc.nit:133 */
1038 CALL_table_computation___Program___do_table_computation(fra.me.REG[3])(fra.me.REG[3]);
1039 /* ./nitc.nit:134 */
1040 CALL_compiling___Program___compile_prog(fra.me.REG[3])(fra.me.REG[3]);
1041 /* ./../lib/standard//collection//array.nit:239 */
1042 REGB1 = TAG_Int(1);
1043 /* ./../lib/standard//kernel.nit:215 */
1044 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1045 /* ./../lib/standard//collection//array.nit:239 */
1046 REGB0 = REGB1;
1047 } else {
1048 /* ./../lib/standard//collection//array.nit:237 */
1049 goto label1;
1050 }
1051 }
1052 label1: while(0);
1053 stack_frame_head = fra.me.prev;
1054 return;
1055 }
1056 void nitc___Sys___main(val_t p0){
1057 struct {struct stack_frame_t me;} fra;
1058 val_t tmp;
1059 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1060 fra.me.file = LOCATE_nitc;
1061 fra.me.line = 139;
1062 fra.me.meth = LOCATE_nitc___Sys___main;
1063 fra.me.has_broke = 0;
1064 fra.me.REG_size = 1;
1065 fra.me.REG[0] = NIT_NULL;
1066 fra.me.REG[0] = p0;
1067 /* ./nitc.nit:139 */
1068 fra.me.REG[0] = NEW_NitCompiler_nitc___NitCompiler___init();
1069 /* ./nitc.nit:140 */
1070 CALL_abstracttool___AbstractCompiler___exec_cmd_line(fra.me.REG[0])(fra.me.REG[0]);
1071 stack_frame_head = fra.me.prev;
1072 return;
1073 }