update NOTICE and LICENSE
[nit.git] / c_src / compiling_base._sep.c
1 /* This C file is generated by NIT to compile module compiling_base. */
2 #include "compiling_base._sep.h"
3 val_t compiling_base___ToolContext___compdir(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t tmp;
6 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7 fra.me.file = LOCATE_compiling_base;
8 fra.me.line = 27;
9 fra.me.meth = LOCATE_compiling_base___ToolContext___compdir;
10 fra.me.has_broke = 0;
11 fra.me.REG_size = 1;
12 fra.me.REG[0] = NIT_NULL;
13 fra.me.REG[0] = p0;
14 /* ./compiling//compiling_base.nit:27 */
15 fra.me.REG[0] = ATTR_compiling_base___ToolContext____compdir(fra.me.REG[0]);
16 stack_frame_head = fra.me.prev;
17 return fra.me.REG[0];
18 }
19 void compiling_base___ToolContext___compdir__eq(val_t p0, val_t p1){
20 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21 val_t tmp;
22 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23 fra.me.file = LOCATE_compiling_base;
24 fra.me.line = 27;
25 fra.me.meth = LOCATE_compiling_base___ToolContext___compdir__eq;
26 fra.me.has_broke = 0;
27 fra.me.REG_size = 2;
28 fra.me.REG[0] = NIT_NULL;
29 fra.me.REG[1] = NIT_NULL;
30 fra.me.REG[0] = p0;
31 fra.me.REG[1] = p1;
32 /* ./compiling//compiling_base.nit:27 */
33 ATTR_compiling_base___ToolContext____compdir(fra.me.REG[0]) = fra.me.REG[1];
34 stack_frame_head = fra.me.prev;
35 return;
36 }
37 val_t compiling_base___ToolContext___clibdir(val_t p0){
38 struct {struct stack_frame_t me;} fra;
39 val_t tmp;
40 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41 fra.me.file = LOCATE_compiling_base;
42 fra.me.line = 28;
43 fra.me.meth = LOCATE_compiling_base___ToolContext___clibdir;
44 fra.me.has_broke = 0;
45 fra.me.REG_size = 1;
46 fra.me.REG[0] = NIT_NULL;
47 fra.me.REG[0] = p0;
48 /* ./compiling//compiling_base.nit:28 */
49 fra.me.REG[0] = ATTR_compiling_base___ToolContext____clibdir(fra.me.REG[0]);
50 stack_frame_head = fra.me.prev;
51 return fra.me.REG[0];
52 }
53 void compiling_base___ToolContext___clibdir__eq(val_t p0, val_t p1){
54 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
55 val_t tmp;
56 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57 fra.me.file = LOCATE_compiling_base;
58 fra.me.line = 28;
59 fra.me.meth = LOCATE_compiling_base___ToolContext___clibdir__eq;
60 fra.me.has_broke = 0;
61 fra.me.REG_size = 2;
62 fra.me.REG[0] = NIT_NULL;
63 fra.me.REG[1] = NIT_NULL;
64 fra.me.REG[0] = p0;
65 fra.me.REG[1] = p1;
66 /* ./compiling//compiling_base.nit:28 */
67 ATTR_compiling_base___ToolContext____clibdir(fra.me.REG[0]) = fra.me.REG[1];
68 stack_frame_head = fra.me.prev;
69 return;
70 }
71 val_t compiling_base___ToolContext___bindir(val_t p0){
72 struct {struct stack_frame_t me;} fra;
73 val_t tmp;
74 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75 fra.me.file = LOCATE_compiling_base;
76 fra.me.line = 29;
77 fra.me.meth = LOCATE_compiling_base___ToolContext___bindir;
78 fra.me.has_broke = 0;
79 fra.me.REG_size = 1;
80 fra.me.REG[0] = NIT_NULL;
81 fra.me.REG[0] = p0;
82 /* ./compiling//compiling_base.nit:29 */
83 fra.me.REG[0] = ATTR_compiling_base___ToolContext____bindir(fra.me.REG[0]);
84 stack_frame_head = fra.me.prev;
85 return fra.me.REG[0];
86 }
87 void compiling_base___ToolContext___bindir__eq(val_t p0, val_t p1){
88 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
89 val_t tmp;
90 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91 fra.me.file = LOCATE_compiling_base;
92 fra.me.line = 29;
93 fra.me.meth = LOCATE_compiling_base___ToolContext___bindir__eq;
94 fra.me.has_broke = 0;
95 fra.me.REG_size = 2;
96 fra.me.REG[0] = NIT_NULL;
97 fra.me.REG[1] = NIT_NULL;
98 fra.me.REG[0] = p0;
99 fra.me.REG[1] = p1;
100 /* ./compiling//compiling_base.nit:29 */
101 ATTR_compiling_base___ToolContext____bindir(fra.me.REG[0]) = fra.me.REG[1];
102 stack_frame_head = fra.me.prev;
103 return;
104 }
105 val_t compiling_base___ToolContext___output_file(val_t p0){
106 struct {struct stack_frame_t me;} fra;
107 val_t tmp;
108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109 fra.me.file = LOCATE_compiling_base;
110 fra.me.line = 30;
111 fra.me.meth = LOCATE_compiling_base___ToolContext___output_file;
112 fra.me.has_broke = 0;
113 fra.me.REG_size = 1;
114 fra.me.REG[0] = NIT_NULL;
115 fra.me.REG[0] = p0;
116 /* ./compiling//compiling_base.nit:30 */
117 fra.me.REG[0] = ATTR_compiling_base___ToolContext____output_file(fra.me.REG[0]);
118 stack_frame_head = fra.me.prev;
119 return fra.me.REG[0];
120 }
121 void compiling_base___ToolContext___output_file__eq(val_t p0, val_t p1){
122 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
123 val_t tmp;
124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
125 fra.me.file = LOCATE_compiling_base;
126 fra.me.line = 30;
127 fra.me.meth = LOCATE_compiling_base___ToolContext___output_file__eq;
128 fra.me.has_broke = 0;
129 fra.me.REG_size = 2;
130 fra.me.REG[0] = NIT_NULL;
131 fra.me.REG[1] = NIT_NULL;
132 fra.me.REG[0] = p0;
133 fra.me.REG[1] = p1;
134 /* ./compiling//compiling_base.nit:30 */
135 ATTR_compiling_base___ToolContext____output_file(fra.me.REG[0]) = fra.me.REG[1];
136 stack_frame_head = fra.me.prev;
137 return;
138 }
139 val_t compiling_base___ToolContext___boost(val_t p0){
140 struct {struct stack_frame_t me;} fra;
141 val_t REGB0;
142 val_t tmp;
143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
144 fra.me.file = LOCATE_compiling_base;
145 fra.me.line = 31;
146 fra.me.meth = LOCATE_compiling_base___ToolContext___boost;
147 fra.me.has_broke = 0;
148 fra.me.REG_size = 1;
149 fra.me.REG[0] = NIT_NULL;
150 fra.me.REG[0] = p0;
151 /* ./compiling//compiling_base.nit:31 */
152 REGB0 = TAG_Bool(ATTR_compiling_base___ToolContext____boost(fra.me.REG[0])!=NIT_NULL);
153 if (UNTAG_Bool(REGB0)) {
154 } else {
155 nit_abort("Uninitialized attribute %s", "_boost", LOCATE_compiling_base, 31);
156 }
157 REGB0 = ATTR_compiling_base___ToolContext____boost(fra.me.REG[0]);
158 stack_frame_head = fra.me.prev;
159 return REGB0;
160 }
161 void compiling_base___ToolContext___boost__eq(val_t p0, val_t p1){
162 struct {struct stack_frame_t me;} fra;
163 val_t REGB0;
164 val_t tmp;
165 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
166 fra.me.file = LOCATE_compiling_base;
167 fra.me.line = 31;
168 fra.me.meth = LOCATE_compiling_base___ToolContext___boost__eq;
169 fra.me.has_broke = 0;
170 fra.me.REG_size = 1;
171 fra.me.REG[0] = NIT_NULL;
172 fra.me.REG[0] = p0;
173 REGB0 = p1;
174 /* ./compiling//compiling_base.nit:31 */
175 ATTR_compiling_base___ToolContext____boost(fra.me.REG[0]) = REGB0;
176 stack_frame_head = fra.me.prev;
177 return;
178 }
179 val_t compiling_base___ToolContext___no_cc(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_compiling_base;
185 fra.me.line = 32;
186 fra.me.meth = LOCATE_compiling_base___ToolContext___no_cc;
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 /* ./compiling//compiling_base.nit:32 */
192 REGB0 = TAG_Bool(ATTR_compiling_base___ToolContext____no_cc(fra.me.REG[0])!=NIT_NULL);
193 if (UNTAG_Bool(REGB0)) {
194 } else {
195 nit_abort("Uninitialized attribute %s", "_no_cc", LOCATE_compiling_base, 32);
196 }
197 REGB0 = ATTR_compiling_base___ToolContext____no_cc(fra.me.REG[0]);
198 stack_frame_head = fra.me.prev;
199 return REGB0;
200 }
201 void compiling_base___ToolContext___no_cc__eq(val_t p0, val_t p1){
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_compiling_base;
207 fra.me.line = 32;
208 fra.me.meth = LOCATE_compiling_base___ToolContext___no_cc__eq;
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 REGB0 = p1;
214 /* ./compiling//compiling_base.nit:32 */
215 ATTR_compiling_base___ToolContext____no_cc(fra.me.REG[0]) = REGB0;
216 stack_frame_head = fra.me.prev;
217 return;
218 }
219 val_t compiling_base___ToolContext___cc_link(val_t p0){
220 struct {struct stack_frame_t me;} fra;
221 val_t REGB0;
222 val_t tmp;
223 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
224 fra.me.file = LOCATE_compiling_base;
225 fra.me.line = 33;
226 fra.me.meth = LOCATE_compiling_base___ToolContext___cc_link;
227 fra.me.has_broke = 0;
228 fra.me.REG_size = 1;
229 fra.me.REG[0] = NIT_NULL;
230 fra.me.REG[0] = p0;
231 /* ./compiling//compiling_base.nit:33 */
232 REGB0 = TAG_Bool(ATTR_compiling_base___ToolContext____cc_link(fra.me.REG[0])!=NIT_NULL);
233 if (UNTAG_Bool(REGB0)) {
234 } else {
235 nit_abort("Uninitialized attribute %s", "_cc_link", LOCATE_compiling_base, 33);
236 }
237 REGB0 = ATTR_compiling_base___ToolContext____cc_link(fra.me.REG[0]);
238 stack_frame_head = fra.me.prev;
239 return REGB0;
240 }
241 void compiling_base___ToolContext___cc_link__eq(val_t p0, val_t p1){
242 struct {struct stack_frame_t me;} fra;
243 val_t REGB0;
244 val_t tmp;
245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
246 fra.me.file = LOCATE_compiling_base;
247 fra.me.line = 33;
248 fra.me.meth = LOCATE_compiling_base___ToolContext___cc_link__eq;
249 fra.me.has_broke = 0;
250 fra.me.REG_size = 1;
251 fra.me.REG[0] = NIT_NULL;
252 fra.me.REG[0] = p0;
253 REGB0 = p1;
254 /* ./compiling//compiling_base.nit:33 */
255 ATTR_compiling_base___ToolContext____cc_link(fra.me.REG[0]) = REGB0;
256 stack_frame_head = fra.me.prev;
257 return;
258 }
259 val_t compiling_base___ToolContext___cc_libs(val_t p0){
260 struct {struct stack_frame_t me;} fra;
261 val_t REGB0;
262 val_t tmp;
263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
264 fra.me.file = LOCATE_compiling_base;
265 fra.me.line = 34;
266 fra.me.meth = LOCATE_compiling_base___ToolContext___cc_libs;
267 fra.me.has_broke = 0;
268 fra.me.REG_size = 1;
269 fra.me.REG[0] = NIT_NULL;
270 fra.me.REG[0] = p0;
271 /* ./compiling//compiling_base.nit:34 */
272 REGB0 = TAG_Bool(ATTR_compiling_base___ToolContext____cc_libs(fra.me.REG[0])!=NIT_NULL);
273 if (UNTAG_Bool(REGB0)) {
274 } else {
275 nit_abort("Uninitialized attribute %s", "_cc_libs", LOCATE_compiling_base, 34);
276 }
277 fra.me.REG[0] = ATTR_compiling_base___ToolContext____cc_libs(fra.me.REG[0]);
278 stack_frame_head = fra.me.prev;
279 return fra.me.REG[0];
280 }
281 void compiling_base___ToolContext___cc_libs__eq(val_t p0, val_t p1){
282 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
283 val_t tmp;
284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
285 fra.me.file = LOCATE_compiling_base;
286 fra.me.line = 34;
287 fra.me.meth = LOCATE_compiling_base___ToolContext___cc_libs__eq;
288 fra.me.has_broke = 0;
289 fra.me.REG_size = 2;
290 fra.me.REG[0] = NIT_NULL;
291 fra.me.REG[1] = NIT_NULL;
292 fra.me.REG[0] = p0;
293 fra.me.REG[1] = p1;
294 /* ./compiling//compiling_base.nit:34 */
295 ATTR_compiling_base___ToolContext____cc_libs(fra.me.REG[0]) = fra.me.REG[1];
296 stack_frame_head = fra.me.prev;
297 return;
298 }
299 val_t compiling_base___ToolContext___cc_lib_paths(val_t p0){
300 struct {struct stack_frame_t me;} fra;
301 val_t REGB0;
302 val_t tmp;
303 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
304 fra.me.file = LOCATE_compiling_base;
305 fra.me.line = 35;
306 fra.me.meth = LOCATE_compiling_base___ToolContext___cc_lib_paths;
307 fra.me.has_broke = 0;
308 fra.me.REG_size = 1;
309 fra.me.REG[0] = NIT_NULL;
310 fra.me.REG[0] = p0;
311 /* ./compiling//compiling_base.nit:35 */
312 REGB0 = TAG_Bool(ATTR_compiling_base___ToolContext____cc_lib_paths(fra.me.REG[0])!=NIT_NULL);
313 if (UNTAG_Bool(REGB0)) {
314 } else {
315 nit_abort("Uninitialized attribute %s", "_cc_lib_paths", LOCATE_compiling_base, 35);
316 }
317 fra.me.REG[0] = ATTR_compiling_base___ToolContext____cc_lib_paths(fra.me.REG[0]);
318 stack_frame_head = fra.me.prev;
319 return fra.me.REG[0];
320 }
321 void compiling_base___ToolContext___cc_lib_paths__eq(val_t p0, val_t p1){
322 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
323 val_t tmp;
324 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
325 fra.me.file = LOCATE_compiling_base;
326 fra.me.line = 35;
327 fra.me.meth = LOCATE_compiling_base___ToolContext___cc_lib_paths__eq;
328 fra.me.has_broke = 0;
329 fra.me.REG_size = 2;
330 fra.me.REG[0] = NIT_NULL;
331 fra.me.REG[1] = NIT_NULL;
332 fra.me.REG[0] = p0;
333 fra.me.REG[1] = p1;
334 /* ./compiling//compiling_base.nit:35 */
335 ATTR_compiling_base___ToolContext____cc_lib_paths(fra.me.REG[0]) = fra.me.REG[1];
336 stack_frame_head = fra.me.prev;
337 return;
338 }
339 val_t compiling_base___ToolContext___cc_include_paths(val_t p0){
340 struct {struct stack_frame_t me;} fra;
341 val_t REGB0;
342 val_t tmp;
343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
344 fra.me.file = LOCATE_compiling_base;
345 fra.me.line = 36;
346 fra.me.meth = LOCATE_compiling_base___ToolContext___cc_include_paths;
347 fra.me.has_broke = 0;
348 fra.me.REG_size = 1;
349 fra.me.REG[0] = NIT_NULL;
350 fra.me.REG[0] = p0;
351 /* ./compiling//compiling_base.nit:36 */
352 REGB0 = TAG_Bool(ATTR_compiling_base___ToolContext____cc_include_paths(fra.me.REG[0])!=NIT_NULL);
353 if (UNTAG_Bool(REGB0)) {
354 } else {
355 nit_abort("Uninitialized attribute %s", "_cc_include_paths", LOCATE_compiling_base, 36);
356 }
357 fra.me.REG[0] = ATTR_compiling_base___ToolContext____cc_include_paths(fra.me.REG[0]);
358 stack_frame_head = fra.me.prev;
359 return fra.me.REG[0];
360 }
361 void compiling_base___ToolContext___cc_include_paths__eq(val_t p0, val_t p1){
362 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
363 val_t tmp;
364 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
365 fra.me.file = LOCATE_compiling_base;
366 fra.me.line = 36;
367 fra.me.meth = LOCATE_compiling_base___ToolContext___cc_include_paths__eq;
368 fra.me.has_broke = 0;
369 fra.me.REG_size = 2;
370 fra.me.REG[0] = NIT_NULL;
371 fra.me.REG[1] = NIT_NULL;
372 fra.me.REG[0] = p0;
373 fra.me.REG[1] = p1;
374 /* ./compiling//compiling_base.nit:36 */
375 ATTR_compiling_base___ToolContext____cc_include_paths(fra.me.REG[0]) = fra.me.REG[1];
376 stack_frame_head = fra.me.prev;
377 return;
378 }
379 val_t compiling_base___ToolContext___ext_prefix(val_t p0){
380 struct {struct stack_frame_t me;} fra;
381 val_t REGB0;
382 val_t tmp;
383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
384 fra.me.file = LOCATE_compiling_base;
385 fra.me.line = 37;
386 fra.me.meth = LOCATE_compiling_base___ToolContext___ext_prefix;
387 fra.me.has_broke = 0;
388 fra.me.REG_size = 1;
389 fra.me.REG[0] = NIT_NULL;
390 fra.me.REG[0] = p0;
391 /* ./compiling//compiling_base.nit:37 */
392 REGB0 = TAG_Bool(ATTR_compiling_base___ToolContext____ext_prefix(fra.me.REG[0])!=NIT_NULL);
393 if (UNTAG_Bool(REGB0)) {
394 } else {
395 nit_abort("Uninitialized attribute %s", "_ext_prefix", LOCATE_compiling_base, 37);
396 }
397 fra.me.REG[0] = ATTR_compiling_base___ToolContext____ext_prefix(fra.me.REG[0]);
398 stack_frame_head = fra.me.prev;
399 return fra.me.REG[0];
400 }
401 void compiling_base___ToolContext___ext_prefix__eq(val_t p0, val_t p1){
402 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
403 val_t tmp;
404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
405 fra.me.file = LOCATE_compiling_base;
406 fra.me.line = 37;
407 fra.me.meth = LOCATE_compiling_base___ToolContext___ext_prefix__eq;
408 fra.me.has_broke = 0;
409 fra.me.REG_size = 2;
410 fra.me.REG[0] = NIT_NULL;
411 fra.me.REG[1] = NIT_NULL;
412 fra.me.REG[0] = p0;
413 fra.me.REG[1] = p1;
414 /* ./compiling//compiling_base.nit:37 */
415 ATTR_compiling_base___ToolContext____ext_prefix(fra.me.REG[0]) = fra.me.REG[1];
416 stack_frame_head = fra.me.prev;
417 return;
418 }
419 void compiling_base___CProgram___init(val_t p0, val_t p1, int* init_table){
420 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_CProgram].i;
421 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
422 val_t REGB0;
423 val_t tmp;
424 static val_t once_value_1; /* Once value */
425 static val_t once_value_2; /* Once value */
426 static val_t once_value_3; /* 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_compiling_base;
430 fra.me.line = 42;
431 fra.me.meth = LOCATE_compiling_base___CProgram___init;
432 fra.me.has_broke = 0;
433 fra.me.REG_size = 3;
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[0] = p0;
438 fra.me.REG[1] = p1;
439 /* ./compiling//compiling_base.nit:44 */
440 ATTR_compiling_base___CProgram____program(fra.me.REG[0]) = fra.me.REG[1];
441 /* ./compiling//compiling_base.nit:45 */
442 fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[1])(fra.me.REG[1]);
443 fra.me.REG[1] = CALL_compiling_base___ToolContext___compdir(fra.me.REG[1])(fra.me.REG[1]);
444 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
445 if (UNTAG_Bool(REGB0)) {
446 } else {
447 nit_abort("Cast failed", NULL, LOCATE_compiling_base, 45);
448 }
449 ATTR_compiling_base___CProgram____compdir(fra.me.REG[0]) = fra.me.REG[1];
450 /* ./compiling//compiling_base.nit:46 */
451 REGB0 = TAG_Int(5);
452 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
453 if (!once_value_1) {
454 fra.me.REG[2] = BOX_NativeString("");
455 REGB0 = TAG_Int(0);
456 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
457 once_value_1 = fra.me.REG[2];
458 register_static_object(&once_value_1);
459 } else fra.me.REG[2] = once_value_1;
460 fra.me.REG[2] = fra.me.REG[2];
461 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
462 fra.me.REG[2] = CALL_compiling_base___CProgram___compdir(fra.me.REG[0])(fra.me.REG[0]);
463 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
464 if (!once_value_2) {
465 fra.me.REG[2] = BOX_NativeString("/");
466 REGB0 = TAG_Int(1);
467 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
468 once_value_2 = fra.me.REG[2];
469 register_static_object(&once_value_2);
470 } else fra.me.REG[2] = once_value_2;
471 fra.me.REG[2] = fra.me.REG[2];
472 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
473 fra.me.REG[2] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
474 fra.me.REG[2] = CALL_program___Program___main_module(fra.me.REG[2])(fra.me.REG[2]);
475 fra.me.REG[2] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[2])(fra.me.REG[2]);
476 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
477 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
478 if (!once_value_3) {
479 fra.me.REG[2] = BOX_NativeString("._build.sh");
480 REGB0 = TAG_Int(10);
481 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
482 once_value_3 = fra.me.REG[2];
483 register_static_object(&once_value_3);
484 } else fra.me.REG[2] = once_value_3;
485 fra.me.REG[2] = fra.me.REG[2];
486 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
487 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
488 ATTR_compiling_base___CProgram____build_file(fra.me.REG[0]) = fra.me.REG[1];
489 stack_frame_head = fra.me.prev;
490 init_table[itpos0] = 1;
491 return;
492 }
493 val_t compiling_base___CProgram___program(val_t p0){
494 struct {struct stack_frame_t me;} fra;
495 val_t REGB0;
496 val_t tmp;
497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
498 fra.me.file = LOCATE_compiling_base;
499 fra.me.line = 49;
500 fra.me.meth = LOCATE_compiling_base___CProgram___program;
501 fra.me.has_broke = 0;
502 fra.me.REG_size = 1;
503 fra.me.REG[0] = NIT_NULL;
504 fra.me.REG[0] = p0;
505 /* ./compiling//compiling_base.nit:49 */
506 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____program(fra.me.REG[0])!=NIT_NULL);
507 if (UNTAG_Bool(REGB0)) {
508 } else {
509 nit_abort("Uninitialized attribute %s", "_program", LOCATE_compiling_base, 49);
510 }
511 fra.me.REG[0] = ATTR_compiling_base___CProgram____program(fra.me.REG[0]);
512 stack_frame_head = fra.me.prev;
513 return fra.me.REG[0];
514 }
515 val_t compiling_base___CProgram___files(val_t p0){
516 struct {struct stack_frame_t me;} fra;
517 val_t REGB0;
518 val_t tmp;
519 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
520 fra.me.file = LOCATE_compiling_base;
521 fra.me.line = 52;
522 fra.me.meth = LOCATE_compiling_base___CProgram___files;
523 fra.me.has_broke = 0;
524 fra.me.REG_size = 1;
525 fra.me.REG[0] = NIT_NULL;
526 fra.me.REG[0] = p0;
527 /* ./compiling//compiling_base.nit:52 */
528 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____files(fra.me.REG[0])!=NIT_NULL);
529 if (UNTAG_Bool(REGB0)) {
530 } else {
531 nit_abort("Uninitialized attribute %s", "_files", LOCATE_compiling_base, 52);
532 }
533 fra.me.REG[0] = ATTR_compiling_base___CProgram____files(fra.me.REG[0]);
534 stack_frame_head = fra.me.prev;
535 return fra.me.REG[0];
536 }
537 val_t compiling_base___CProgram___include_dirs(val_t p0){
538 struct {struct stack_frame_t me;} fra;
539 val_t REGB0;
540 val_t tmp;
541 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
542 fra.me.file = LOCATE_compiling_base;
543 fra.me.line = 55;
544 fra.me.meth = LOCATE_compiling_base___CProgram___include_dirs;
545 fra.me.has_broke = 0;
546 fra.me.REG_size = 1;
547 fra.me.REG[0] = NIT_NULL;
548 fra.me.REG[0] = p0;
549 /* ./compiling//compiling_base.nit:55 */
550 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____include_dirs(fra.me.REG[0])!=NIT_NULL);
551 if (UNTAG_Bool(REGB0)) {
552 } else {
553 nit_abort("Uninitialized attribute %s", "_include_dirs", LOCATE_compiling_base, 55);
554 }
555 fra.me.REG[0] = ATTR_compiling_base___CProgram____include_dirs(fra.me.REG[0]);
556 stack_frame_head = fra.me.prev;
557 return fra.me.REG[0];
558 }
559 val_t compiling_base___CProgram___build_file(val_t p0){
560 struct {struct stack_frame_t me;} fra;
561 val_t REGB0;
562 val_t tmp;
563 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
564 fra.me.file = LOCATE_compiling_base;
565 fra.me.line = 58;
566 fra.me.meth = LOCATE_compiling_base___CProgram___build_file;
567 fra.me.has_broke = 0;
568 fra.me.REG_size = 1;
569 fra.me.REG[0] = NIT_NULL;
570 fra.me.REG[0] = p0;
571 /* ./compiling//compiling_base.nit:58 */
572 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____build_file(fra.me.REG[0])!=NIT_NULL);
573 if (UNTAG_Bool(REGB0)) {
574 } else {
575 nit_abort("Uninitialized attribute %s", "_build_file", LOCATE_compiling_base, 58);
576 }
577 fra.me.REG[0] = ATTR_compiling_base___CProgram____build_file(fra.me.REG[0]);
578 stack_frame_head = fra.me.prev;
579 return fra.me.REG[0];
580 }
581 val_t compiling_base___CProgram___compdir(val_t p0){
582 struct {struct stack_frame_t me;} fra;
583 val_t REGB0;
584 val_t tmp;
585 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
586 fra.me.file = LOCATE_compiling_base;
587 fra.me.line = 61;
588 fra.me.meth = LOCATE_compiling_base___CProgram___compdir;
589 fra.me.has_broke = 0;
590 fra.me.REG_size = 1;
591 fra.me.REG[0] = NIT_NULL;
592 fra.me.REG[0] = p0;
593 /* ./compiling//compiling_base.nit:61 */
594 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____compdir(fra.me.REG[0])!=NIT_NULL);
595 if (UNTAG_Bool(REGB0)) {
596 } else {
597 nit_abort("Uninitialized attribute %s", "_compdir", LOCATE_compiling_base, 61);
598 }
599 fra.me.REG[0] = ATTR_compiling_base___CProgram____compdir(fra.me.REG[0]);
600 stack_frame_head = fra.me.prev;
601 return fra.me.REG[0];
602 }
603 val_t compiling_base___CProgram___module_header_name(val_t p0, val_t p1){
604 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
605 val_t REGB0;
606 val_t tmp;
607 static val_t once_value_2; /* Once value */
608 static val_t once_value_3; /* Once value */
609 static val_t once_value_4; /* Once value */
610 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
611 fra.me.file = LOCATE_compiling_base;
612 fra.me.line = 64;
613 fra.me.meth = LOCATE_compiling_base___CProgram___module_header_name;
614 fra.me.has_broke = 0;
615 fra.me.REG_size = 5;
616 fra.me.REG[0] = NIT_NULL;
617 fra.me.REG[1] = NIT_NULL;
618 fra.me.REG[2] = NIT_NULL;
619 fra.me.REG[3] = NIT_NULL;
620 fra.me.REG[4] = NIT_NULL;
621 fra.me.REG[0] = p0;
622 fra.me.REG[1] = p1;
623 /* ./compiling//compiling_base.nit:67 */
624 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____module_include(fra.me.REG[0])!=NIT_NULL);
625 if (UNTAG_Bool(REGB0)) {
626 } else {
627 nit_abort("Uninitialized attribute %s", "_module_include", LOCATE_compiling_base, 67);
628 }
629 fra.me.REG[2] = ATTR_compiling_base___CProgram____module_include(fra.me.REG[0]);
630 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
631 if (UNTAG_Bool(REGB0)) {
632 /* ./compiling//compiling_base.nit:68 */
633 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____module_include(fra.me.REG[0])!=NIT_NULL);
634 if (UNTAG_Bool(REGB0)) {
635 } else {
636 nit_abort("Uninitialized attribute %s", "_module_include", LOCATE_compiling_base, 68);
637 }
638 fra.me.REG[2] = ATTR_compiling_base___CProgram____module_include(fra.me.REG[0]);
639 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
640 goto label1;
641 }
642 /* ./compiling//compiling_base.nit:70 */
643 REGB0 = TAG_Int(5);
644 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
645 if (!once_value_2) {
646 fra.me.REG[4] = BOX_NativeString("");
647 REGB0 = TAG_Int(0);
648 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
649 once_value_2 = fra.me.REG[4];
650 register_static_object(&once_value_2);
651 } else fra.me.REG[4] = once_value_2;
652 fra.me.REG[4] = fra.me.REG[4];
653 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
654 fra.me.REG[4] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[1])(fra.me.REG[1]);
655 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
656 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
657 if (!once_value_3) {
658 fra.me.REG[4] = BOX_NativeString(".");
659 REGB0 = TAG_Int(1);
660 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
661 once_value_3 = fra.me.REG[4];
662 register_static_object(&once_value_3);
663 } else fra.me.REG[4] = once_value_3;
664 fra.me.REG[4] = fra.me.REG[4];
665 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
666 fra.me.REG[4] = CALL_compiling_base___CProgram___get_file_ending(fra.me.REG[0])(fra.me.REG[0]);
667 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
668 if (!once_value_4) {
669 fra.me.REG[4] = BOX_NativeString(".h");
670 REGB0 = TAG_Int(2);
671 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
672 once_value_4 = fra.me.REG[4];
673 register_static_object(&once_value_4);
674 } else fra.me.REG[4] = once_value_4;
675 fra.me.REG[4] = fra.me.REG[4];
676 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
677 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
678 /* ./compiling//compiling_base.nit:71 */
679 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____module_include(fra.me.REG[0])!=NIT_NULL);
680 if (UNTAG_Bool(REGB0)) {
681 } else {
682 nit_abort("Uninitialized attribute %s", "_module_include", LOCATE_compiling_base, 71);
683 }
684 fra.me.REG[0] = ATTR_compiling_base___CProgram____module_include(fra.me.REG[0]);
685 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
686 /* ./compiling//compiling_base.nit:72 */
687 fra.me.REG[2] = fra.me.REG[3];
688 goto label1;
689 label1: while(0);
690 stack_frame_head = fra.me.prev;
691 return fra.me.REG[2];
692 }
693 val_t compiling_base___CProgram___get_file_ending(val_t p0){
694 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
695 val_t REGB0;
696 val_t tmp;
697 static val_t once_value_1; /* Once value */
698 static val_t once_value_2; /* Once value */
699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
700 fra.me.file = LOCATE_compiling_base;
701 fra.me.line = 78;
702 fra.me.meth = LOCATE_compiling_base___CProgram___get_file_ending;
703 fra.me.has_broke = 0;
704 fra.me.REG_size = 2;
705 fra.me.REG[0] = NIT_NULL;
706 fra.me.REG[1] = NIT_NULL;
707 fra.me.REG[0] = p0;
708 /* ./compiling//compiling_base.nit:80 */
709 fra.me.REG[0] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
710 fra.me.REG[0] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
711 REGB0 = CALL_program___ToolContext___global(fra.me.REG[0])(fra.me.REG[0]);
712 if (UNTAG_Bool(REGB0)) {
713 if (!once_value_1) {
714 fra.me.REG[0] = BOX_NativeString("_glob");
715 REGB0 = TAG_Int(5);
716 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
717 once_value_1 = fra.me.REG[0];
718 register_static_object(&once_value_1);
719 } else fra.me.REG[0] = once_value_1;
720 fra.me.REG[0] = fra.me.REG[0];
721 } else {
722 if (!once_value_2) {
723 fra.me.REG[1] = BOX_NativeString("_sep");
724 REGB0 = TAG_Int(4);
725 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
726 once_value_2 = fra.me.REG[1];
727 register_static_object(&once_value_2);
728 } else fra.me.REG[1] = once_value_2;
729 fra.me.REG[1] = fra.me.REG[1];
730 fra.me.REG[0] = fra.me.REG[1];
731 }
732 goto label3;
733 label3: while(0);
734 stack_frame_head = fra.me.prev;
735 return fra.me.REG[0];
736 }
737 void compiling_base___CProgram___generate_build_file(val_t p0){
738 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
739 val_t REGB0;
740 val_t REGB1;
741 val_t REGB2;
742 val_t tmp;
743 static val_t once_value_1; /* Once value */
744 static val_t once_value_2; /* Once value */
745 static val_t once_value_3; /* Once value */
746 static val_t once_value_4; /* Once value */
747 static val_t once_value_5; /* Once value */
748 static val_t once_value_6; /* Once value */
749 static val_t once_value_7; /* Once value */
750 static val_t once_value_8; /* Once value */
751 static val_t once_value_9; /* Once value */
752 static val_t once_value_10; /* Once value */
753 static val_t once_value_11; /* Once value */
754 static val_t once_value_12; /* Once value */
755 static val_t once_value_13; /* Once value */
756 static val_t once_value_14; /* Once value */
757 static val_t once_value_15; /* Once value */
758 static val_t once_value_16; /* Once value */
759 static val_t once_value_17; /* Once value */
760 static val_t once_value_18; /* Once value */
761 static val_t once_value_19; /* Once value */
762 static val_t once_value_20; /* Once value */
763 static val_t once_value_21; /* Once value */
764 static val_t once_value_22; /* Once value */
765 static val_t once_value_23; /* Once value */
766 static val_t once_value_24; /* Once value */
767 static val_t once_value_25; /* Once value */
768 static val_t once_value_27; /* Once value */
769 static val_t once_value_28; /* Once value */
770 static val_t once_value_30; /* Once value */
771 static val_t once_value_31; /* Once value */
772 static val_t once_value_33; /* Once value */
773 static val_t once_value_34; /* Once value */
774 static val_t once_value_35; /* Once value */
775 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
776 fra.me.file = LOCATE_compiling_base;
777 fra.me.line = 82;
778 fra.me.meth = LOCATE_compiling_base___CProgram___generate_build_file;
779 fra.me.has_broke = 0;
780 fra.me.REG_size = 8;
781 fra.me.REG[0] = NIT_NULL;
782 fra.me.REG[1] = NIT_NULL;
783 fra.me.REG[2] = NIT_NULL;
784 fra.me.REG[3] = NIT_NULL;
785 fra.me.REG[4] = NIT_NULL;
786 fra.me.REG[5] = NIT_NULL;
787 fra.me.REG[6] = NIT_NULL;
788 fra.me.REG[7] = NIT_NULL;
789 fra.me.REG[0] = p0;
790 /* ./compiling//compiling_base.nit:85 */
791 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____build_file(fra.me.REG[0])!=NIT_NULL);
792 if (UNTAG_Bool(REGB0)) {
793 } else {
794 nit_abort("Uninitialized attribute %s", "_build_file", LOCATE_compiling_base, 85);
795 }
796 fra.me.REG[1] = ATTR_compiling_base___CProgram____build_file(fra.me.REG[0]);
797 fra.me.REG[1] = NEW_OFStream_file___OFStream___open(fra.me.REG[1]);
798 /* ./compiling//compiling_base.nit:86 */
799 if (!once_value_1) {
800 fra.me.REG[2] = BOX_NativeString("");
801 REGB0 = TAG_Int(0);
802 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
803 once_value_1 = fra.me.REG[2];
804 register_static_object(&once_value_1);
805 } else fra.me.REG[2] = once_value_1;
806 fra.me.REG[2] = fra.me.REG[2];
807 /* ./compiling//compiling_base.nit:87 */
808 fra.me.REG[3] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
809 fra.me.REG[3] = CALL_program___Program___tc(fra.me.REG[3])(fra.me.REG[3]);
810 /* ./compiling//compiling_base.nit:89 */
811 REGB0 = CALL_mmloader___ToolContext___verbose_level(fra.me.REG[3])(fra.me.REG[3]);
812 REGB1 = TAG_Int(1);
813 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
814 if (UNTAG_Bool(REGB2)) {
815 } else {
816 /* ./../lib/standard//kernel.nit:207 */
817 REGB1 = TAG_Bool((REGB0)==(REGB1));
818 /* ./compiling//compiling_base.nit:89 */
819 REGB2 = REGB1;
820 }
821 if (UNTAG_Bool(REGB2)) {
822 /* ./compiling//compiling_base.nit:90 */
823 if (!once_value_2) {
824 fra.me.REG[4] = BOX_NativeString("-v");
825 REGB2 = TAG_Int(2);
826 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB2);
827 once_value_2 = fra.me.REG[4];
828 register_static_object(&once_value_2);
829 } else fra.me.REG[4] = once_value_2;
830 fra.me.REG[4] = fra.me.REG[4];
831 fra.me.REG[2] = fra.me.REG[4];
832 } else {
833 /* ./compiling//compiling_base.nit:91 */
834 REGB2 = CALL_mmloader___ToolContext___verbose_level(fra.me.REG[3])(fra.me.REG[3]);
835 REGB1 = TAG_Int(2);
836 /* ./../lib/standard//kernel.nit:213 */
837 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
838 /* ./compiling//compiling_base.nit:91 */
839 if (UNTAG_Bool(REGB1)) {
840 /* ./compiling//compiling_base.nit:93 */
841 if (!once_value_3) {
842 fra.me.REG[4] = BOX_NativeString("-vv");
843 REGB1 = TAG_Int(3);
844 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
845 once_value_3 = fra.me.REG[4];
846 register_static_object(&once_value_3);
847 } else fra.me.REG[4] = once_value_3;
848 fra.me.REG[4] = fra.me.REG[4];
849 fra.me.REG[2] = fra.me.REG[4];
850 }
851 }
852 /* ./compiling//compiling_base.nit:96 */
853 if (!once_value_4) {
854 fra.me.REG[4] = BOX_NativeString("#!/bin/sh\n");
855 REGB1 = TAG_Int(10);
856 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
857 once_value_4 = fra.me.REG[4];
858 register_static_object(&once_value_4);
859 } else fra.me.REG[4] = once_value_4;
860 fra.me.REG[4] = fra.me.REG[4];
861 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
862 /* ./compiling//compiling_base.nit:97 */
863 REGB1 = TAG_Int(3);
864 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
865 if (!once_value_5) {
866 fra.me.REG[5] = BOX_NativeString("# This shell script is generated by NIT to compile the program ");
867 REGB1 = TAG_Int(63);
868 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
869 once_value_5 = fra.me.REG[5];
870 register_static_object(&once_value_5);
871 } else fra.me.REG[5] = once_value_5;
872 fra.me.REG[5] = fra.me.REG[5];
873 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
874 fra.me.REG[5] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
875 fra.me.REG[5] = CALL_program___Program___main_module(fra.me.REG[5])(fra.me.REG[5]);
876 fra.me.REG[5] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[5])(fra.me.REG[5]);
877 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
878 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
879 if (!once_value_6) {
880 fra.me.REG[5] = BOX_NativeString(".\n");
881 REGB1 = TAG_Int(2);
882 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
883 once_value_6 = fra.me.REG[5];
884 register_static_object(&once_value_6);
885 } else fra.me.REG[5] = once_value_6;
886 fra.me.REG[5] = fra.me.REG[5];
887 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
888 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
889 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
890 /* ./compiling//compiling_base.nit:98 */
891 REGB1 = TAG_Int(3);
892 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
893 if (!once_value_7) {
894 fra.me.REG[5] = BOX_NativeString("CLIBDIR=\"");
895 REGB1 = TAG_Int(9);
896 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
897 once_value_7 = fra.me.REG[5];
898 register_static_object(&once_value_7);
899 } else fra.me.REG[5] = once_value_7;
900 fra.me.REG[5] = fra.me.REG[5];
901 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
902 fra.me.REG[5] = CALL_compiling_base___ToolContext___clibdir(fra.me.REG[3])(fra.me.REG[3]);
903 REGB1 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
904 if (UNTAG_Bool(REGB1)) {
905 } else {
906 nit_abort("Cast failed", NULL, LOCATE_compiling_base, 98);
907 }
908 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
909 if (!once_value_8) {
910 fra.me.REG[5] = BOX_NativeString("\"\n");
911 REGB1 = TAG_Int(2);
912 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
913 once_value_8 = fra.me.REG[5];
914 register_static_object(&once_value_8);
915 } else fra.me.REG[5] = once_value_8;
916 fra.me.REG[5] = fra.me.REG[5];
917 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
918 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
919 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
920 /* ./compiling//compiling_base.nit:99 */
921 REGB1 = TAG_Int(9);
922 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
923 if (!once_value_9) {
924 fra.me.REG[5] = BOX_NativeString("");
925 REGB1 = TAG_Int(0);
926 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
927 once_value_9 = fra.me.REG[5];
928 register_static_object(&once_value_9);
929 } else fra.me.REG[5] = once_value_9;
930 fra.me.REG[5] = fra.me.REG[5];
931 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
932 fra.me.REG[5] = CALL_compiling_base___ToolContext___bindir(fra.me.REG[3])(fra.me.REG[3]);
933 REGB1 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
934 if (UNTAG_Bool(REGB1)) {
935 } else {
936 nit_abort("Cast failed", NULL, LOCATE_compiling_base, 99);
937 }
938 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
939 if (!once_value_10) {
940 fra.me.REG[5] = BOX_NativeString("/gccx ");
941 REGB1 = TAG_Int(6);
942 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
943 once_value_10 = fra.me.REG[5];
944 register_static_object(&once_value_10);
945 } else fra.me.REG[5] = once_value_10;
946 fra.me.REG[5] = fra.me.REG[5];
947 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
948 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
949 if (!once_value_11) {
950 fra.me.REG[2] = BOX_NativeString(" -d ");
951 REGB1 = TAG_Int(4);
952 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB1);
953 once_value_11 = fra.me.REG[2];
954 register_static_object(&once_value_11);
955 } else fra.me.REG[2] = once_value_11;
956 fra.me.REG[2] = fra.me.REG[2];
957 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
958 fra.me.REG[2] = CALL_compiling_base___CProgram___compdir(fra.me.REG[0])(fra.me.REG[0]);
959 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
960 if (!once_value_12) {
961 fra.me.REG[2] = BOX_NativeString(" -I $CLIBDIR ");
962 REGB1 = TAG_Int(13);
963 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB1);
964 once_value_12 = fra.me.REG[2];
965 register_static_object(&once_value_12);
966 } else fra.me.REG[2] = once_value_12;
967 fra.me.REG[2] = fra.me.REG[2];
968 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
969 fra.me.REG[2] = CALL_compiling_base___CProgram___include_dirs(fra.me.REG[0])(fra.me.REG[0]);
970 if (!once_value_13) {
971 fra.me.REG[5] = BOX_NativeString(" ");
972 REGB1 = TAG_Int(1);
973 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
974 once_value_13 = fra.me.REG[5];
975 register_static_object(&once_value_13);
976 } else fra.me.REG[5] = once_value_13;
977 fra.me.REG[5] = fra.me.REG[5];
978 fra.me.REG[5] = CALL_string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
979 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
980 if (!once_value_14) {
981 fra.me.REG[5] = BOX_NativeString("");
982 REGB1 = TAG_Int(0);
983 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
984 once_value_14 = fra.me.REG[5];
985 register_static_object(&once_value_14);
986 } else fra.me.REG[5] = once_value_14;
987 fra.me.REG[5] = fra.me.REG[5];
988 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
989 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
990 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
991 /* ./compiling//compiling_base.nit:100 */
992 fra.me.REG[4] = CALL_compiling_base___ToolContext___output_file(fra.me.REG[3])(fra.me.REG[3]);
993 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
994 if (UNTAG_Bool(REGB1)) {
995 } else {
996 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
997 if (UNTAG_Bool(REGB2)) {
998 REGB2 = TAG_Bool(false);
999 REGB1 = REGB2;
1000 } else {
1001 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
1002 REGB1 = REGB2;
1003 }
1004 }
1005 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1006 if (UNTAG_Bool(REGB1)) {
1007 /* ./compiling//compiling_base.nit:101 */
1008 REGB1 = TAG_Int(3);
1009 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
1010 if (!once_value_15) {
1011 fra.me.REG[5] = BOX_NativeString(" -o ");
1012 REGB1 = TAG_Int(4);
1013 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1014 once_value_15 = fra.me.REG[5];
1015 register_static_object(&once_value_15);
1016 } else fra.me.REG[5] = once_value_15;
1017 fra.me.REG[5] = fra.me.REG[5];
1018 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1019 fra.me.REG[5] = CALL_compiling_base___ToolContext___output_file(fra.me.REG[3])(fra.me.REG[3]);
1020 REGB1 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
1021 if (UNTAG_Bool(REGB1)) {
1022 } else {
1023 nit_abort("Cast failed", NULL, LOCATE_compiling_base, 101);
1024 }
1025 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1026 if (!once_value_16) {
1027 fra.me.REG[5] = BOX_NativeString("");
1028 REGB1 = TAG_Int(0);
1029 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1030 once_value_16 = fra.me.REG[5];
1031 register_static_object(&once_value_16);
1032 } else fra.me.REG[5] = once_value_16;
1033 fra.me.REG[5] = fra.me.REG[5];
1034 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1035 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1036 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
1037 } else {
1038 /* ./compiling//compiling_base.nit:102 */
1039 fra.me.REG[4] = CALL_compiling_base___ToolContext___ext_prefix(fra.me.REG[3])(fra.me.REG[3]);
1040 REGB1 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
1041 if (UNTAG_Bool(REGB1)) {
1042 /* ./compiling//compiling_base.nit:103 */
1043 REGB1 = TAG_Int(3);
1044 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
1045 if (!once_value_17) {
1046 fra.me.REG[5] = BOX_NativeString(" -o ");
1047 REGB1 = TAG_Int(4);
1048 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1049 once_value_17 = fra.me.REG[5];
1050 register_static_object(&once_value_17);
1051 } else fra.me.REG[5] = once_value_17;
1052 fra.me.REG[5] = fra.me.REG[5];
1053 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1054 fra.me.REG[5] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1055 fra.me.REG[5] = CALL_program___Program___main_module(fra.me.REG[5])(fra.me.REG[5]);
1056 fra.me.REG[5] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[5])(fra.me.REG[5]);
1057 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1058 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1059 if (!once_value_18) {
1060 fra.me.REG[5] = BOX_NativeString("");
1061 REGB1 = TAG_Int(0);
1062 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1063 once_value_18 = fra.me.REG[5];
1064 register_static_object(&once_value_18);
1065 } else fra.me.REG[5] = once_value_18;
1066 fra.me.REG[5] = fra.me.REG[5];
1067 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1068 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1069 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
1070 } else {
1071 /* ./compiling//compiling_base.nit:105 */
1072 REGB1 = TAG_Int(5);
1073 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
1074 if (!once_value_19) {
1075 fra.me.REG[5] = BOX_NativeString(" -o ");
1076 REGB1 = TAG_Int(4);
1077 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1078 once_value_19 = fra.me.REG[5];
1079 register_static_object(&once_value_19);
1080 } else fra.me.REG[5] = once_value_19;
1081 fra.me.REG[5] = fra.me.REG[5];
1082 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1083 fra.me.REG[5] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1084 fra.me.REG[5] = CALL_program___Program___main_module(fra.me.REG[5])(fra.me.REG[5]);
1085 fra.me.REG[5] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[5])(fra.me.REG[5]);
1086 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1087 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1088 if (!once_value_20) {
1089 fra.me.REG[5] = BOX_NativeString("_");
1090 REGB1 = TAG_Int(1);
1091 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1092 once_value_20 = fra.me.REG[5];
1093 register_static_object(&once_value_20);
1094 } else fra.me.REG[5] = once_value_20;
1095 fra.me.REG[5] = fra.me.REG[5];
1096 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1097 fra.me.REG[5] = CALL_compiling_base___ToolContext___ext_prefix(fra.me.REG[3])(fra.me.REG[3]);
1098 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1099 if (!once_value_21) {
1100 fra.me.REG[5] = BOX_NativeString("");
1101 REGB1 = TAG_Int(0);
1102 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1103 once_value_21 = fra.me.REG[5];
1104 register_static_object(&once_value_21);
1105 } else fra.me.REG[5] = once_value_21;
1106 fra.me.REG[5] = fra.me.REG[5];
1107 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1108 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1109 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
1110 }
1111 }
1112 /* ./compiling//compiling_base.nit:107 */
1113 REGB1 = CALL_compiling_base___ToolContext___boost(fra.me.REG[3])(fra.me.REG[3]);
1114 if (UNTAG_Bool(REGB1)) {
1115 if (!once_value_22) {
1116 fra.me.REG[4] = BOX_NativeString(" -O");
1117 REGB1 = TAG_Int(3);
1118 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1119 once_value_22 = fra.me.REG[4];
1120 register_static_object(&once_value_22);
1121 } else fra.me.REG[4] = once_value_22;
1122 fra.me.REG[4] = fra.me.REG[4];
1123 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
1124 }
1125 /* ./compiling//compiling_base.nit:108 */
1126 REGB1 = CALL_compiling_base___ToolContext___cc_link(fra.me.REG[3])(fra.me.REG[3]);
1127 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1128 if (UNTAG_Bool(REGB1)) {
1129 if (!once_value_23) {
1130 fra.me.REG[4] = BOX_NativeString(" -x \"-c\"");
1131 REGB1 = TAG_Int(8);
1132 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1133 once_value_23 = fra.me.REG[4];
1134 register_static_object(&once_value_23);
1135 } else fra.me.REG[4] = once_value_23;
1136 fra.me.REG[4] = fra.me.REG[4];
1137 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
1138 }
1139 /* ./compiling//compiling_base.nit:109 */
1140 fra.me.REG[4] = CALL_compiling_base___ToolContext___cc_libs(fra.me.REG[3])(fra.me.REG[3]);
1141 /* ./../lib/standard//collection//array.nit:234 */
1142 REGB1 = TAG_Int(0);
1143 /* ./../lib/standard//collection//array.nit:235 */
1144 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1145 if (UNTAG_Bool(REGB2)) {
1146 } else {
1147 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1148 }
1149 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
1150 /* ./../lib/standard//collection//array.nit:236 */
1151 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[4]);
1152 /* ./../lib/standard//collection//array.nit:237 */
1153 while(1) {
1154 /* ./../lib/standard//collection//array.nit:23 */
1155 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1156 if (UNTAG_Bool(REGB2)) {
1157 } else {
1158 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1159 }
1160 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
1161 /* ./../lib/standard//kernel.nit:212 */
1162 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1163 /* ./../lib/standard//collection//array.nit:237 */
1164 if (UNTAG_Bool(REGB2)) {
1165 /* ./../lib/standard//collection//array.nit:238 */
1166 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1167 if (UNTAG_Bool(REGB2)) {
1168 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1169 }
1170 /* ./../lib/standard//collection//array.nit:654 */
1171 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
1172 /* ./compiling//compiling_base.nit:109 */
1173 REGB2 = TAG_Int(3);
1174 fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB2);
1175 if (!once_value_24) {
1176 fra.me.REG[7] = BOX_NativeString(" -x \"-l ");
1177 REGB2 = TAG_Int(8);
1178 fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2);
1179 once_value_24 = fra.me.REG[7];
1180 register_static_object(&once_value_24);
1181 } else fra.me.REG[7] = once_value_24;
1182 fra.me.REG[7] = fra.me.REG[7];
1183 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
1184 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
1185 if (!once_value_25) {
1186 fra.me.REG[2] = BOX_NativeString("\"");
1187 REGB2 = TAG_Int(1);
1188 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB2);
1189 once_value_25 = fra.me.REG[2];
1190 register_static_object(&once_value_25);
1191 } else fra.me.REG[2] = once_value_25;
1192 fra.me.REG[2] = fra.me.REG[2];
1193 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
1194 fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
1195 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
1196 /* ./../lib/standard//collection//array.nit:239 */
1197 REGB2 = TAG_Int(1);
1198 /* ./../lib/standard//kernel.nit:215 */
1199 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1200 /* ./../lib/standard//collection//array.nit:239 */
1201 REGB1 = REGB2;
1202 } else {
1203 /* ./../lib/standard//collection//array.nit:237 */
1204 goto label26;
1205 }
1206 }
1207 label26: while(0);
1208 /* ./compiling//compiling_base.nit:110 */
1209 fra.me.REG[5] = CALL_compiling_base___ToolContext___cc_lib_paths(fra.me.REG[3])(fra.me.REG[3]);
1210 /* ./../lib/standard//collection//array.nit:234 */
1211 REGB1 = TAG_Int(0);
1212 /* ./../lib/standard//collection//array.nit:235 */
1213 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1214 if (UNTAG_Bool(REGB2)) {
1215 } else {
1216 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1217 }
1218 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
1219 /* ./../lib/standard//collection//array.nit:236 */
1220 fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[5]);
1221 /* ./../lib/standard//collection//array.nit:237 */
1222 while(1) {
1223 /* ./../lib/standard//collection//array.nit:23 */
1224 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1225 if (UNTAG_Bool(REGB2)) {
1226 } else {
1227 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1228 }
1229 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
1230 /* ./../lib/standard//kernel.nit:212 */
1231 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1232 /* ./../lib/standard//collection//array.nit:237 */
1233 if (UNTAG_Bool(REGB2)) {
1234 /* ./../lib/standard//collection//array.nit:238 */
1235 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1236 if (UNTAG_Bool(REGB2)) {
1237 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1238 }
1239 /* ./../lib/standard//collection//array.nit:654 */
1240 fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB1)];
1241 /* ./compiling//compiling_base.nit:110 */
1242 REGB2 = TAG_Int(3);
1243 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB2);
1244 if (!once_value_27) {
1245 fra.me.REG[7] = BOX_NativeString(" -x \"-L ");
1246 REGB2 = TAG_Int(8);
1247 fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2);
1248 once_value_27 = fra.me.REG[7];
1249 register_static_object(&once_value_27);
1250 } else fra.me.REG[7] = once_value_27;
1251 fra.me.REG[7] = fra.me.REG[7];
1252 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[7]);
1253 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1254 if (!once_value_28) {
1255 fra.me.REG[6] = BOX_NativeString("\"");
1256 REGB2 = TAG_Int(1);
1257 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB2);
1258 once_value_28 = fra.me.REG[6];
1259 register_static_object(&once_value_28);
1260 } else fra.me.REG[6] = once_value_28;
1261 fra.me.REG[6] = fra.me.REG[6];
1262 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1263 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1264 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1265 /* ./../lib/standard//collection//array.nit:239 */
1266 REGB2 = TAG_Int(1);
1267 /* ./../lib/standard//kernel.nit:215 */
1268 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1269 /* ./../lib/standard//collection//array.nit:239 */
1270 REGB1 = REGB2;
1271 } else {
1272 /* ./../lib/standard//collection//array.nit:237 */
1273 goto label29;
1274 }
1275 }
1276 label29: while(0);
1277 /* ./compiling//compiling_base.nit:111 */
1278 fra.me.REG[3] = CALL_compiling_base___ToolContext___cc_include_paths(fra.me.REG[3])(fra.me.REG[3]);
1279 /* ./../lib/standard//collection//array.nit:234 */
1280 REGB1 = TAG_Int(0);
1281 /* ./../lib/standard//collection//array.nit:235 */
1282 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1283 if (UNTAG_Bool(REGB2)) {
1284 } else {
1285 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1286 }
1287 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
1288 /* ./../lib/standard//collection//array.nit:236 */
1289 fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[3]);
1290 /* ./../lib/standard//collection//array.nit:237 */
1291 while(1) {
1292 /* ./../lib/standard//collection//array.nit:23 */
1293 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1294 if (UNTAG_Bool(REGB2)) {
1295 } else {
1296 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1297 }
1298 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
1299 /* ./../lib/standard//kernel.nit:212 */
1300 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1301 /* ./../lib/standard//collection//array.nit:237 */
1302 if (UNTAG_Bool(REGB2)) {
1303 /* ./../lib/standard//collection//array.nit:238 */
1304 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1305 if (UNTAG_Bool(REGB2)) {
1306 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1307 }
1308 /* ./../lib/standard//collection//array.nit:654 */
1309 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB1)];
1310 /* ./compiling//compiling_base.nit:111 */
1311 REGB2 = TAG_Int(3);
1312 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB2);
1313 if (!once_value_30) {
1314 fra.me.REG[6] = BOX_NativeString(" -x \"-I ");
1315 REGB2 = TAG_Int(8);
1316 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB2);
1317 once_value_30 = fra.me.REG[6];
1318 register_static_object(&once_value_30);
1319 } else fra.me.REG[6] = once_value_30;
1320 fra.me.REG[6] = fra.me.REG[6];
1321 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1322 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
1323 if (!once_value_31) {
1324 fra.me.REG[5] = BOX_NativeString("\"");
1325 REGB2 = TAG_Int(1);
1326 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB2);
1327 once_value_31 = fra.me.REG[5];
1328 register_static_object(&once_value_31);
1329 } else fra.me.REG[5] = once_value_31;
1330 fra.me.REG[5] = fra.me.REG[5];
1331 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
1332 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1333 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1334 /* ./../lib/standard//collection//array.nit:239 */
1335 REGB2 = TAG_Int(1);
1336 /* ./../lib/standard//kernel.nit:215 */
1337 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1338 /* ./../lib/standard//collection//array.nit:239 */
1339 REGB1 = REGB2;
1340 } else {
1341 /* ./../lib/standard//collection//array.nit:237 */
1342 goto label32;
1343 }
1344 }
1345 label32: while(0);
1346 /* ./compiling//compiling_base.nit:112 */
1347 REGB1 = TAG_Int(3);
1348 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
1349 if (!once_value_33) {
1350 fra.me.REG[3] = BOX_NativeString(" \"$@\" \\\n ");
1351 REGB1 = TAG_Int(10);
1352 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
1353 once_value_33 = fra.me.REG[3];
1354 register_static_object(&once_value_33);
1355 } else fra.me.REG[3] = once_value_33;
1356 fra.me.REG[3] = fra.me.REG[3];
1357 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
1358 fra.me.REG[0] = CALL_compiling_base___CProgram___files(fra.me.REG[0])(fra.me.REG[0]);
1359 if (!once_value_34) {
1360 fra.me.REG[3] = BOX_NativeString("\\\n ");
1361 REGB1 = TAG_Int(4);
1362 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
1363 once_value_34 = fra.me.REG[3];
1364 register_static_object(&once_value_34);
1365 } else fra.me.REG[3] = once_value_34;
1366 fra.me.REG[3] = fra.me.REG[3];
1367 fra.me.REG[3] = CALL_string___Collection___join(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
1368 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
1369 if (!once_value_35) {
1370 fra.me.REG[3] = BOX_NativeString("\n");
1371 REGB1 = TAG_Int(1);
1372 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
1373 once_value_35 = fra.me.REG[3];
1374 register_static_object(&once_value_35);
1375 } else fra.me.REG[3] = once_value_35;
1376 fra.me.REG[3] = fra.me.REG[3];
1377 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
1378 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1379 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
1380 /* ./compiling//compiling_base.nit:113 */
1381 CALL_stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
1382 stack_frame_head = fra.me.prev;
1383 return;
1384 }
1385 void compiling_base___CProgram___run_c_compiler(val_t p0){
1386 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1387 val_t REGB0;
1388 val_t tmp;
1389 static val_t once_value_1; /* Once value */
1390 static val_t once_value_2; /* Once value */
1391 static val_t once_value_3; /* Once value */
1392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1393 fra.me.file = LOCATE_compiling_base;
1394 fra.me.line = 116;
1395 fra.me.meth = LOCATE_compiling_base___CProgram___run_c_compiler;
1396 fra.me.has_broke = 0;
1397 fra.me.REG_size = 4;
1398 fra.me.REG[0] = NIT_NULL;
1399 fra.me.REG[1] = NIT_NULL;
1400 fra.me.REG[2] = NIT_NULL;
1401 fra.me.REG[3] = NIT_NULL;
1402 fra.me.REG[0] = p0;
1403 /* ./compiling//compiling_base.nit:119 */
1404 fra.me.REG[1] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1405 fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[1])(fra.me.REG[1]);
1406 if (!once_value_1) {
1407 fra.me.REG[2] = BOX_NativeString("Building");
1408 REGB0 = TAG_Int(8);
1409 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1410 once_value_1 = fra.me.REG[2];
1411 register_static_object(&once_value_1);
1412 } else fra.me.REG[2] = once_value_1;
1413 fra.me.REG[2] = fra.me.REG[2];
1414 REGB0 = TAG_Int(1);
1415 CALL_mmloader___ToolContext___info(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], REGB0);
1416 /* ./compiling//compiling_base.nit:120 */
1417 fra.me.REG[2] = CALL_kernel___Object___sys(fra.me.REG[0])(fra.me.REG[0]);
1418 REGB0 = TAG_Int(3);
1419 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
1420 if (!once_value_2) {
1421 fra.me.REG[3] = BOX_NativeString("sh ");
1422 REGB0 = TAG_Int(3);
1423 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1424 once_value_2 = fra.me.REG[3];
1425 register_static_object(&once_value_2);
1426 } else fra.me.REG[3] = once_value_2;
1427 fra.me.REG[3] = fra.me.REG[3];
1428 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
1429 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____build_file(fra.me.REG[0])!=NIT_NULL);
1430 if (UNTAG_Bool(REGB0)) {
1431 } else {
1432 nit_abort("Uninitialized attribute %s", "_build_file", LOCATE_compiling_base, 120);
1433 }
1434 fra.me.REG[0] = ATTR_compiling_base___CProgram____build_file(fra.me.REG[0]);
1435 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1436 if (!once_value_3) {
1437 fra.me.REG[0] = BOX_NativeString("");
1438 REGB0 = TAG_Int(0);
1439 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
1440 once_value_3 = fra.me.REG[0];
1441 register_static_object(&once_value_3);
1442 } else fra.me.REG[0] = once_value_3;
1443 fra.me.REG[0] = fra.me.REG[0];
1444 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1445 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1446 CALL_exec___Sys___system(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1447 stack_frame_head = fra.me.prev;
1448 return;
1449 }
1450 void compiling_base___CompilerVisitor___add_decl(val_t p0, val_t p1){
1451 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1452 val_t REGB0;
1453 val_t tmp;
1454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1455 fra.me.file = LOCATE_compiling_base;
1456 fra.me.line = 128;
1457 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_decl;
1458 fra.me.has_broke = 0;
1459 fra.me.REG_size = 3;
1460 fra.me.REG[0] = NIT_NULL;
1461 fra.me.REG[1] = NIT_NULL;
1462 fra.me.REG[2] = NIT_NULL;
1463 fra.me.REG[0] = p0;
1464 fra.me.REG[1] = p1;
1465 /* ./compiling//compiling_base.nit:131 */
1466 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0])!=NIT_NULL);
1467 if (UNTAG_Bool(REGB0)) {
1468 } else {
1469 nit_abort("Uninitialized attribute %s", "_decl_writer", LOCATE_compiling_base, 131);
1470 }
1471 fra.me.REG[2] = ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]);
1472 CALL_compiling_base___CompilerVisitor___add_line_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[1]);
1473 stack_frame_head = fra.me.prev;
1474 return;
1475 }
1476 void compiling_base___CompilerVisitor___add_instr(val_t p0, val_t p1){
1477 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1478 val_t REGB0;
1479 val_t tmp;
1480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1481 fra.me.file = LOCATE_compiling_base;
1482 fra.me.line = 134;
1483 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_instr;
1484 fra.me.has_broke = 0;
1485 fra.me.REG_size = 3;
1486 fra.me.REG[0] = NIT_NULL;
1487 fra.me.REG[1] = NIT_NULL;
1488 fra.me.REG[2] = NIT_NULL;
1489 fra.me.REG[0] = p0;
1490 fra.me.REG[1] = p1;
1491 /* ./compiling//compiling_base.nit:137 */
1492 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1493 if (UNTAG_Bool(REGB0)) {
1494 } else {
1495 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling_base, 137);
1496 }
1497 fra.me.REG[2] = ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1498 CALL_compiling_base___CompilerVisitor___add_line_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[1]);
1499 stack_frame_head = fra.me.prev;
1500 return;
1501 }
1502 void compiling_base___CompilerVisitor___add_indent(val_t p0, val_t p1){
1503 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1504 val_t REGB0;
1505 val_t REGB1;
1506 val_t REGB2;
1507 val_t tmp;
1508 static val_t once_value_1; /* Once value */
1509 static val_t once_value_2; /* Once value */
1510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1511 fra.me.file = LOCATE_compiling_base;
1512 fra.me.line = 141;
1513 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_indent;
1514 fra.me.has_broke = 0;
1515 fra.me.REG_size = 3;
1516 fra.me.REG[0] = NIT_NULL;
1517 fra.me.REG[1] = NIT_NULL;
1518 fra.me.REG[2] = NIT_NULL;
1519 fra.me.REG[0] = p0;
1520 fra.me.REG[1] = p1;
1521 /* ./compiling//compiling_base.nit:143 */
1522 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1523 if (UNTAG_Bool(REGB0)) {
1524 } else {
1525 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling_base, 143);
1526 }
1527 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1528 REGB1 = TAG_Int(8);
1529 /* ./../lib/standard//kernel.nit:213 */
1530 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1531 /* ./compiling//compiling_base.nit:143 */
1532 if (UNTAG_Bool(REGB1)) {
1533 /* ./compiling//compiling_base.nit:144 */
1534 if (!once_value_1) {
1535 fra.me.REG[2] = BOX_NativeString("\t\t");
1536 REGB1 = TAG_Int(2);
1537 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB1);
1538 once_value_1 = fra.me.REG[2];
1539 register_static_object(&once_value_1);
1540 } else fra.me.REG[2] = once_value_1;
1541 fra.me.REG[2] = fra.me.REG[2];
1542 CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1543 } else {
1544 /* ./compiling//compiling_base.nit:146 */
1545 REGB1 = TAG_Int(0);
1546 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1547 if (UNTAG_Bool(REGB0)) {
1548 } else {
1549 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling_base, 146);
1550 }
1551 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1552 /* ./../lib/standard//kernel.nit:332 */
1553 while(1) {
1554 /* ./../lib/standard//kernel.nit:212 */
1555 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1556 /* ./../lib/standard//kernel.nit:332 */
1557 if (UNTAG_Bool(REGB2)) {
1558 /* ./compiling//compiling_base.nit:147 */
1559 if (!once_value_2) {
1560 fra.me.REG[0] = BOX_NativeString(" ");
1561 REGB2 = TAG_Int(2);
1562 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB2);
1563 once_value_2 = fra.me.REG[0];
1564 register_static_object(&once_value_2);
1565 } else fra.me.REG[0] = once_value_2;
1566 fra.me.REG[0] = fra.me.REG[0];
1567 CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1568 /* ./../lib/standard//kernel.nit:334 */
1569 REGB2 = TAG_Int(1);
1570 /* ./../lib/standard//kernel.nit:215 */
1571 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1572 /* ./../lib/standard//kernel.nit:334 */
1573 REGB1 = REGB2;
1574 } else {
1575 /* ./../lib/standard//kernel.nit:332 */
1576 goto label3;
1577 }
1578 }
1579 label3: while(0);
1580 }
1581 stack_frame_head = fra.me.prev;
1582 return;
1583 }
1584 void compiling_base___CompilerVisitor___add_line_to(val_t p0, val_t p1, val_t p2){
1585 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1586 val_t REGB0;
1587 val_t tmp;
1588 static val_t once_value_1; /* Once value */
1589 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1590 fra.me.file = LOCATE_compiling_base;
1591 fra.me.line = 152;
1592 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_line_to;
1593 fra.me.has_broke = 0;
1594 fra.me.REG_size = 3;
1595 fra.me.REG[0] = NIT_NULL;
1596 fra.me.REG[1] = NIT_NULL;
1597 fra.me.REG[2] = NIT_NULL;
1598 fra.me.REG[0] = p0;
1599 fra.me.REG[1] = p1;
1600 fra.me.REG[2] = p2;
1601 /* ./compiling//compiling_base.nit:154 */
1602 CALL_compiling_base___CompilerVisitor___add_indent(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1603 /* ./compiling//compiling_base.nit:155 */
1604 CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1605 /* ./compiling//compiling_base.nit:156 */
1606 if (!once_value_1) {
1607 fra.me.REG[2] = BOX_NativeString("\n");
1608 REGB0 = TAG_Int(1);
1609 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1610 once_value_1 = fra.me.REG[2];
1611 register_static_object(&once_value_1);
1612 } else fra.me.REG[2] = once_value_1;
1613 fra.me.REG[2] = fra.me.REG[2];
1614 CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1615 stack_frame_head = fra.me.prev;
1616 return;
1617 }
1618 void compiling_base___CompilerVisitor___add_assignment(val_t p0, val_t p1, val_t p2){
1619 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1620 val_t REGB0;
1621 val_t REGB1;
1622 val_t tmp;
1623 static val_t once_value_1; /* Once value */
1624 static val_t once_value_2; /* Once value */
1625 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1626 fra.me.file = LOCATE_compiling_base;
1627 fra.me.line = 159;
1628 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_assignment;
1629 fra.me.has_broke = 0;
1630 fra.me.REG_size = 4;
1631 fra.me.REG[0] = NIT_NULL;
1632 fra.me.REG[1] = NIT_NULL;
1633 fra.me.REG[2] = NIT_NULL;
1634 fra.me.REG[3] = NIT_NULL;
1635 fra.me.REG[0] = p0;
1636 fra.me.REG[1] = p1;
1637 fra.me.REG[2] = p2;
1638 /* ./compiling//compiling_base.nit:162 */
1639 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
1640 if (UNTAG_Bool(REGB0)) {
1641 } else {
1642 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1643 REGB0 = REGB1;
1644 }
1645 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1646 if (UNTAG_Bool(REGB0)) {
1647 /* ./compiling//compiling_base.nit:163 */
1648 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1649 if (UNTAG_Bool(REGB0)) {
1650 } else {
1651 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling_base, 163);
1652 }
1653 fra.me.REG[3] = ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1654 /* ./compiling//compiling_base.nit:164 */
1655 CALL_compiling_base___CompilerVisitor___add_indent(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
1656 /* ./compiling//compiling_base.nit:165 */
1657 CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1658 /* ./compiling//compiling_base.nit:166 */
1659 if (!once_value_1) {
1660 fra.me.REG[1] = BOX_NativeString(" = ");
1661 REGB0 = TAG_Int(3);
1662 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
1663 once_value_1 = fra.me.REG[1];
1664 register_static_object(&once_value_1);
1665 } else fra.me.REG[1] = once_value_1;
1666 fra.me.REG[1] = fra.me.REG[1];
1667 CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1668 /* ./compiling//compiling_base.nit:167 */
1669 CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
1670 /* ./compiling//compiling_base.nit:168 */
1671 if (!once_value_2) {
1672 fra.me.REG[2] = BOX_NativeString(";\n");
1673 REGB0 = TAG_Int(2);
1674 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1675 once_value_2 = fra.me.REG[2];
1676 register_static_object(&once_value_2);
1677 } else fra.me.REG[2] = once_value_2;
1678 fra.me.REG[2] = fra.me.REG[2];
1679 CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
1680 }
1681 stack_frame_head = fra.me.prev;
1682 return;
1683 }
1684 val_t compiling_base___CompilerVisitor___new_number(val_t p0){
1685 struct {struct stack_frame_t me;} fra;
1686 val_t REGB0;
1687 val_t REGB1;
1688 val_t tmp;
1689 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1690 fra.me.file = LOCATE_compiling_base;
1691 fra.me.line = 172;
1692 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___new_number;
1693 fra.me.has_broke = 0;
1694 fra.me.REG_size = 1;
1695 fra.me.REG[0] = NIT_NULL;
1696 fra.me.REG[0] = p0;
1697 /* ./compiling//compiling_base.nit:175 */
1698 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0])!=NIT_NULL);
1699 if (UNTAG_Bool(REGB0)) {
1700 } else {
1701 nit_abort("Uninitialized attribute %s", "_number_cpt", LOCATE_compiling_base, 175);
1702 }
1703 REGB0 = ATTR_compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0]);
1704 /* ./compiling//compiling_base.nit:176 */
1705 REGB1 = TAG_Int(1);
1706 /* ./../lib/standard//kernel.nit:215 */
1707 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1708 /* ./compiling//compiling_base.nit:176 */
1709 ATTR_compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0]) = REGB1;
1710 /* ./compiling//compiling_base.nit:177 */
1711 goto label1;
1712 label1: while(0);
1713 stack_frame_head = fra.me.prev;
1714 return REGB0;
1715 }
1716 void compiling_base___CompilerVisitor___indent(val_t p0){
1717 struct {struct stack_frame_t me;} fra;
1718 val_t REGB0;
1719 val_t REGB1;
1720 val_t tmp;
1721 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1722 fra.me.file = LOCATE_compiling_base;
1723 fra.me.line = 182;
1724 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___indent;
1725 fra.me.has_broke = 0;
1726 fra.me.REG_size = 1;
1727 fra.me.REG[0] = NIT_NULL;
1728 fra.me.REG[0] = p0;
1729 /* ./compiling//compiling_base.nit:184 */
1730 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1731 REGB1 = TAG_Int(1);
1732 /* ./../lib/standard//kernel.nit:215 */
1733 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1734 /* ./compiling//compiling_base.nit:184 */
1735 ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB1;
1736 stack_frame_head = fra.me.prev;
1737 return;
1738 }
1739 void compiling_base___CompilerVisitor___unindent(val_t p0){
1740 struct {struct stack_frame_t me;} fra;
1741 val_t REGB0;
1742 val_t REGB1;
1743 val_t tmp;
1744 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1745 fra.me.file = LOCATE_compiling_base;
1746 fra.me.line = 186;
1747 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___unindent;
1748 fra.me.has_broke = 0;
1749 fra.me.REG_size = 1;
1750 fra.me.REG[0] = NIT_NULL;
1751 fra.me.REG[0] = p0;
1752 /* ./compiling//compiling_base.nit:189 */
1753 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1754 REGB1 = TAG_Int(1);
1755 /* ./../lib/standard//kernel.nit:217 */
1756 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1757 /* ./compiling//compiling_base.nit:189 */
1758 ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB1;
1759 /* ./compiling//compiling_base.nit:190 */
1760 REGB1 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1761 if (UNTAG_Bool(REGB1)) {
1762 } else {
1763 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling_base, 190);
1764 }
1765 REGB1 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1766 REGB0 = TAG_Int(0);
1767 /* ./../lib/standard//kernel.nit:212 */
1768 REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1769 /* ./compiling//compiling_base.nit:190 */
1770 if (UNTAG_Bool(REGB0)) {
1771 REGB0 = TAG_Int(0);
1772 ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB0;
1773 }
1774 stack_frame_head = fra.me.prev;
1775 return;
1776 }
1777 val_t compiling_base___CompilerVisitor___mmmodule(val_t p0){
1778 struct {struct stack_frame_t me;} fra;
1779 val_t REGB0;
1780 val_t tmp;
1781 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1782 fra.me.file = LOCATE_compiling_base;
1783 fra.me.line = 193;
1784 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___mmmodule;
1785 fra.me.has_broke = 0;
1786 fra.me.REG_size = 1;
1787 fra.me.REG[0] = NIT_NULL;
1788 fra.me.REG[0] = p0;
1789 /* ./compiling//compiling_base.nit:193 */
1790 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
1791 if (UNTAG_Bool(REGB0)) {
1792 } else {
1793 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_compiling_base, 193);
1794 }
1795 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0]);
1796 stack_frame_head = fra.me.prev;
1797 return fra.me.REG[0];
1798 }
1799 val_t compiling_base___CompilerVisitor___header_writer(val_t p0){
1800 struct {struct stack_frame_t me;} fra;
1801 val_t REGB0;
1802 val_t tmp;
1803 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1804 fra.me.file = LOCATE_compiling_base;
1805 fra.me.line = 196;
1806 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___header_writer;
1807 fra.me.has_broke = 0;
1808 fra.me.REG_size = 1;
1809 fra.me.REG[0] = NIT_NULL;
1810 fra.me.REG[0] = p0;
1811 /* ./compiling//compiling_base.nit:196 */
1812 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____header_writer(fra.me.REG[0])!=NIT_NULL);
1813 if (UNTAG_Bool(REGB0)) {
1814 } else {
1815 nit_abort("Uninitialized attribute %s", "_header_writer", LOCATE_compiling_base, 196);
1816 }
1817 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]);
1818 stack_frame_head = fra.me.prev;
1819 return fra.me.REG[0];
1820 }
1821 void compiling_base___CompilerVisitor___header_writer__eq(val_t p0, val_t p1){
1822 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1823 val_t tmp;
1824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1825 fra.me.file = LOCATE_compiling_base;
1826 fra.me.line = 196;
1827 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___header_writer__eq;
1828 fra.me.has_broke = 0;
1829 fra.me.REG_size = 2;
1830 fra.me.REG[0] = NIT_NULL;
1831 fra.me.REG[1] = NIT_NULL;
1832 fra.me.REG[0] = p0;
1833 fra.me.REG[1] = p1;
1834 /* ./compiling//compiling_base.nit:196 */
1835 ATTR_compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]) = fra.me.REG[1];
1836 stack_frame_head = fra.me.prev;
1837 return;
1838 }
1839 val_t compiling_base___CompilerVisitor___writer(val_t p0){
1840 struct {struct stack_frame_t me;} fra;
1841 val_t REGB0;
1842 val_t tmp;
1843 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1844 fra.me.file = LOCATE_compiling_base;
1845 fra.me.line = 199;
1846 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___writer;
1847 fra.me.has_broke = 0;
1848 fra.me.REG_size = 1;
1849 fra.me.REG[0] = NIT_NULL;
1850 fra.me.REG[0] = p0;
1851 /* ./compiling//compiling_base.nit:199 */
1852 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1853 if (UNTAG_Bool(REGB0)) {
1854 } else {
1855 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling_base, 199);
1856 }
1857 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1858 stack_frame_head = fra.me.prev;
1859 return fra.me.REG[0];
1860 }
1861 void compiling_base___CompilerVisitor___writer__eq(val_t p0, val_t p1){
1862 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1863 val_t tmp;
1864 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1865 fra.me.file = LOCATE_compiling_base;
1866 fra.me.line = 199;
1867 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___writer__eq;
1868 fra.me.has_broke = 0;
1869 fra.me.REG_size = 2;
1870 fra.me.REG[0] = NIT_NULL;
1871 fra.me.REG[1] = NIT_NULL;
1872 fra.me.REG[0] = p0;
1873 fra.me.REG[1] = p1;
1874 /* ./compiling//compiling_base.nit:199 */
1875 ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]) = fra.me.REG[1];
1876 stack_frame_head = fra.me.prev;
1877 return;
1878 }
1879 val_t compiling_base___CompilerVisitor___decl_writer(val_t p0){
1880 struct {struct stack_frame_t me;} fra;
1881 val_t REGB0;
1882 val_t tmp;
1883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1884 fra.me.file = LOCATE_compiling_base;
1885 fra.me.line = 202;
1886 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___decl_writer;
1887 fra.me.has_broke = 0;
1888 fra.me.REG_size = 1;
1889 fra.me.REG[0] = NIT_NULL;
1890 fra.me.REG[0] = p0;
1891 /* ./compiling//compiling_base.nit:202 */
1892 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0])!=NIT_NULL);
1893 if (UNTAG_Bool(REGB0)) {
1894 } else {
1895 nit_abort("Uninitialized attribute %s", "_decl_writer", LOCATE_compiling_base, 202);
1896 }
1897 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]);
1898 stack_frame_head = fra.me.prev;
1899 return fra.me.REG[0];
1900 }
1901 void compiling_base___CompilerVisitor___decl_writer__eq(val_t p0, val_t p1){
1902 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1903 val_t tmp;
1904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1905 fra.me.file = LOCATE_compiling_base;
1906 fra.me.line = 202;
1907 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___decl_writer__eq;
1908 fra.me.has_broke = 0;
1909 fra.me.REG_size = 2;
1910 fra.me.REG[0] = NIT_NULL;
1911 fra.me.REG[1] = NIT_NULL;
1912 fra.me.REG[0] = p0;
1913 fra.me.REG[1] = p1;
1914 /* ./compiling//compiling_base.nit:202 */
1915 ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]) = fra.me.REG[1];
1916 stack_frame_head = fra.me.prev;
1917 return;
1918 }
1919 val_t compiling_base___CompilerVisitor___top_writer(val_t p0){
1920 struct {struct stack_frame_t me;} fra;
1921 val_t REGB0;
1922 val_t tmp;
1923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1924 fra.me.file = LOCATE_compiling_base;
1925 fra.me.line = 205;
1926 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___top_writer;
1927 fra.me.has_broke = 0;
1928 fra.me.REG_size = 1;
1929 fra.me.REG[0] = NIT_NULL;
1930 fra.me.REG[0] = p0;
1931 /* ./compiling//compiling_base.nit:205 */
1932 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____top_writer(fra.me.REG[0])!=NIT_NULL);
1933 if (UNTAG_Bool(REGB0)) {
1934 } else {
1935 nit_abort("Uninitialized attribute %s", "_top_writer", LOCATE_compiling_base, 205);
1936 }
1937 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]);
1938 stack_frame_head = fra.me.prev;
1939 return fra.me.REG[0];
1940 }
1941 void compiling_base___CompilerVisitor___top_writer__eq(val_t p0, val_t p1){
1942 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1943 val_t tmp;
1944 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1945 fra.me.file = LOCATE_compiling_base;
1946 fra.me.line = 205;
1947 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___top_writer__eq;
1948 fra.me.has_broke = 0;
1949 fra.me.REG_size = 2;
1950 fra.me.REG[0] = NIT_NULL;
1951 fra.me.REG[1] = NIT_NULL;
1952 fra.me.REG[0] = p0;
1953 fra.me.REG[1] = p1;
1954 /* ./compiling//compiling_base.nit:205 */
1955 ATTR_compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]) = fra.me.REG[1];
1956 stack_frame_head = fra.me.prev;
1957 return;
1958 }
1959 val_t compiling_base___CompilerVisitor___top_decl_writer(val_t p0){
1960 struct {struct stack_frame_t me;} fra;
1961 val_t REGB0;
1962 val_t tmp;
1963 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1964 fra.me.file = LOCATE_compiling_base;
1965 fra.me.line = 208;
1966 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___top_decl_writer;
1967 fra.me.has_broke = 0;
1968 fra.me.REG_size = 1;
1969 fra.me.REG[0] = NIT_NULL;
1970 fra.me.REG[0] = p0;
1971 /* ./compiling//compiling_base.nit:208 */
1972 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0])!=NIT_NULL);
1973 if (UNTAG_Bool(REGB0)) {
1974 } else {
1975 nit_abort("Uninitialized attribute %s", "_top_decl_writer", LOCATE_compiling_base, 208);
1976 }
1977 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]);
1978 stack_frame_head = fra.me.prev;
1979 return fra.me.REG[0];
1980 }
1981 void compiling_base___CompilerVisitor___top_decl_writer__eq(val_t p0, val_t p1){
1982 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1983 val_t tmp;
1984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1985 fra.me.file = LOCATE_compiling_base;
1986 fra.me.line = 208;
1987 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___top_decl_writer__eq;
1988 fra.me.has_broke = 0;
1989 fra.me.REG_size = 2;
1990 fra.me.REG[0] = NIT_NULL;
1991 fra.me.REG[1] = NIT_NULL;
1992 fra.me.REG[0] = p0;
1993 fra.me.REG[1] = p1;
1994 /* ./compiling//compiling_base.nit:208 */
1995 ATTR_compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]) = fra.me.REG[1];
1996 stack_frame_head = fra.me.prev;
1997 return;
1998 }
1999 val_t compiling_base___CompilerVisitor___indent_level(val_t p0){
2000 struct {struct stack_frame_t me;} fra;
2001 val_t REGB0;
2002 val_t tmp;
2003 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2004 fra.me.file = LOCATE_compiling_base;
2005 fra.me.line = 211;
2006 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___indent_level;
2007 fra.me.has_broke = 0;
2008 fra.me.REG_size = 1;
2009 fra.me.REG[0] = NIT_NULL;
2010 fra.me.REG[0] = p0;
2011 /* ./compiling//compiling_base.nit:211 */
2012 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
2013 if (UNTAG_Bool(REGB0)) {
2014 } else {
2015 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling_base, 211);
2016 }
2017 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
2018 stack_frame_head = fra.me.prev;
2019 return REGB0;
2020 }
2021 void compiling_base___CompilerVisitor___indent_level__eq(val_t p0, val_t p1){
2022 struct {struct stack_frame_t me;} fra;
2023 val_t REGB0;
2024 val_t tmp;
2025 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2026 fra.me.file = LOCATE_compiling_base;
2027 fra.me.line = 211;
2028 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___indent_level__eq;
2029 fra.me.has_broke = 0;
2030 fra.me.REG_size = 1;
2031 fra.me.REG[0] = NIT_NULL;
2032 fra.me.REG[0] = p0;
2033 REGB0 = p1;
2034 /* ./compiling//compiling_base.nit:211 */
2035 ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB0;
2036 stack_frame_head = fra.me.prev;
2037 return;
2038 }
2039 val_t compiling_base___CompilerVisitor___program(val_t p0){
2040 struct {struct stack_frame_t me;} fra;
2041 val_t REGB0;
2042 val_t tmp;
2043 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2044 fra.me.file = LOCATE_compiling_base;
2045 fra.me.line = 214;
2046 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___program;
2047 fra.me.has_broke = 0;
2048 fra.me.REG_size = 1;
2049 fra.me.REG[0] = NIT_NULL;
2050 fra.me.REG[0] = p0;
2051 /* ./compiling//compiling_base.nit:214 */
2052 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____program(fra.me.REG[0])!=NIT_NULL);
2053 if (UNTAG_Bool(REGB0)) {
2054 } else {
2055 nit_abort("Uninitialized attribute %s", "_program", LOCATE_compiling_base, 214);
2056 }
2057 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____program(fra.me.REG[0]);
2058 stack_frame_head = fra.me.prev;
2059 return fra.me.REG[0];
2060 }
2061 val_t compiling_base___CompilerVisitor___cprogram(val_t p0){
2062 struct {struct stack_frame_t me;} fra;
2063 val_t REGB0;
2064 val_t tmp;
2065 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2066 fra.me.file = LOCATE_compiling_base;
2067 fra.me.line = 217;
2068 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___cprogram;
2069 fra.me.has_broke = 0;
2070 fra.me.REG_size = 1;
2071 fra.me.REG[0] = NIT_NULL;
2072 fra.me.REG[0] = p0;
2073 /* ./compiling//compiling_base.nit:217 */
2074 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____cprogram(fra.me.REG[0])!=NIT_NULL);
2075 if (UNTAG_Bool(REGB0)) {
2076 } else {
2077 nit_abort("Uninitialized attribute %s", "_cprogram", LOCATE_compiling_base, 217);
2078 }
2079 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____cprogram(fra.me.REG[0]);
2080 stack_frame_head = fra.me.prev;
2081 return fra.me.REG[0];
2082 }
2083 void compiling_base___CompilerVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
2084 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_CompilerVisitor].i;
2085 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2086 val_t tmp;
2087 if (init_table[itpos1]) return;
2088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2089 fra.me.file = LOCATE_compiling_base;
2090 fra.me.line = 220;
2091 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___init;
2092 fra.me.has_broke = 0;
2093 fra.me.REG_size = 3;
2094 fra.me.REG[0] = NIT_NULL;
2095 fra.me.REG[1] = NIT_NULL;
2096 fra.me.REG[2] = NIT_NULL;
2097 fra.me.REG[0] = p0;
2098 fra.me.REG[1] = p1;
2099 fra.me.REG[2] = p2;
2100 /* ./compiling//compiling_base.nit:223 */
2101 ATTR_compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0]) = fra.me.REG[1];
2102 /* ./compiling//compiling_base.nit:224 */
2103 ATTR_compiling_base___CompilerVisitor____cprogram(fra.me.REG[0]) = fra.me.REG[2];
2104 /* ./compiling//compiling_base.nit:225 */
2105 fra.me.REG[2] = CALL_compiling_base___CProgram___program(fra.me.REG[2])(fra.me.REG[2]);
2106 ATTR_compiling_base___CompilerVisitor____program(fra.me.REG[0]) = fra.me.REG[2];
2107 /* ./compiling//compiling_base.nit:227 */
2108 fra.me.REG[2] = NEW_Writer_compiling_writer___Writer___init();
2109 /* ./compiling//compiling_base.nit:228 */
2110 ATTR_compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]) = fra.me.REG[2];
2111 /* ./compiling//compiling_base.nit:229 */
2112 ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]) = fra.me.REG[2];
2113 /* ./compiling//compiling_base.nit:230 */
2114 fra.me.REG[1] = NEW_Writer_compiling_writer___Writer___init();
2115 fra.me.REG[2] = fra.me.REG[1];
2116 /* ./compiling//compiling_base.nit:231 */
2117 ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]) = fra.me.REG[2];
2118 /* ./compiling//compiling_base.nit:232 */
2119 ATTR_compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]) = fra.me.REG[2];
2120 /* ./compiling//compiling_base.nit:233 */
2121 fra.me.REG[2] = CALL_compiling_writer___Writer___sub(fra.me.REG[2])(fra.me.REG[2]);
2122 ATTR_compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]) = fra.me.REG[2];
2123 stack_frame_head = fra.me.prev;
2124 init_table[itpos1] = 1;
2125 return;
2126 }
2127 val_t compiling_base___MMGlobalProperty___meth_call(val_t p0){
2128 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2129 val_t REGB0;
2130 val_t tmp;
2131 static val_t once_value_1; /* Once value */
2132 static val_t once_value_2; /* Once value */
2133 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2134 fra.me.file = LOCATE_compiling_base;
2135 fra.me.line = 238;
2136 fra.me.meth = LOCATE_compiling_base___MMGlobalProperty___meth_call;
2137 fra.me.has_broke = 0;
2138 fra.me.REG_size = 3;
2139 fra.me.REG[0] = NIT_NULL;
2140 fra.me.REG[1] = NIT_NULL;
2141 fra.me.REG[2] = NIT_NULL;
2142 fra.me.REG[0] = p0;
2143 /* ./compiling//compiling_base.nit:241 */
2144 REGB0 = TAG_Int(3);
2145 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2146 if (!once_value_1) {
2147 fra.me.REG[2] = BOX_NativeString("CALL_");
2148 REGB0 = TAG_Int(5);
2149 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2150 once_value_1 = fra.me.REG[2];
2151 register_static_object(&once_value_1);
2152 } else fra.me.REG[2] = once_value_1;
2153 fra.me.REG[2] = fra.me.REG[2];
2154 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2155 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2156 fra.me.REG[0] = CALL_compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2157 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2158 if (!once_value_2) {
2159 fra.me.REG[0] = BOX_NativeString("");
2160 REGB0 = TAG_Int(0);
2161 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2162 once_value_2 = fra.me.REG[0];
2163 register_static_object(&once_value_2);
2164 } else fra.me.REG[0] = once_value_2;
2165 fra.me.REG[0] = fra.me.REG[0];
2166 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2167 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2168 goto label3;
2169 label3: while(0);
2170 stack_frame_head = fra.me.prev;
2171 return fra.me.REG[1];
2172 }
2173 val_t compiling_base___MMGlobalProperty___attr_access(val_t p0){
2174 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2175 val_t REGB0;
2176 val_t tmp;
2177 static val_t once_value_1; /* Once value */
2178 static val_t once_value_2; /* Once value */
2179 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2180 fra.me.file = LOCATE_compiling_base;
2181 fra.me.line = 244;
2182 fra.me.meth = LOCATE_compiling_base___MMGlobalProperty___attr_access;
2183 fra.me.has_broke = 0;
2184 fra.me.REG_size = 3;
2185 fra.me.REG[0] = NIT_NULL;
2186 fra.me.REG[1] = NIT_NULL;
2187 fra.me.REG[2] = NIT_NULL;
2188 fra.me.REG[0] = p0;
2189 /* ./compiling//compiling_base.nit:247 */
2190 REGB0 = TAG_Int(3);
2191 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2192 if (!once_value_1) {
2193 fra.me.REG[2] = BOX_NativeString("ATTR_");
2194 REGB0 = TAG_Int(5);
2195 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2196 once_value_1 = fra.me.REG[2];
2197 register_static_object(&once_value_1);
2198 } else fra.me.REG[2] = once_value_1;
2199 fra.me.REG[2] = fra.me.REG[2];
2200 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2201 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2202 fra.me.REG[0] = CALL_compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2203 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2204 if (!once_value_2) {
2205 fra.me.REG[0] = BOX_NativeString("");
2206 REGB0 = TAG_Int(0);
2207 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2208 once_value_2 = fra.me.REG[0];
2209 register_static_object(&once_value_2);
2210 } else fra.me.REG[0] = once_value_2;
2211 fra.me.REG[0] = fra.me.REG[0];
2212 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2213 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2214 goto label3;
2215 label3: while(0);
2216 stack_frame_head = fra.me.prev;
2217 return fra.me.REG[1];
2218 }
2219 val_t compiling_base___MMGlobalClass___id_id(val_t p0){
2220 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2221 val_t REGB0;
2222 val_t tmp;
2223 static val_t once_value_1; /* Once value */
2224 static val_t once_value_2; /* Once value */
2225 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2226 fra.me.file = LOCATE_compiling_base;
2227 fra.me.line = 252;
2228 fra.me.meth = LOCATE_compiling_base___MMGlobalClass___id_id;
2229 fra.me.has_broke = 0;
2230 fra.me.REG_size = 3;
2231 fra.me.REG[0] = NIT_NULL;
2232 fra.me.REG[1] = NIT_NULL;
2233 fra.me.REG[2] = NIT_NULL;
2234 fra.me.REG[0] = p0;
2235 /* ./compiling//compiling_base.nit:255 */
2236 REGB0 = TAG_Int(3);
2237 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2238 if (!once_value_1) {
2239 fra.me.REG[2] = BOX_NativeString("ID_");
2240 REGB0 = TAG_Int(3);
2241 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2242 once_value_1 = fra.me.REG[2];
2243 register_static_object(&once_value_1);
2244 } else fra.me.REG[2] = once_value_1;
2245 fra.me.REG[2] = fra.me.REG[2];
2246 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2247 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
2248 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
2249 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2250 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2251 if (!once_value_2) {
2252 fra.me.REG[0] = BOX_NativeString("");
2253 REGB0 = TAG_Int(0);
2254 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2255 once_value_2 = fra.me.REG[0];
2256 register_static_object(&once_value_2);
2257 } else fra.me.REG[0] = once_value_2;
2258 fra.me.REG[0] = fra.me.REG[0];
2259 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2260 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2261 goto label3;
2262 label3: while(0);
2263 stack_frame_head = fra.me.prev;
2264 return fra.me.REG[1];
2265 }
2266 val_t compiling_base___MMGlobalClass___color_id(val_t p0){
2267 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2268 val_t REGB0;
2269 val_t tmp;
2270 static val_t once_value_1; /* Once value */
2271 static val_t once_value_2; /* Once value */
2272 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2273 fra.me.file = LOCATE_compiling_base;
2274 fra.me.line = 258;
2275 fra.me.meth = LOCATE_compiling_base___MMGlobalClass___color_id;
2276 fra.me.has_broke = 0;
2277 fra.me.REG_size = 3;
2278 fra.me.REG[0] = NIT_NULL;
2279 fra.me.REG[1] = NIT_NULL;
2280 fra.me.REG[2] = NIT_NULL;
2281 fra.me.REG[0] = p0;
2282 /* ./compiling//compiling_base.nit:261 */
2283 REGB0 = TAG_Int(3);
2284 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2285 if (!once_value_1) {
2286 fra.me.REG[2] = BOX_NativeString("COLOR_");
2287 REGB0 = TAG_Int(6);
2288 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2289 once_value_1 = fra.me.REG[2];
2290 register_static_object(&once_value_1);
2291 } else fra.me.REG[2] = once_value_1;
2292 fra.me.REG[2] = fra.me.REG[2];
2293 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2294 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
2295 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
2296 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2297 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2298 if (!once_value_2) {
2299 fra.me.REG[0] = BOX_NativeString("");
2300 REGB0 = TAG_Int(0);
2301 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2302 once_value_2 = fra.me.REG[0];
2303 register_static_object(&once_value_2);
2304 } else fra.me.REG[0] = once_value_2;
2305 fra.me.REG[0] = fra.me.REG[0];
2306 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2307 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2308 goto label3;
2309 label3: while(0);
2310 stack_frame_head = fra.me.prev;
2311 return fra.me.REG[1];
2312 }
2313 val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t p0){
2314 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2315 val_t REGB0;
2316 val_t tmp;
2317 static val_t once_value_1; /* Once value */
2318 static val_t once_value_2; /* Once value */
2319 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2320 fra.me.file = LOCATE_compiling_base;
2321 fra.me.line = 264;
2322 fra.me.meth = LOCATE_compiling_base___MMGlobalClass___init_table_pos_id;
2323 fra.me.has_broke = 0;
2324 fra.me.REG_size = 3;
2325 fra.me.REG[0] = NIT_NULL;
2326 fra.me.REG[1] = NIT_NULL;
2327 fra.me.REG[2] = NIT_NULL;
2328 fra.me.REG[0] = p0;
2329 /* ./compiling//compiling_base.nit:267 */
2330 REGB0 = TAG_Int(3);
2331 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2332 if (!once_value_1) {
2333 fra.me.REG[2] = BOX_NativeString("INIT_TABLE_POS_");
2334 REGB0 = TAG_Int(15);
2335 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2336 once_value_1 = fra.me.REG[2];
2337 register_static_object(&once_value_1);
2338 } else fra.me.REG[2] = once_value_1;
2339 fra.me.REG[2] = fra.me.REG[2];
2340 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2341 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
2342 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
2343 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2344 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2345 if (!once_value_2) {
2346 fra.me.REG[0] = BOX_NativeString("");
2347 REGB0 = TAG_Int(0);
2348 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2349 once_value_2 = fra.me.REG[0];
2350 register_static_object(&once_value_2);
2351 } else fra.me.REG[0] = once_value_2;
2352 fra.me.REG[0] = fra.me.REG[0];
2353 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2354 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2355 goto label3;
2356 label3: while(0);
2357 stack_frame_head = fra.me.prev;
2358 return fra.me.REG[1];
2359 }
2360 val_t compiling_base___MMLocalProperty___cname(val_t p0){
2361 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2362 val_t REGB0;
2363 val_t REGB1;
2364 val_t tmp;
2365 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2366 fra.me.file = LOCATE_compiling_base;
2367 fra.me.line = 275;
2368 fra.me.meth = LOCATE_compiling_base___MMLocalProperty___cname;
2369 fra.me.has_broke = 0;
2370 fra.me.REG_size = 4;
2371 fra.me.REG[0] = NIT_NULL;
2372 fra.me.REG[1] = NIT_NULL;
2373 fra.me.REG[2] = NIT_NULL;
2374 fra.me.REG[3] = NIT_NULL;
2375 fra.me.REG[0] = p0;
2376 /* ./compiling//compiling_base.nit:278 */
2377 fra.me.REG[1] = ATTR_compiling_base___MMLocalProperty____cname_cache(fra.me.REG[0]);
2378 /* ./compiling//compiling_base.nit:279 */
2379 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2380 if (UNTAG_Bool(REGB0)) {
2381 } else {
2382 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2383 if (UNTAG_Bool(REGB1)) {
2384 REGB1 = TAG_Bool(false);
2385 REGB0 = REGB1;
2386 } else {
2387 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2388 REGB0 = REGB1;
2389 }
2390 }
2391 if (UNTAG_Bool(REGB0)) {
2392 /* ./compiling//compiling_base.nit:280 */
2393 REGB0 = TAG_Int(2);
2394 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2395 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[0])(fra.me.REG[0]);
2396 fra.me.REG[3] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[3])(fra.me.REG[3]);
2397 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2398 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
2399 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[3])(fra.me.REG[3]);
2400 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2401 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[0])(fra.me.REG[0]);
2402 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2403 fra.me.REG[2] = CALL_utils___Object___cmangle(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
2404 fra.me.REG[1] = fra.me.REG[2];
2405 /* ./compiling//compiling_base.nit:281 */
2406 ATTR_compiling_base___MMLocalProperty____cname_cache(fra.me.REG[0]) = fra.me.REG[1];
2407 }
2408 /* ./compiling//compiling_base.nit:283 */
2409 goto label1;
2410 label1: while(0);
2411 stack_frame_head = fra.me.prev;
2412 return fra.me.REG[1];
2413 }
2414 val_t compiling_base___MMLocalProperty___super_meth_call(val_t p0){
2415 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2416 val_t REGB0;
2417 val_t tmp;
2418 static val_t once_value_1; /* Once value */
2419 static val_t once_value_2; /* Once value */
2420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2421 fra.me.file = LOCATE_compiling_base;
2422 fra.me.line = 286;
2423 fra.me.meth = LOCATE_compiling_base___MMLocalProperty___super_meth_call;
2424 fra.me.has_broke = 0;
2425 fra.me.REG_size = 3;
2426 fra.me.REG[0] = NIT_NULL;
2427 fra.me.REG[1] = NIT_NULL;
2428 fra.me.REG[2] = NIT_NULL;
2429 fra.me.REG[0] = p0;
2430 /* ./compiling//compiling_base.nit:289 */
2431 REGB0 = TAG_Int(3);
2432 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2433 if (!once_value_1) {
2434 fra.me.REG[2] = BOX_NativeString("CALL_SUPER_");
2435 REGB0 = TAG_Int(11);
2436 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2437 once_value_1 = fra.me.REG[2];
2438 register_static_object(&once_value_1);
2439 } else fra.me.REG[2] = once_value_1;
2440 fra.me.REG[2] = fra.me.REG[2];
2441 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2442 fra.me.REG[0] = CALL_compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2443 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2444 if (!once_value_2) {
2445 fra.me.REG[0] = BOX_NativeString("");
2446 REGB0 = TAG_Int(0);
2447 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2448 once_value_2 = fra.me.REG[0];
2449 register_static_object(&once_value_2);
2450 } else fra.me.REG[0] = once_value_2;
2451 fra.me.REG[0] = fra.me.REG[0];
2452 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2453 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2454 goto label3;
2455 label3: while(0);
2456 stack_frame_head = fra.me.prev;
2457 return fra.me.REG[1];
2458 }