mm: moves class type detection to class building analysis
[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_26; /* Once value */
769 static val_t once_value_27; /* Once value */
770 static val_t once_value_29; /* Once value */
771 static val_t once_value_30; /* Once value */
772 static val_t once_value_32; /* Once value */
773 static val_t once_value_33; /* Once value */
774 static val_t once_value_35; /* Once value */
775 static val_t once_value_36; /* Once value */
776 static val_t once_value_37; /* Once value */
777 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
778 fra.me.file = LOCATE_compiling_base;
779 fra.me.line = 82;
780 fra.me.meth = LOCATE_compiling_base___CProgram___generate_build_file;
781 fra.me.has_broke = 0;
782 fra.me.REG_size = 8;
783 fra.me.REG[0] = NIT_NULL;
784 fra.me.REG[1] = NIT_NULL;
785 fra.me.REG[2] = NIT_NULL;
786 fra.me.REG[3] = NIT_NULL;
787 fra.me.REG[4] = NIT_NULL;
788 fra.me.REG[5] = NIT_NULL;
789 fra.me.REG[6] = NIT_NULL;
790 fra.me.REG[7] = NIT_NULL;
791 fra.me.REG[0] = p0;
792 /* ./compiling//compiling_base.nit:85 */
793 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____build_file(fra.me.REG[0])!=NIT_NULL);
794 if (UNTAG_Bool(REGB0)) {
795 } else {
796 nit_abort("Uninitialized attribute %s", "_build_file", LOCATE_compiling_base, 85);
797 }
798 fra.me.REG[1] = ATTR_compiling_base___CProgram____build_file(fra.me.REG[0]);
799 fra.me.REG[1] = NEW_OFStream_file___OFStream___open(fra.me.REG[1]);
800 /* ./compiling//compiling_base.nit:86 */
801 if (!once_value_1) {
802 fra.me.REG[2] = BOX_NativeString("");
803 REGB0 = TAG_Int(0);
804 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
805 once_value_1 = fra.me.REG[2];
806 register_static_object(&once_value_1);
807 } else fra.me.REG[2] = once_value_1;
808 fra.me.REG[2] = fra.me.REG[2];
809 /* ./compiling//compiling_base.nit:87 */
810 fra.me.REG[3] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
811 fra.me.REG[3] = CALL_program___Program___tc(fra.me.REG[3])(fra.me.REG[3]);
812 /* ./compiling//compiling_base.nit:89 */
813 REGB0 = CALL_mmloader___ToolContext___verbose_level(fra.me.REG[3])(fra.me.REG[3]);
814 REGB1 = TAG_Int(1);
815 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
816 if (UNTAG_Bool(REGB2)) {
817 } else {
818 /* ./../lib/standard//kernel.nit:207 */
819 REGB1 = TAG_Bool((REGB0)==(REGB1));
820 /* ./compiling//compiling_base.nit:89 */
821 REGB2 = REGB1;
822 }
823 if (UNTAG_Bool(REGB2)) {
824 /* ./compiling//compiling_base.nit:90 */
825 if (!once_value_2) {
826 fra.me.REG[4] = BOX_NativeString("-v");
827 REGB2 = TAG_Int(2);
828 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB2);
829 once_value_2 = fra.me.REG[4];
830 register_static_object(&once_value_2);
831 } else fra.me.REG[4] = once_value_2;
832 fra.me.REG[4] = fra.me.REG[4];
833 fra.me.REG[2] = fra.me.REG[4];
834 } else {
835 /* ./compiling//compiling_base.nit:91 */
836 REGB2 = CALL_mmloader___ToolContext___verbose_level(fra.me.REG[3])(fra.me.REG[3]);
837 REGB1 = TAG_Int(2);
838 /* ./../lib/standard//kernel.nit:213 */
839 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
840 /* ./compiling//compiling_base.nit:91 */
841 if (UNTAG_Bool(REGB1)) {
842 /* ./compiling//compiling_base.nit:93 */
843 if (!once_value_3) {
844 fra.me.REG[4] = BOX_NativeString("-vv");
845 REGB1 = TAG_Int(3);
846 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
847 once_value_3 = fra.me.REG[4];
848 register_static_object(&once_value_3);
849 } else fra.me.REG[4] = once_value_3;
850 fra.me.REG[4] = fra.me.REG[4];
851 fra.me.REG[2] = fra.me.REG[4];
852 }
853 }
854 /* ./compiling//compiling_base.nit:98 */
855 fra.me.REG[4] = CALL_compiling_base___CProgram___include_dirs(fra.me.REG[0])(fra.me.REG[0]);
856 REGB1 = TAG_Int(3);
857 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1);
858 if (!once_value_4) {
859 fra.me.REG[6] = BOX_NativeString("-I ");
860 REGB1 = TAG_Int(3);
861 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB1);
862 once_value_4 = fra.me.REG[6];
863 register_static_object(&once_value_4);
864 } else fra.me.REG[6] = once_value_4;
865 fra.me.REG[6] = fra.me.REG[6];
866 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
867 fra.me.REG[6] = CALL_compiling_base___CProgram___compdir(fra.me.REG[0])(fra.me.REG[0]);
868 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
869 if (!once_value_5) {
870 fra.me.REG[6] = BOX_NativeString("");
871 REGB1 = TAG_Int(0);
872 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB1);
873 once_value_5 = fra.me.REG[6];
874 register_static_object(&once_value_5);
875 } else fra.me.REG[6] = once_value_5;
876 fra.me.REG[6] = fra.me.REG[6];
877 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
878 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
879 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
880 /* ./compiling//compiling_base.nit:100 */
881 if (!once_value_6) {
882 fra.me.REG[5] = BOX_NativeString("#!/bin/sh\n");
883 REGB1 = TAG_Int(10);
884 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
885 once_value_6 = fra.me.REG[5];
886 register_static_object(&once_value_6);
887 } else fra.me.REG[5] = once_value_6;
888 fra.me.REG[5] = fra.me.REG[5];
889 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
890 /* ./compiling//compiling_base.nit:101 */
891 REGB1 = TAG_Int(3);
892 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1);
893 if (!once_value_7) {
894 fra.me.REG[4] = BOX_NativeString("# This shell script is generated by NIT to compile the program ");
895 REGB1 = TAG_Int(63);
896 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
897 once_value_7 = fra.me.REG[4];
898 register_static_object(&once_value_7);
899 } else fra.me.REG[4] = once_value_7;
900 fra.me.REG[4] = fra.me.REG[4];
901 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
902 fra.me.REG[4] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
903 fra.me.REG[4] = CALL_program___Program___main_module(fra.me.REG[4])(fra.me.REG[4]);
904 fra.me.REG[4] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[4])(fra.me.REG[4]);
905 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
906 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
907 if (!once_value_8) {
908 fra.me.REG[4] = BOX_NativeString(".\n");
909 REGB1 = TAG_Int(2);
910 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
911 once_value_8 = fra.me.REG[4];
912 register_static_object(&once_value_8);
913 } else fra.me.REG[4] = once_value_8;
914 fra.me.REG[4] = fra.me.REG[4];
915 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
916 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
917 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
918 /* ./compiling//compiling_base.nit:102 */
919 REGB1 = TAG_Int(3);
920 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1);
921 if (!once_value_9) {
922 fra.me.REG[4] = BOX_NativeString("CLIBDIR=\"");
923 REGB1 = TAG_Int(9);
924 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
925 once_value_9 = fra.me.REG[4];
926 register_static_object(&once_value_9);
927 } else fra.me.REG[4] = once_value_9;
928 fra.me.REG[4] = fra.me.REG[4];
929 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
930 fra.me.REG[4] = CALL_compiling_base___ToolContext___clibdir(fra.me.REG[3])(fra.me.REG[3]);
931 REGB1 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
932 if (UNTAG_Bool(REGB1)) {
933 } else {
934 nit_abort("Cast failed", NULL, LOCATE_compiling_base, 102);
935 }
936 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
937 if (!once_value_10) {
938 fra.me.REG[4] = BOX_NativeString("\"\n");
939 REGB1 = TAG_Int(2);
940 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
941 once_value_10 = fra.me.REG[4];
942 register_static_object(&once_value_10);
943 } else fra.me.REG[4] = once_value_10;
944 fra.me.REG[4] = fra.me.REG[4];
945 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
946 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
947 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
948 /* ./compiling//compiling_base.nit:103 */
949 REGB1 = TAG_Int(9);
950 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1);
951 if (!once_value_11) {
952 fra.me.REG[4] = BOX_NativeString("");
953 REGB1 = TAG_Int(0);
954 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
955 once_value_11 = fra.me.REG[4];
956 register_static_object(&once_value_11);
957 } else fra.me.REG[4] = once_value_11;
958 fra.me.REG[4] = fra.me.REG[4];
959 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
960 fra.me.REG[4] = CALL_compiling_base___ToolContext___bindir(fra.me.REG[3])(fra.me.REG[3]);
961 REGB1 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
962 if (UNTAG_Bool(REGB1)) {
963 } else {
964 nit_abort("Cast failed", NULL, LOCATE_compiling_base, 103);
965 }
966 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
967 if (!once_value_12) {
968 fra.me.REG[4] = BOX_NativeString("/gccx ");
969 REGB1 = TAG_Int(6);
970 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
971 once_value_12 = fra.me.REG[4];
972 register_static_object(&once_value_12);
973 } else fra.me.REG[4] = once_value_12;
974 fra.me.REG[4] = fra.me.REG[4];
975 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
976 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
977 if (!once_value_13) {
978 fra.me.REG[2] = BOX_NativeString(" -d ");
979 REGB1 = TAG_Int(4);
980 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB1);
981 once_value_13 = fra.me.REG[2];
982 register_static_object(&once_value_13);
983 } else fra.me.REG[2] = once_value_13;
984 fra.me.REG[2] = fra.me.REG[2];
985 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
986 fra.me.REG[2] = CALL_compiling_base___CProgram___compdir(fra.me.REG[0])(fra.me.REG[0]);
987 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
988 if (!once_value_14) {
989 fra.me.REG[2] = BOX_NativeString(" -I $CLIBDIR ");
990 REGB1 = TAG_Int(13);
991 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB1);
992 once_value_14 = fra.me.REG[2];
993 register_static_object(&once_value_14);
994 } else fra.me.REG[2] = once_value_14;
995 fra.me.REG[2] = fra.me.REG[2];
996 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
997 fra.me.REG[2] = CALL_compiling_base___CProgram___include_dirs(fra.me.REG[0])(fra.me.REG[0]);
998 if (!once_value_15) {
999 fra.me.REG[4] = BOX_NativeString(" ");
1000 REGB1 = TAG_Int(1);
1001 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1002 once_value_15 = fra.me.REG[4];
1003 register_static_object(&once_value_15);
1004 } else fra.me.REG[4] = once_value_15;
1005 fra.me.REG[4] = fra.me.REG[4];
1006 fra.me.REG[4] = CALL_string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
1007 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1008 if (!once_value_16) {
1009 fra.me.REG[4] = BOX_NativeString("");
1010 REGB1 = TAG_Int(0);
1011 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1012 once_value_16 = fra.me.REG[4];
1013 register_static_object(&once_value_16);
1014 } else fra.me.REG[4] = once_value_16;
1015 fra.me.REG[4] = fra.me.REG[4];
1016 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1017 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1018 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1019 /* ./compiling//compiling_base.nit:104 */
1020 fra.me.REG[5] = CALL_compiling_base___ToolContext___output_file(fra.me.REG[3])(fra.me.REG[3]);
1021 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1022 if (UNTAG_Bool(REGB1)) {
1023 } else {
1024 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1025 if (UNTAG_Bool(REGB2)) {
1026 REGB2 = TAG_Bool(false);
1027 REGB1 = REGB2;
1028 } else {
1029 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
1030 REGB1 = REGB2;
1031 }
1032 }
1033 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1034 if (UNTAG_Bool(REGB1)) {
1035 /* ./compiling//compiling_base.nit:105 */
1036 REGB1 = TAG_Int(3);
1037 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1);
1038 if (!once_value_17) {
1039 fra.me.REG[4] = BOX_NativeString(" -o ");
1040 REGB1 = TAG_Int(4);
1041 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1042 once_value_17 = fra.me.REG[4];
1043 register_static_object(&once_value_17);
1044 } else fra.me.REG[4] = once_value_17;
1045 fra.me.REG[4] = fra.me.REG[4];
1046 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1047 fra.me.REG[4] = CALL_compiling_base___ToolContext___output_file(fra.me.REG[3])(fra.me.REG[3]);
1048 REGB1 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
1049 if (UNTAG_Bool(REGB1)) {
1050 } else {
1051 nit_abort("Cast failed", NULL, LOCATE_compiling_base, 105);
1052 }
1053 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1054 if (!once_value_18) {
1055 fra.me.REG[4] = BOX_NativeString("");
1056 REGB1 = TAG_Int(0);
1057 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1058 once_value_18 = fra.me.REG[4];
1059 register_static_object(&once_value_18);
1060 } else fra.me.REG[4] = once_value_18;
1061 fra.me.REG[4] = fra.me.REG[4];
1062 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1063 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1064 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1065 } else {
1066 /* ./compiling//compiling_base.nit:106 */
1067 fra.me.REG[5] = CALL_compiling_base___ToolContext___ext_prefix(fra.me.REG[3])(fra.me.REG[3]);
1068 REGB1 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
1069 if (UNTAG_Bool(REGB1)) {
1070 /* ./compiling//compiling_base.nit:107 */
1071 REGB1 = TAG_Int(3);
1072 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1);
1073 if (!once_value_19) {
1074 fra.me.REG[4] = BOX_NativeString(" -o ");
1075 REGB1 = TAG_Int(4);
1076 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1077 once_value_19 = fra.me.REG[4];
1078 register_static_object(&once_value_19);
1079 } else fra.me.REG[4] = once_value_19;
1080 fra.me.REG[4] = fra.me.REG[4];
1081 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1082 fra.me.REG[4] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1083 fra.me.REG[4] = CALL_program___Program___main_module(fra.me.REG[4])(fra.me.REG[4]);
1084 fra.me.REG[4] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[4])(fra.me.REG[4]);
1085 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1086 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1087 if (!once_value_20) {
1088 fra.me.REG[4] = BOX_NativeString("");
1089 REGB1 = TAG_Int(0);
1090 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1091 once_value_20 = fra.me.REG[4];
1092 register_static_object(&once_value_20);
1093 } else fra.me.REG[4] = once_value_20;
1094 fra.me.REG[4] = fra.me.REG[4];
1095 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1096 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1097 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1098 } else {
1099 /* ./compiling//compiling_base.nit:109 */
1100 REGB1 = TAG_Int(5);
1101 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1);
1102 if (!once_value_21) {
1103 fra.me.REG[4] = BOX_NativeString(" -o ");
1104 REGB1 = TAG_Int(4);
1105 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1106 once_value_21 = fra.me.REG[4];
1107 register_static_object(&once_value_21);
1108 } else fra.me.REG[4] = once_value_21;
1109 fra.me.REG[4] = fra.me.REG[4];
1110 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1111 fra.me.REG[4] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1112 fra.me.REG[4] = CALL_program___Program___main_module(fra.me.REG[4])(fra.me.REG[4]);
1113 fra.me.REG[4] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[4])(fra.me.REG[4]);
1114 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1115 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1116 if (!once_value_22) {
1117 fra.me.REG[4] = BOX_NativeString("_");
1118 REGB1 = TAG_Int(1);
1119 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1120 once_value_22 = fra.me.REG[4];
1121 register_static_object(&once_value_22);
1122 } else fra.me.REG[4] = once_value_22;
1123 fra.me.REG[4] = fra.me.REG[4];
1124 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1125 fra.me.REG[4] = CALL_compiling_base___ToolContext___ext_prefix(fra.me.REG[3])(fra.me.REG[3]);
1126 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1127 if (!once_value_23) {
1128 fra.me.REG[4] = BOX_NativeString("");
1129 REGB1 = TAG_Int(0);
1130 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1131 once_value_23 = fra.me.REG[4];
1132 register_static_object(&once_value_23);
1133 } else fra.me.REG[4] = once_value_23;
1134 fra.me.REG[4] = fra.me.REG[4];
1135 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1136 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1137 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1138 }
1139 }
1140 /* ./compiling//compiling_base.nit:111 */
1141 REGB1 = CALL_compiling_base___ToolContext___boost(fra.me.REG[3])(fra.me.REG[3]);
1142 if (UNTAG_Bool(REGB1)) {
1143 if (!once_value_24) {
1144 fra.me.REG[5] = BOX_NativeString(" -O");
1145 REGB1 = TAG_Int(3);
1146 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1147 once_value_24 = fra.me.REG[5];
1148 register_static_object(&once_value_24);
1149 } else fra.me.REG[5] = once_value_24;
1150 fra.me.REG[5] = fra.me.REG[5];
1151 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1152 }
1153 /* ./compiling//compiling_base.nit:112 */
1154 REGB1 = CALL_compiling_base___ToolContext___cc_link(fra.me.REG[3])(fra.me.REG[3]);
1155 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1156 if (UNTAG_Bool(REGB1)) {
1157 if (!once_value_25) {
1158 fra.me.REG[5] = BOX_NativeString(" -x \"-c\"");
1159 REGB1 = TAG_Int(8);
1160 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
1161 once_value_25 = fra.me.REG[5];
1162 register_static_object(&once_value_25);
1163 } else fra.me.REG[5] = once_value_25;
1164 fra.me.REG[5] = fra.me.REG[5];
1165 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1166 }
1167 /* ./compiling//compiling_base.nit:113 */
1168 fra.me.REG[5] = CALL_compiling_base___ToolContext___cc_libs(fra.me.REG[3])(fra.me.REG[3]);
1169 /* ./../lib/standard//collection//array.nit:234 */
1170 REGB1 = TAG_Int(0);
1171 /* ./../lib/standard//collection//array.nit:235 */
1172 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1173 if (UNTAG_Bool(REGB2)) {
1174 } else {
1175 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1176 }
1177 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
1178 /* ./../lib/standard//collection//array.nit:236 */
1179 fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[5]);
1180 /* ./../lib/standard//collection//array.nit:237 */
1181 while(1) {
1182 /* ./../lib/standard//collection//array.nit:23 */
1183 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1184 if (UNTAG_Bool(REGB2)) {
1185 } else {
1186 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1187 }
1188 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
1189 /* ./../lib/standard//kernel.nit:212 */
1190 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1191 /* ./../lib/standard//collection//array.nit:237 */
1192 if (UNTAG_Bool(REGB2)) {
1193 /* ./../lib/standard//collection//array.nit:238 */
1194 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1195 if (UNTAG_Bool(REGB2)) {
1196 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1197 }
1198 /* ./../lib/standard//collection//array.nit:654 */
1199 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB1)];
1200 /* ./compiling//compiling_base.nit:113 */
1201 REGB2 = TAG_Int(3);
1202 fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB2);
1203 if (!once_value_26) {
1204 fra.me.REG[7] = BOX_NativeString(" -x \"-l ");
1205 REGB2 = TAG_Int(8);
1206 fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2);
1207 once_value_26 = fra.me.REG[7];
1208 register_static_object(&once_value_26);
1209 } else fra.me.REG[7] = once_value_26;
1210 fra.me.REG[7] = fra.me.REG[7];
1211 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
1212 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
1213 if (!once_value_27) {
1214 fra.me.REG[2] = BOX_NativeString("\"");
1215 REGB2 = TAG_Int(1);
1216 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB2);
1217 once_value_27 = fra.me.REG[2];
1218 register_static_object(&once_value_27);
1219 } else fra.me.REG[2] = once_value_27;
1220 fra.me.REG[2] = fra.me.REG[2];
1221 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
1222 fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
1223 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
1224 /* ./../lib/standard//collection//array.nit:239 */
1225 REGB2 = TAG_Int(1);
1226 /* ./../lib/standard//kernel.nit:215 */
1227 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1228 /* ./../lib/standard//collection//array.nit:239 */
1229 REGB1 = REGB2;
1230 } else {
1231 /* ./../lib/standard//collection//array.nit:237 */
1232 goto label28;
1233 }
1234 }
1235 label28: while(0);
1236 /* ./compiling//compiling_base.nit:114 */
1237 fra.me.REG[4] = CALL_compiling_base___ToolContext___cc_lib_paths(fra.me.REG[3])(fra.me.REG[3]);
1238 /* ./../lib/standard//collection//array.nit:234 */
1239 REGB1 = TAG_Int(0);
1240 /* ./../lib/standard//collection//array.nit:235 */
1241 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1242 if (UNTAG_Bool(REGB2)) {
1243 } else {
1244 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1245 }
1246 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
1247 /* ./../lib/standard//collection//array.nit:236 */
1248 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[4]);
1249 /* ./../lib/standard//collection//array.nit:237 */
1250 while(1) {
1251 /* ./../lib/standard//collection//array.nit:23 */
1252 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1253 if (UNTAG_Bool(REGB2)) {
1254 } else {
1255 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1256 }
1257 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
1258 /* ./../lib/standard//kernel.nit:212 */
1259 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1260 /* ./../lib/standard//collection//array.nit:237 */
1261 if (UNTAG_Bool(REGB2)) {
1262 /* ./../lib/standard//collection//array.nit:238 */
1263 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1264 if (UNTAG_Bool(REGB2)) {
1265 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1266 }
1267 /* ./../lib/standard//collection//array.nit:654 */
1268 fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
1269 /* ./compiling//compiling_base.nit:114 */
1270 REGB2 = TAG_Int(3);
1271 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB2);
1272 if (!once_value_29) {
1273 fra.me.REG[7] = BOX_NativeString(" -x \"-L ");
1274 REGB2 = TAG_Int(8);
1275 fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB2);
1276 once_value_29 = fra.me.REG[7];
1277 register_static_object(&once_value_29);
1278 } else fra.me.REG[7] = once_value_29;
1279 fra.me.REG[7] = fra.me.REG[7];
1280 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[7]);
1281 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1282 if (!once_value_30) {
1283 fra.me.REG[6] = BOX_NativeString("\"");
1284 REGB2 = TAG_Int(1);
1285 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB2);
1286 once_value_30 = fra.me.REG[6];
1287 register_static_object(&once_value_30);
1288 } else fra.me.REG[6] = once_value_30;
1289 fra.me.REG[6] = fra.me.REG[6];
1290 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1291 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1292 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1293 /* ./../lib/standard//collection//array.nit:239 */
1294 REGB2 = TAG_Int(1);
1295 /* ./../lib/standard//kernel.nit:215 */
1296 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1297 /* ./../lib/standard//collection//array.nit:239 */
1298 REGB1 = REGB2;
1299 } else {
1300 /* ./../lib/standard//collection//array.nit:237 */
1301 goto label31;
1302 }
1303 }
1304 label31: while(0);
1305 /* ./compiling//compiling_base.nit:115 */
1306 fra.me.REG[3] = CALL_compiling_base___ToolContext___cc_include_paths(fra.me.REG[3])(fra.me.REG[3]);
1307 /* ./../lib/standard//collection//array.nit:234 */
1308 REGB1 = TAG_Int(0);
1309 /* ./../lib/standard//collection//array.nit:235 */
1310 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1311 if (UNTAG_Bool(REGB2)) {
1312 } else {
1313 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1314 }
1315 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
1316 /* ./../lib/standard//collection//array.nit:236 */
1317 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[3]);
1318 /* ./../lib/standard//collection//array.nit:237 */
1319 while(1) {
1320 /* ./../lib/standard//collection//array.nit:23 */
1321 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1322 if (UNTAG_Bool(REGB2)) {
1323 } else {
1324 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1325 }
1326 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
1327 /* ./../lib/standard//kernel.nit:212 */
1328 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1329 /* ./../lib/standard//collection//array.nit:237 */
1330 if (UNTAG_Bool(REGB2)) {
1331 /* ./../lib/standard//collection//array.nit:238 */
1332 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1333 if (UNTAG_Bool(REGB2)) {
1334 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1335 }
1336 /* ./../lib/standard//collection//array.nit:654 */
1337 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
1338 /* ./compiling//compiling_base.nit:115 */
1339 REGB2 = TAG_Int(3);
1340 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB2);
1341 if (!once_value_32) {
1342 fra.me.REG[6] = BOX_NativeString(" -x \"-I ");
1343 REGB2 = TAG_Int(8);
1344 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB2);
1345 once_value_32 = fra.me.REG[6];
1346 register_static_object(&once_value_32);
1347 } else fra.me.REG[6] = once_value_32;
1348 fra.me.REG[6] = fra.me.REG[6];
1349 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1350 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
1351 if (!once_value_33) {
1352 fra.me.REG[4] = BOX_NativeString("\"");
1353 REGB2 = TAG_Int(1);
1354 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB2);
1355 once_value_33 = fra.me.REG[4];
1356 register_static_object(&once_value_33);
1357 } else fra.me.REG[4] = once_value_33;
1358 fra.me.REG[4] = fra.me.REG[4];
1359 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
1360 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1361 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1362 /* ./../lib/standard//collection//array.nit:239 */
1363 REGB2 = TAG_Int(1);
1364 /* ./../lib/standard//kernel.nit:215 */
1365 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1366 /* ./../lib/standard//collection//array.nit:239 */
1367 REGB1 = REGB2;
1368 } else {
1369 /* ./../lib/standard//collection//array.nit:237 */
1370 goto label34;
1371 }
1372 }
1373 label34: while(0);
1374 /* ./compiling//compiling_base.nit:116 */
1375 REGB1 = TAG_Int(3);
1376 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB1);
1377 if (!once_value_35) {
1378 fra.me.REG[3] = BOX_NativeString(" \"$@\" \\\n ");
1379 REGB1 = TAG_Int(10);
1380 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
1381 once_value_35 = fra.me.REG[3];
1382 register_static_object(&once_value_35);
1383 } else fra.me.REG[3] = once_value_35;
1384 fra.me.REG[3] = fra.me.REG[3];
1385 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
1386 fra.me.REG[0] = CALL_compiling_base___CProgram___files(fra.me.REG[0])(fra.me.REG[0]);
1387 if (!once_value_36) {
1388 fra.me.REG[3] = BOX_NativeString("\\\n ");
1389 REGB1 = TAG_Int(4);
1390 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
1391 once_value_36 = fra.me.REG[3];
1392 register_static_object(&once_value_36);
1393 } else fra.me.REG[3] = once_value_36;
1394 fra.me.REG[3] = fra.me.REG[3];
1395 fra.me.REG[3] = CALL_string___Collection___join(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
1396 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
1397 if (!once_value_37) {
1398 fra.me.REG[3] = BOX_NativeString("\n");
1399 REGB1 = TAG_Int(1);
1400 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
1401 once_value_37 = fra.me.REG[3];
1402 register_static_object(&once_value_37);
1403 } else fra.me.REG[3] = once_value_37;
1404 fra.me.REG[3] = fra.me.REG[3];
1405 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
1406 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1407 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1408 /* ./compiling//compiling_base.nit:117 */
1409 CALL_stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
1410 stack_frame_head = fra.me.prev;
1411 return;
1412 }
1413 void compiling_base___CProgram___run_c_compiler(val_t p0){
1414 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1415 val_t REGB0;
1416 val_t tmp;
1417 static val_t once_value_1; /* Once value */
1418 static val_t once_value_2; /* Once value */
1419 static val_t once_value_3; /* Once value */
1420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1421 fra.me.file = LOCATE_compiling_base;
1422 fra.me.line = 120;
1423 fra.me.meth = LOCATE_compiling_base___CProgram___run_c_compiler;
1424 fra.me.has_broke = 0;
1425 fra.me.REG_size = 4;
1426 fra.me.REG[0] = NIT_NULL;
1427 fra.me.REG[1] = NIT_NULL;
1428 fra.me.REG[2] = NIT_NULL;
1429 fra.me.REG[3] = NIT_NULL;
1430 fra.me.REG[0] = p0;
1431 /* ./compiling//compiling_base.nit:123 */
1432 fra.me.REG[1] = CALL_compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1433 fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[1])(fra.me.REG[1]);
1434 if (!once_value_1) {
1435 fra.me.REG[2] = BOX_NativeString("Building");
1436 REGB0 = TAG_Int(8);
1437 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1438 once_value_1 = fra.me.REG[2];
1439 register_static_object(&once_value_1);
1440 } else fra.me.REG[2] = once_value_1;
1441 fra.me.REG[2] = fra.me.REG[2];
1442 REGB0 = TAG_Int(1);
1443 CALL_mmloader___ToolContext___info(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], REGB0);
1444 /* ./compiling//compiling_base.nit:124 */
1445 fra.me.REG[2] = CALL_kernel___Object___sys(fra.me.REG[0])(fra.me.REG[0]);
1446 REGB0 = TAG_Int(3);
1447 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
1448 if (!once_value_2) {
1449 fra.me.REG[3] = BOX_NativeString("sh ");
1450 REGB0 = TAG_Int(3);
1451 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1452 once_value_2 = fra.me.REG[3];
1453 register_static_object(&once_value_2);
1454 } else fra.me.REG[3] = once_value_2;
1455 fra.me.REG[3] = fra.me.REG[3];
1456 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
1457 REGB0 = TAG_Bool(ATTR_compiling_base___CProgram____build_file(fra.me.REG[0])!=NIT_NULL);
1458 if (UNTAG_Bool(REGB0)) {
1459 } else {
1460 nit_abort("Uninitialized attribute %s", "_build_file", LOCATE_compiling_base, 124);
1461 }
1462 fra.me.REG[0] = ATTR_compiling_base___CProgram____build_file(fra.me.REG[0]);
1463 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1464 if (!once_value_3) {
1465 fra.me.REG[0] = BOX_NativeString("");
1466 REGB0 = TAG_Int(0);
1467 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
1468 once_value_3 = fra.me.REG[0];
1469 register_static_object(&once_value_3);
1470 } else fra.me.REG[0] = once_value_3;
1471 fra.me.REG[0] = fra.me.REG[0];
1472 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1473 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1474 CALL_exec___Sys___system(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1475 stack_frame_head = fra.me.prev;
1476 return;
1477 }
1478 void compiling_base___CompilerVisitor___add_decl(val_t p0, val_t p1){
1479 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1480 val_t REGB0;
1481 val_t tmp;
1482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1483 fra.me.file = LOCATE_compiling_base;
1484 fra.me.line = 132;
1485 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_decl;
1486 fra.me.has_broke = 0;
1487 fra.me.REG_size = 3;
1488 fra.me.REG[0] = NIT_NULL;
1489 fra.me.REG[1] = NIT_NULL;
1490 fra.me.REG[2] = NIT_NULL;
1491 fra.me.REG[0] = p0;
1492 fra.me.REG[1] = p1;
1493 /* ./compiling//compiling_base.nit:135 */
1494 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0])!=NIT_NULL);
1495 if (UNTAG_Bool(REGB0)) {
1496 } else {
1497 nit_abort("Uninitialized attribute %s", "_decl_writer", LOCATE_compiling_base, 135);
1498 }
1499 fra.me.REG[2] = ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]);
1500 CALL_compiling_base___CompilerVisitor___add_line_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[1]);
1501 stack_frame_head = fra.me.prev;
1502 return;
1503 }
1504 void compiling_base___CompilerVisitor___add_instr(val_t p0, val_t p1){
1505 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1506 val_t REGB0;
1507 val_t tmp;
1508 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1509 fra.me.file = LOCATE_compiling_base;
1510 fra.me.line = 138;
1511 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_instr;
1512 fra.me.has_broke = 0;
1513 fra.me.REG_size = 3;
1514 fra.me.REG[0] = NIT_NULL;
1515 fra.me.REG[1] = NIT_NULL;
1516 fra.me.REG[2] = NIT_NULL;
1517 fra.me.REG[0] = p0;
1518 fra.me.REG[1] = p1;
1519 /* ./compiling//compiling_base.nit:141 */
1520 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1521 if (UNTAG_Bool(REGB0)) {
1522 } else {
1523 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling_base, 141);
1524 }
1525 fra.me.REG[2] = ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1526 CALL_compiling_base___CompilerVisitor___add_line_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[1]);
1527 stack_frame_head = fra.me.prev;
1528 return;
1529 }
1530 void compiling_base___CompilerVisitor___add_indent(val_t p0, val_t p1){
1531 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1532 val_t REGB0;
1533 val_t REGB1;
1534 val_t REGB2;
1535 val_t tmp;
1536 static val_t once_value_1; /* Once value */
1537 static val_t once_value_2; /* Once value */
1538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1539 fra.me.file = LOCATE_compiling_base;
1540 fra.me.line = 145;
1541 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_indent;
1542 fra.me.has_broke = 0;
1543 fra.me.REG_size = 3;
1544 fra.me.REG[0] = NIT_NULL;
1545 fra.me.REG[1] = NIT_NULL;
1546 fra.me.REG[2] = NIT_NULL;
1547 fra.me.REG[0] = p0;
1548 fra.me.REG[1] = p1;
1549 /* ./compiling//compiling_base.nit:147 */
1550 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1551 if (UNTAG_Bool(REGB0)) {
1552 } else {
1553 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling_base, 147);
1554 }
1555 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1556 REGB1 = TAG_Int(8);
1557 /* ./../lib/standard//kernel.nit:213 */
1558 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1559 /* ./compiling//compiling_base.nit:147 */
1560 if (UNTAG_Bool(REGB1)) {
1561 /* ./compiling//compiling_base.nit:148 */
1562 if (!once_value_1) {
1563 fra.me.REG[2] = BOX_NativeString("\t\t");
1564 REGB1 = TAG_Int(2);
1565 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB1);
1566 once_value_1 = fra.me.REG[2];
1567 register_static_object(&once_value_1);
1568 } else fra.me.REG[2] = once_value_1;
1569 fra.me.REG[2] = fra.me.REG[2];
1570 CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1571 } else {
1572 /* ./compiling//compiling_base.nit:150 */
1573 REGB1 = TAG_Int(0);
1574 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1575 if (UNTAG_Bool(REGB0)) {
1576 } else {
1577 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling_base, 150);
1578 }
1579 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1580 /* ./../lib/standard//kernel.nit:332 */
1581 while(1) {
1582 /* ./../lib/standard//kernel.nit:212 */
1583 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1584 /* ./../lib/standard//kernel.nit:332 */
1585 if (UNTAG_Bool(REGB2)) {
1586 /* ./compiling//compiling_base.nit:151 */
1587 if (!once_value_2) {
1588 fra.me.REG[0] = BOX_NativeString(" ");
1589 REGB2 = TAG_Int(2);
1590 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB2);
1591 once_value_2 = fra.me.REG[0];
1592 register_static_object(&once_value_2);
1593 } else fra.me.REG[0] = once_value_2;
1594 fra.me.REG[0] = fra.me.REG[0];
1595 CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1596 /* ./../lib/standard//kernel.nit:334 */
1597 REGB2 = TAG_Int(1);
1598 /* ./../lib/standard//kernel.nit:215 */
1599 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1600 /* ./../lib/standard//kernel.nit:334 */
1601 REGB1 = REGB2;
1602 } else {
1603 /* ./../lib/standard//kernel.nit:332 */
1604 goto label3;
1605 }
1606 }
1607 label3: while(0);
1608 }
1609 stack_frame_head = fra.me.prev;
1610 return;
1611 }
1612 void compiling_base___CompilerVisitor___add_line_to(val_t p0, val_t p1, val_t p2){
1613 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1614 val_t REGB0;
1615 val_t tmp;
1616 static val_t once_value_1; /* Once value */
1617 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1618 fra.me.file = LOCATE_compiling_base;
1619 fra.me.line = 156;
1620 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_line_to;
1621 fra.me.has_broke = 0;
1622 fra.me.REG_size = 3;
1623 fra.me.REG[0] = NIT_NULL;
1624 fra.me.REG[1] = NIT_NULL;
1625 fra.me.REG[2] = NIT_NULL;
1626 fra.me.REG[0] = p0;
1627 fra.me.REG[1] = p1;
1628 fra.me.REG[2] = p2;
1629 /* ./compiling//compiling_base.nit:158 */
1630 CALL_compiling_base___CompilerVisitor___add_indent(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1631 /* ./compiling//compiling_base.nit:159 */
1632 CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1633 /* ./compiling//compiling_base.nit:160 */
1634 if (!once_value_1) {
1635 fra.me.REG[2] = BOX_NativeString("\n");
1636 REGB0 = TAG_Int(1);
1637 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1638 once_value_1 = fra.me.REG[2];
1639 register_static_object(&once_value_1);
1640 } else fra.me.REG[2] = once_value_1;
1641 fra.me.REG[2] = fra.me.REG[2];
1642 CALL_compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1643 stack_frame_head = fra.me.prev;
1644 return;
1645 }
1646 void compiling_base___CompilerVisitor___add_assignment(val_t p0, val_t p1, val_t p2){
1647 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1648 val_t REGB0;
1649 val_t REGB1;
1650 val_t tmp;
1651 static val_t once_value_1; /* Once value */
1652 static val_t once_value_2; /* Once value */
1653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1654 fra.me.file = LOCATE_compiling_base;
1655 fra.me.line = 163;
1656 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___add_assignment;
1657 fra.me.has_broke = 0;
1658 fra.me.REG_size = 4;
1659 fra.me.REG[0] = NIT_NULL;
1660 fra.me.REG[1] = NIT_NULL;
1661 fra.me.REG[2] = NIT_NULL;
1662 fra.me.REG[3] = NIT_NULL;
1663 fra.me.REG[0] = p0;
1664 fra.me.REG[1] = p1;
1665 fra.me.REG[2] = p2;
1666 /* ./compiling//compiling_base.nit:166 */
1667 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
1668 if (UNTAG_Bool(REGB0)) {
1669 } else {
1670 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1671 REGB0 = REGB1;
1672 }
1673 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1674 if (UNTAG_Bool(REGB0)) {
1675 /* ./compiling//compiling_base.nit:167 */
1676 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1677 if (UNTAG_Bool(REGB0)) {
1678 } else {
1679 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling_base, 167);
1680 }
1681 fra.me.REG[3] = ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1682 /* ./compiling//compiling_base.nit:168 */
1683 CALL_compiling_base___CompilerVisitor___add_indent(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
1684 /* ./compiling//compiling_base.nit:169 */
1685 CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1686 /* ./compiling//compiling_base.nit:170 */
1687 if (!once_value_1) {
1688 fra.me.REG[1] = BOX_NativeString(" = ");
1689 REGB0 = TAG_Int(3);
1690 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
1691 once_value_1 = fra.me.REG[1];
1692 register_static_object(&once_value_1);
1693 } else fra.me.REG[1] = once_value_1;
1694 fra.me.REG[1] = fra.me.REG[1];
1695 CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1696 /* ./compiling//compiling_base.nit:171 */
1697 CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
1698 /* ./compiling//compiling_base.nit:172 */
1699 if (!once_value_2) {
1700 fra.me.REG[2] = BOX_NativeString(";\n");
1701 REGB0 = TAG_Int(2);
1702 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1703 once_value_2 = fra.me.REG[2];
1704 register_static_object(&once_value_2);
1705 } else fra.me.REG[2] = once_value_2;
1706 fra.me.REG[2] = fra.me.REG[2];
1707 CALL_compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
1708 }
1709 stack_frame_head = fra.me.prev;
1710 return;
1711 }
1712 val_t compiling_base___CompilerVisitor___new_number(val_t p0){
1713 struct {struct stack_frame_t me;} fra;
1714 val_t REGB0;
1715 val_t REGB1;
1716 val_t tmp;
1717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1718 fra.me.file = LOCATE_compiling_base;
1719 fra.me.line = 176;
1720 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___new_number;
1721 fra.me.has_broke = 0;
1722 fra.me.REG_size = 1;
1723 fra.me.REG[0] = NIT_NULL;
1724 fra.me.REG[0] = p0;
1725 /* ./compiling//compiling_base.nit:179 */
1726 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0])!=NIT_NULL);
1727 if (UNTAG_Bool(REGB0)) {
1728 } else {
1729 nit_abort("Uninitialized attribute %s", "_number_cpt", LOCATE_compiling_base, 179);
1730 }
1731 REGB0 = ATTR_compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0]);
1732 /* ./compiling//compiling_base.nit:180 */
1733 REGB1 = TAG_Int(1);
1734 /* ./../lib/standard//kernel.nit:215 */
1735 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1736 /* ./compiling//compiling_base.nit:180 */
1737 ATTR_compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0]) = REGB1;
1738 /* ./compiling//compiling_base.nit:181 */
1739 goto label1;
1740 label1: while(0);
1741 stack_frame_head = fra.me.prev;
1742 return REGB0;
1743 }
1744 void compiling_base___CompilerVisitor___indent(val_t p0){
1745 struct {struct stack_frame_t me;} fra;
1746 val_t REGB0;
1747 val_t REGB1;
1748 val_t tmp;
1749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1750 fra.me.file = LOCATE_compiling_base;
1751 fra.me.line = 186;
1752 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___indent;
1753 fra.me.has_broke = 0;
1754 fra.me.REG_size = 1;
1755 fra.me.REG[0] = NIT_NULL;
1756 fra.me.REG[0] = p0;
1757 /* ./compiling//compiling_base.nit:188 */
1758 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1759 REGB1 = TAG_Int(1);
1760 /* ./../lib/standard//kernel.nit:215 */
1761 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1762 /* ./compiling//compiling_base.nit:188 */
1763 ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB1;
1764 stack_frame_head = fra.me.prev;
1765 return;
1766 }
1767 void compiling_base___CompilerVisitor___unindent(val_t p0){
1768 struct {struct stack_frame_t me;} fra;
1769 val_t REGB0;
1770 val_t REGB1;
1771 val_t tmp;
1772 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1773 fra.me.file = LOCATE_compiling_base;
1774 fra.me.line = 190;
1775 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___unindent;
1776 fra.me.has_broke = 0;
1777 fra.me.REG_size = 1;
1778 fra.me.REG[0] = NIT_NULL;
1779 fra.me.REG[0] = p0;
1780 /* ./compiling//compiling_base.nit:193 */
1781 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1782 REGB1 = TAG_Int(1);
1783 /* ./../lib/standard//kernel.nit:217 */
1784 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1785 /* ./compiling//compiling_base.nit:193 */
1786 ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB1;
1787 /* ./compiling//compiling_base.nit:194 */
1788 REGB1 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1789 if (UNTAG_Bool(REGB1)) {
1790 } else {
1791 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling_base, 194);
1792 }
1793 REGB1 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1794 REGB0 = TAG_Int(0);
1795 /* ./../lib/standard//kernel.nit:212 */
1796 REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1797 /* ./compiling//compiling_base.nit:194 */
1798 if (UNTAG_Bool(REGB0)) {
1799 REGB0 = TAG_Int(0);
1800 ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB0;
1801 }
1802 stack_frame_head = fra.me.prev;
1803 return;
1804 }
1805 val_t compiling_base___CompilerVisitor___mmmodule(val_t p0){
1806 struct {struct stack_frame_t me;} fra;
1807 val_t REGB0;
1808 val_t tmp;
1809 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1810 fra.me.file = LOCATE_compiling_base;
1811 fra.me.line = 197;
1812 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___mmmodule;
1813 fra.me.has_broke = 0;
1814 fra.me.REG_size = 1;
1815 fra.me.REG[0] = NIT_NULL;
1816 fra.me.REG[0] = p0;
1817 /* ./compiling//compiling_base.nit:197 */
1818 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
1819 if (UNTAG_Bool(REGB0)) {
1820 } else {
1821 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_compiling_base, 197);
1822 }
1823 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0]);
1824 stack_frame_head = fra.me.prev;
1825 return fra.me.REG[0];
1826 }
1827 val_t compiling_base___CompilerVisitor___header_writer(val_t p0){
1828 struct {struct stack_frame_t me;} fra;
1829 val_t REGB0;
1830 val_t tmp;
1831 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1832 fra.me.file = LOCATE_compiling_base;
1833 fra.me.line = 200;
1834 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___header_writer;
1835 fra.me.has_broke = 0;
1836 fra.me.REG_size = 1;
1837 fra.me.REG[0] = NIT_NULL;
1838 fra.me.REG[0] = p0;
1839 /* ./compiling//compiling_base.nit:200 */
1840 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____header_writer(fra.me.REG[0])!=NIT_NULL);
1841 if (UNTAG_Bool(REGB0)) {
1842 } else {
1843 nit_abort("Uninitialized attribute %s", "_header_writer", LOCATE_compiling_base, 200);
1844 }
1845 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]);
1846 stack_frame_head = fra.me.prev;
1847 return fra.me.REG[0];
1848 }
1849 void compiling_base___CompilerVisitor___header_writer__eq(val_t p0, val_t p1){
1850 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1851 val_t tmp;
1852 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1853 fra.me.file = LOCATE_compiling_base;
1854 fra.me.line = 200;
1855 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___header_writer__eq;
1856 fra.me.has_broke = 0;
1857 fra.me.REG_size = 2;
1858 fra.me.REG[0] = NIT_NULL;
1859 fra.me.REG[1] = NIT_NULL;
1860 fra.me.REG[0] = p0;
1861 fra.me.REG[1] = p1;
1862 /* ./compiling//compiling_base.nit:200 */
1863 ATTR_compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]) = fra.me.REG[1];
1864 stack_frame_head = fra.me.prev;
1865 return;
1866 }
1867 val_t compiling_base___CompilerVisitor___writer(val_t p0){
1868 struct {struct stack_frame_t me;} fra;
1869 val_t REGB0;
1870 val_t tmp;
1871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1872 fra.me.file = LOCATE_compiling_base;
1873 fra.me.line = 203;
1874 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___writer;
1875 fra.me.has_broke = 0;
1876 fra.me.REG_size = 1;
1877 fra.me.REG[0] = NIT_NULL;
1878 fra.me.REG[0] = p0;
1879 /* ./compiling//compiling_base.nit:203 */
1880 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1881 if (UNTAG_Bool(REGB0)) {
1882 } else {
1883 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling_base, 203);
1884 }
1885 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1886 stack_frame_head = fra.me.prev;
1887 return fra.me.REG[0];
1888 }
1889 void compiling_base___CompilerVisitor___writer__eq(val_t p0, val_t p1){
1890 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1891 val_t tmp;
1892 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1893 fra.me.file = LOCATE_compiling_base;
1894 fra.me.line = 203;
1895 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___writer__eq;
1896 fra.me.has_broke = 0;
1897 fra.me.REG_size = 2;
1898 fra.me.REG[0] = NIT_NULL;
1899 fra.me.REG[1] = NIT_NULL;
1900 fra.me.REG[0] = p0;
1901 fra.me.REG[1] = p1;
1902 /* ./compiling//compiling_base.nit:203 */
1903 ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]) = fra.me.REG[1];
1904 stack_frame_head = fra.me.prev;
1905 return;
1906 }
1907 val_t compiling_base___CompilerVisitor___decl_writer(val_t p0){
1908 struct {struct stack_frame_t me;} fra;
1909 val_t REGB0;
1910 val_t tmp;
1911 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1912 fra.me.file = LOCATE_compiling_base;
1913 fra.me.line = 206;
1914 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___decl_writer;
1915 fra.me.has_broke = 0;
1916 fra.me.REG_size = 1;
1917 fra.me.REG[0] = NIT_NULL;
1918 fra.me.REG[0] = p0;
1919 /* ./compiling//compiling_base.nit:206 */
1920 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0])!=NIT_NULL);
1921 if (UNTAG_Bool(REGB0)) {
1922 } else {
1923 nit_abort("Uninitialized attribute %s", "_decl_writer", LOCATE_compiling_base, 206);
1924 }
1925 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]);
1926 stack_frame_head = fra.me.prev;
1927 return fra.me.REG[0];
1928 }
1929 void compiling_base___CompilerVisitor___decl_writer__eq(val_t p0, val_t p1){
1930 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1931 val_t tmp;
1932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1933 fra.me.file = LOCATE_compiling_base;
1934 fra.me.line = 206;
1935 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___decl_writer__eq;
1936 fra.me.has_broke = 0;
1937 fra.me.REG_size = 2;
1938 fra.me.REG[0] = NIT_NULL;
1939 fra.me.REG[1] = NIT_NULL;
1940 fra.me.REG[0] = p0;
1941 fra.me.REG[1] = p1;
1942 /* ./compiling//compiling_base.nit:206 */
1943 ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]) = fra.me.REG[1];
1944 stack_frame_head = fra.me.prev;
1945 return;
1946 }
1947 val_t compiling_base___CompilerVisitor___top_writer(val_t p0){
1948 struct {struct stack_frame_t me;} fra;
1949 val_t REGB0;
1950 val_t tmp;
1951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1952 fra.me.file = LOCATE_compiling_base;
1953 fra.me.line = 209;
1954 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___top_writer;
1955 fra.me.has_broke = 0;
1956 fra.me.REG_size = 1;
1957 fra.me.REG[0] = NIT_NULL;
1958 fra.me.REG[0] = p0;
1959 /* ./compiling//compiling_base.nit:209 */
1960 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____top_writer(fra.me.REG[0])!=NIT_NULL);
1961 if (UNTAG_Bool(REGB0)) {
1962 } else {
1963 nit_abort("Uninitialized attribute %s", "_top_writer", LOCATE_compiling_base, 209);
1964 }
1965 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]);
1966 stack_frame_head = fra.me.prev;
1967 return fra.me.REG[0];
1968 }
1969 void compiling_base___CompilerVisitor___top_writer__eq(val_t p0, val_t p1){
1970 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1971 val_t tmp;
1972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1973 fra.me.file = LOCATE_compiling_base;
1974 fra.me.line = 209;
1975 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___top_writer__eq;
1976 fra.me.has_broke = 0;
1977 fra.me.REG_size = 2;
1978 fra.me.REG[0] = NIT_NULL;
1979 fra.me.REG[1] = NIT_NULL;
1980 fra.me.REG[0] = p0;
1981 fra.me.REG[1] = p1;
1982 /* ./compiling//compiling_base.nit:209 */
1983 ATTR_compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]) = fra.me.REG[1];
1984 stack_frame_head = fra.me.prev;
1985 return;
1986 }
1987 val_t compiling_base___CompilerVisitor___top_decl_writer(val_t p0){
1988 struct {struct stack_frame_t me;} fra;
1989 val_t REGB0;
1990 val_t tmp;
1991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1992 fra.me.file = LOCATE_compiling_base;
1993 fra.me.line = 212;
1994 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___top_decl_writer;
1995 fra.me.has_broke = 0;
1996 fra.me.REG_size = 1;
1997 fra.me.REG[0] = NIT_NULL;
1998 fra.me.REG[0] = p0;
1999 /* ./compiling//compiling_base.nit:212 */
2000 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0])!=NIT_NULL);
2001 if (UNTAG_Bool(REGB0)) {
2002 } else {
2003 nit_abort("Uninitialized attribute %s", "_top_decl_writer", LOCATE_compiling_base, 212);
2004 }
2005 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]);
2006 stack_frame_head = fra.me.prev;
2007 return fra.me.REG[0];
2008 }
2009 void compiling_base___CompilerVisitor___top_decl_writer__eq(val_t p0, val_t p1){
2010 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2011 val_t tmp;
2012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2013 fra.me.file = LOCATE_compiling_base;
2014 fra.me.line = 212;
2015 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___top_decl_writer__eq;
2016 fra.me.has_broke = 0;
2017 fra.me.REG_size = 2;
2018 fra.me.REG[0] = NIT_NULL;
2019 fra.me.REG[1] = NIT_NULL;
2020 fra.me.REG[0] = p0;
2021 fra.me.REG[1] = p1;
2022 /* ./compiling//compiling_base.nit:212 */
2023 ATTR_compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]) = fra.me.REG[1];
2024 stack_frame_head = fra.me.prev;
2025 return;
2026 }
2027 val_t compiling_base___CompilerVisitor___indent_level(val_t p0){
2028 struct {struct stack_frame_t me;} fra;
2029 val_t REGB0;
2030 val_t tmp;
2031 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2032 fra.me.file = LOCATE_compiling_base;
2033 fra.me.line = 215;
2034 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___indent_level;
2035 fra.me.has_broke = 0;
2036 fra.me.REG_size = 1;
2037 fra.me.REG[0] = NIT_NULL;
2038 fra.me.REG[0] = p0;
2039 /* ./compiling//compiling_base.nit:215 */
2040 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
2041 if (UNTAG_Bool(REGB0)) {
2042 } else {
2043 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling_base, 215);
2044 }
2045 REGB0 = ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
2046 stack_frame_head = fra.me.prev;
2047 return REGB0;
2048 }
2049 void compiling_base___CompilerVisitor___indent_level__eq(val_t p0, val_t p1){
2050 struct {struct stack_frame_t me;} fra;
2051 val_t REGB0;
2052 val_t tmp;
2053 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2054 fra.me.file = LOCATE_compiling_base;
2055 fra.me.line = 215;
2056 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___indent_level__eq;
2057 fra.me.has_broke = 0;
2058 fra.me.REG_size = 1;
2059 fra.me.REG[0] = NIT_NULL;
2060 fra.me.REG[0] = p0;
2061 REGB0 = p1;
2062 /* ./compiling//compiling_base.nit:215 */
2063 ATTR_compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB0;
2064 stack_frame_head = fra.me.prev;
2065 return;
2066 }
2067 val_t compiling_base___CompilerVisitor___program(val_t p0){
2068 struct {struct stack_frame_t me;} fra;
2069 val_t REGB0;
2070 val_t tmp;
2071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2072 fra.me.file = LOCATE_compiling_base;
2073 fra.me.line = 218;
2074 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___program;
2075 fra.me.has_broke = 0;
2076 fra.me.REG_size = 1;
2077 fra.me.REG[0] = NIT_NULL;
2078 fra.me.REG[0] = p0;
2079 /* ./compiling//compiling_base.nit:218 */
2080 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____program(fra.me.REG[0])!=NIT_NULL);
2081 if (UNTAG_Bool(REGB0)) {
2082 } else {
2083 nit_abort("Uninitialized attribute %s", "_program", LOCATE_compiling_base, 218);
2084 }
2085 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____program(fra.me.REG[0]);
2086 stack_frame_head = fra.me.prev;
2087 return fra.me.REG[0];
2088 }
2089 val_t compiling_base___CompilerVisitor___cprogram(val_t p0){
2090 struct {struct stack_frame_t me;} fra;
2091 val_t REGB0;
2092 val_t tmp;
2093 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2094 fra.me.file = LOCATE_compiling_base;
2095 fra.me.line = 221;
2096 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___cprogram;
2097 fra.me.has_broke = 0;
2098 fra.me.REG_size = 1;
2099 fra.me.REG[0] = NIT_NULL;
2100 fra.me.REG[0] = p0;
2101 /* ./compiling//compiling_base.nit:221 */
2102 REGB0 = TAG_Bool(ATTR_compiling_base___CompilerVisitor____cprogram(fra.me.REG[0])!=NIT_NULL);
2103 if (UNTAG_Bool(REGB0)) {
2104 } else {
2105 nit_abort("Uninitialized attribute %s", "_cprogram", LOCATE_compiling_base, 221);
2106 }
2107 fra.me.REG[0] = ATTR_compiling_base___CompilerVisitor____cprogram(fra.me.REG[0]);
2108 stack_frame_head = fra.me.prev;
2109 return fra.me.REG[0];
2110 }
2111 void compiling_base___CompilerVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
2112 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_CompilerVisitor].i;
2113 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2114 val_t tmp;
2115 if (init_table[itpos1]) return;
2116 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2117 fra.me.file = LOCATE_compiling_base;
2118 fra.me.line = 224;
2119 fra.me.meth = LOCATE_compiling_base___CompilerVisitor___init;
2120 fra.me.has_broke = 0;
2121 fra.me.REG_size = 3;
2122 fra.me.REG[0] = NIT_NULL;
2123 fra.me.REG[1] = NIT_NULL;
2124 fra.me.REG[2] = NIT_NULL;
2125 fra.me.REG[0] = p0;
2126 fra.me.REG[1] = p1;
2127 fra.me.REG[2] = p2;
2128 /* ./compiling//compiling_base.nit:227 */
2129 ATTR_compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0]) = fra.me.REG[1];
2130 /* ./compiling//compiling_base.nit:228 */
2131 ATTR_compiling_base___CompilerVisitor____cprogram(fra.me.REG[0]) = fra.me.REG[2];
2132 /* ./compiling//compiling_base.nit:229 */
2133 fra.me.REG[2] = CALL_compiling_base___CProgram___program(fra.me.REG[2])(fra.me.REG[2]);
2134 ATTR_compiling_base___CompilerVisitor____program(fra.me.REG[0]) = fra.me.REG[2];
2135 /* ./compiling//compiling_base.nit:231 */
2136 fra.me.REG[2] = NEW_Writer_compiling_writer___Writer___init();
2137 /* ./compiling//compiling_base.nit:232 */
2138 ATTR_compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]) = fra.me.REG[2];
2139 /* ./compiling//compiling_base.nit:233 */
2140 ATTR_compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]) = fra.me.REG[2];
2141 /* ./compiling//compiling_base.nit:234 */
2142 fra.me.REG[1] = NEW_Writer_compiling_writer___Writer___init();
2143 fra.me.REG[2] = fra.me.REG[1];
2144 /* ./compiling//compiling_base.nit:235 */
2145 ATTR_compiling_base___CompilerVisitor____writer(fra.me.REG[0]) = fra.me.REG[2];
2146 /* ./compiling//compiling_base.nit:236 */
2147 ATTR_compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]) = fra.me.REG[2];
2148 /* ./compiling//compiling_base.nit:237 */
2149 fra.me.REG[2] = CALL_compiling_writer___Writer___sub(fra.me.REG[2])(fra.me.REG[2]);
2150 ATTR_compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]) = fra.me.REG[2];
2151 stack_frame_head = fra.me.prev;
2152 init_table[itpos1] = 1;
2153 return;
2154 }
2155 val_t compiling_base___MMGlobalProperty___meth_call(val_t p0){
2156 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2157 val_t REGB0;
2158 val_t tmp;
2159 static val_t once_value_1; /* Once value */
2160 static val_t once_value_2; /* Once value */
2161 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2162 fra.me.file = LOCATE_compiling_base;
2163 fra.me.line = 242;
2164 fra.me.meth = LOCATE_compiling_base___MMGlobalProperty___meth_call;
2165 fra.me.has_broke = 0;
2166 fra.me.REG_size = 3;
2167 fra.me.REG[0] = NIT_NULL;
2168 fra.me.REG[1] = NIT_NULL;
2169 fra.me.REG[2] = NIT_NULL;
2170 fra.me.REG[0] = p0;
2171 /* ./compiling//compiling_base.nit:245 */
2172 REGB0 = TAG_Int(3);
2173 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2174 if (!once_value_1) {
2175 fra.me.REG[2] = BOX_NativeString("CALL_");
2176 REGB0 = TAG_Int(5);
2177 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2178 once_value_1 = fra.me.REG[2];
2179 register_static_object(&once_value_1);
2180 } else fra.me.REG[2] = once_value_1;
2181 fra.me.REG[2] = fra.me.REG[2];
2182 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2183 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2184 fra.me.REG[0] = CALL_compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2185 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2186 if (!once_value_2) {
2187 fra.me.REG[0] = BOX_NativeString("");
2188 REGB0 = TAG_Int(0);
2189 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2190 once_value_2 = fra.me.REG[0];
2191 register_static_object(&once_value_2);
2192 } else fra.me.REG[0] = once_value_2;
2193 fra.me.REG[0] = fra.me.REG[0];
2194 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2195 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2196 goto label3;
2197 label3: while(0);
2198 stack_frame_head = fra.me.prev;
2199 return fra.me.REG[1];
2200 }
2201 val_t compiling_base___MMGlobalProperty___attr_access(val_t p0){
2202 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2203 val_t REGB0;
2204 val_t tmp;
2205 static val_t once_value_1; /* Once value */
2206 static val_t once_value_2; /* Once value */
2207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2208 fra.me.file = LOCATE_compiling_base;
2209 fra.me.line = 248;
2210 fra.me.meth = LOCATE_compiling_base___MMGlobalProperty___attr_access;
2211 fra.me.has_broke = 0;
2212 fra.me.REG_size = 3;
2213 fra.me.REG[0] = NIT_NULL;
2214 fra.me.REG[1] = NIT_NULL;
2215 fra.me.REG[2] = NIT_NULL;
2216 fra.me.REG[0] = p0;
2217 /* ./compiling//compiling_base.nit:251 */
2218 REGB0 = TAG_Int(3);
2219 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2220 if (!once_value_1) {
2221 fra.me.REG[2] = BOX_NativeString("ATTR_");
2222 REGB0 = TAG_Int(5);
2223 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2224 once_value_1 = fra.me.REG[2];
2225 register_static_object(&once_value_1);
2226 } else fra.me.REG[2] = once_value_1;
2227 fra.me.REG[2] = fra.me.REG[2];
2228 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2229 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2230 fra.me.REG[0] = CALL_compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2231 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2232 if (!once_value_2) {
2233 fra.me.REG[0] = BOX_NativeString("");
2234 REGB0 = TAG_Int(0);
2235 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2236 once_value_2 = fra.me.REG[0];
2237 register_static_object(&once_value_2);
2238 } else fra.me.REG[0] = once_value_2;
2239 fra.me.REG[0] = fra.me.REG[0];
2240 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2241 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2242 goto label3;
2243 label3: while(0);
2244 stack_frame_head = fra.me.prev;
2245 return fra.me.REG[1];
2246 }
2247 val_t compiling_base___MMGlobalClass___id_id(val_t p0){
2248 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2249 val_t REGB0;
2250 val_t tmp;
2251 static val_t once_value_1; /* Once value */
2252 static val_t once_value_2; /* Once value */
2253 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2254 fra.me.file = LOCATE_compiling_base;
2255 fra.me.line = 256;
2256 fra.me.meth = LOCATE_compiling_base___MMGlobalClass___id_id;
2257 fra.me.has_broke = 0;
2258 fra.me.REG_size = 3;
2259 fra.me.REG[0] = NIT_NULL;
2260 fra.me.REG[1] = NIT_NULL;
2261 fra.me.REG[2] = NIT_NULL;
2262 fra.me.REG[0] = p0;
2263 /* ./compiling//compiling_base.nit:259 */
2264 REGB0 = TAG_Int(3);
2265 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2266 if (!once_value_1) {
2267 fra.me.REG[2] = BOX_NativeString("ID_");
2268 REGB0 = TAG_Int(3);
2269 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2270 once_value_1 = fra.me.REG[2];
2271 register_static_object(&once_value_1);
2272 } else fra.me.REG[2] = once_value_1;
2273 fra.me.REG[2] = fra.me.REG[2];
2274 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2275 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
2276 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
2277 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2278 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2279 if (!once_value_2) {
2280 fra.me.REG[0] = BOX_NativeString("");
2281 REGB0 = TAG_Int(0);
2282 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2283 once_value_2 = fra.me.REG[0];
2284 register_static_object(&once_value_2);
2285 } else fra.me.REG[0] = once_value_2;
2286 fra.me.REG[0] = fra.me.REG[0];
2287 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2288 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2289 goto label3;
2290 label3: while(0);
2291 stack_frame_head = fra.me.prev;
2292 return fra.me.REG[1];
2293 }
2294 val_t compiling_base___MMGlobalClass___color_id(val_t p0){
2295 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2296 val_t REGB0;
2297 val_t tmp;
2298 static val_t once_value_1; /* Once value */
2299 static val_t once_value_2; /* Once value */
2300 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2301 fra.me.file = LOCATE_compiling_base;
2302 fra.me.line = 262;
2303 fra.me.meth = LOCATE_compiling_base___MMGlobalClass___color_id;
2304 fra.me.has_broke = 0;
2305 fra.me.REG_size = 3;
2306 fra.me.REG[0] = NIT_NULL;
2307 fra.me.REG[1] = NIT_NULL;
2308 fra.me.REG[2] = NIT_NULL;
2309 fra.me.REG[0] = p0;
2310 /* ./compiling//compiling_base.nit:265 */
2311 REGB0 = TAG_Int(3);
2312 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2313 if (!once_value_1) {
2314 fra.me.REG[2] = BOX_NativeString("COLOR_");
2315 REGB0 = TAG_Int(6);
2316 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2317 once_value_1 = fra.me.REG[2];
2318 register_static_object(&once_value_1);
2319 } else fra.me.REG[2] = once_value_1;
2320 fra.me.REG[2] = fra.me.REG[2];
2321 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2322 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
2323 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
2324 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2325 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2326 if (!once_value_2) {
2327 fra.me.REG[0] = BOX_NativeString("");
2328 REGB0 = TAG_Int(0);
2329 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2330 once_value_2 = fra.me.REG[0];
2331 register_static_object(&once_value_2);
2332 } else fra.me.REG[0] = once_value_2;
2333 fra.me.REG[0] = fra.me.REG[0];
2334 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2335 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2336 goto label3;
2337 label3: while(0);
2338 stack_frame_head = fra.me.prev;
2339 return fra.me.REG[1];
2340 }
2341 val_t compiling_base___MMGlobalClass___init_table_pos_id(val_t p0){
2342 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2343 val_t REGB0;
2344 val_t tmp;
2345 static val_t once_value_1; /* Once value */
2346 static val_t once_value_2; /* Once value */
2347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2348 fra.me.file = LOCATE_compiling_base;
2349 fra.me.line = 268;
2350 fra.me.meth = LOCATE_compiling_base___MMGlobalClass___init_table_pos_id;
2351 fra.me.has_broke = 0;
2352 fra.me.REG_size = 3;
2353 fra.me.REG[0] = NIT_NULL;
2354 fra.me.REG[1] = NIT_NULL;
2355 fra.me.REG[2] = NIT_NULL;
2356 fra.me.REG[0] = p0;
2357 /* ./compiling//compiling_base.nit:271 */
2358 REGB0 = TAG_Int(3);
2359 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2360 if (!once_value_1) {
2361 fra.me.REG[2] = BOX_NativeString("INIT_TABLE_POS_");
2362 REGB0 = TAG_Int(15);
2363 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2364 once_value_1 = fra.me.REG[2];
2365 register_static_object(&once_value_1);
2366 } else fra.me.REG[2] = once_value_1;
2367 fra.me.REG[2] = fra.me.REG[2];
2368 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2369 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
2370 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
2371 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2372 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2373 if (!once_value_2) {
2374 fra.me.REG[0] = BOX_NativeString("");
2375 REGB0 = TAG_Int(0);
2376 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2377 once_value_2 = fra.me.REG[0];
2378 register_static_object(&once_value_2);
2379 } else fra.me.REG[0] = once_value_2;
2380 fra.me.REG[0] = fra.me.REG[0];
2381 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2382 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2383 goto label3;
2384 label3: while(0);
2385 stack_frame_head = fra.me.prev;
2386 return fra.me.REG[1];
2387 }
2388 val_t compiling_base___MMLocalProperty___cname(val_t p0){
2389 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2390 val_t REGB0;
2391 val_t REGB1;
2392 val_t tmp;
2393 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2394 fra.me.file = LOCATE_compiling_base;
2395 fra.me.line = 279;
2396 fra.me.meth = LOCATE_compiling_base___MMLocalProperty___cname;
2397 fra.me.has_broke = 0;
2398 fra.me.REG_size = 4;
2399 fra.me.REG[0] = NIT_NULL;
2400 fra.me.REG[1] = NIT_NULL;
2401 fra.me.REG[2] = NIT_NULL;
2402 fra.me.REG[3] = NIT_NULL;
2403 fra.me.REG[0] = p0;
2404 /* ./compiling//compiling_base.nit:282 */
2405 fra.me.REG[1] = ATTR_compiling_base___MMLocalProperty____cname_cache(fra.me.REG[0]);
2406 /* ./compiling//compiling_base.nit:283 */
2407 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2408 if (UNTAG_Bool(REGB0)) {
2409 } else {
2410 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2411 if (UNTAG_Bool(REGB1)) {
2412 REGB1 = TAG_Bool(false);
2413 REGB0 = REGB1;
2414 } else {
2415 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2416 REGB0 = REGB1;
2417 }
2418 }
2419 if (UNTAG_Bool(REGB0)) {
2420 /* ./compiling//compiling_base.nit:284 */
2421 REGB0 = TAG_Int(2);
2422 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2423 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[0])(fra.me.REG[0]);
2424 fra.me.REG[3] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[3])(fra.me.REG[3]);
2425 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2426 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
2427 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[3])(fra.me.REG[3]);
2428 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2429 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[0])(fra.me.REG[0]);
2430 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2431 fra.me.REG[2] = CALL_utils___Object___cmangle(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
2432 fra.me.REG[1] = fra.me.REG[2];
2433 /* ./compiling//compiling_base.nit:285 */
2434 ATTR_compiling_base___MMLocalProperty____cname_cache(fra.me.REG[0]) = fra.me.REG[1];
2435 }
2436 /* ./compiling//compiling_base.nit:287 */
2437 goto label1;
2438 label1: while(0);
2439 stack_frame_head = fra.me.prev;
2440 return fra.me.REG[1];
2441 }
2442 val_t compiling_base___MMLocalProperty___super_meth_call(val_t p0){
2443 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2444 val_t REGB0;
2445 val_t tmp;
2446 static val_t once_value_1; /* Once value */
2447 static val_t once_value_2; /* Once value */
2448 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2449 fra.me.file = LOCATE_compiling_base;
2450 fra.me.line = 290;
2451 fra.me.meth = LOCATE_compiling_base___MMLocalProperty___super_meth_call;
2452 fra.me.has_broke = 0;
2453 fra.me.REG_size = 3;
2454 fra.me.REG[0] = NIT_NULL;
2455 fra.me.REG[1] = NIT_NULL;
2456 fra.me.REG[2] = NIT_NULL;
2457 fra.me.REG[0] = p0;
2458 /* ./compiling//compiling_base.nit:293 */
2459 REGB0 = TAG_Int(3);
2460 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2461 if (!once_value_1) {
2462 fra.me.REG[2] = BOX_NativeString("CALL_SUPER_");
2463 REGB0 = TAG_Int(11);
2464 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2465 once_value_1 = fra.me.REG[2];
2466 register_static_object(&once_value_1);
2467 } else fra.me.REG[2] = once_value_1;
2468 fra.me.REG[2] = fra.me.REG[2];
2469 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2470 fra.me.REG[0] = CALL_compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2471 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2472 if (!once_value_2) {
2473 fra.me.REG[0] = BOX_NativeString("");
2474 REGB0 = TAG_Int(0);
2475 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2476 once_value_2 = fra.me.REG[0];
2477 register_static_object(&once_value_2);
2478 } else fra.me.REG[0] = once_value_2;
2479 fra.me.REG[0] = fra.me.REG[0];
2480 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2481 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2482 goto label3;
2483 label3: while(0);
2484 stack_frame_head = fra.me.prev;
2485 return fra.me.REG[1];
2486 }