c_src: updates c_src for extern classes to be special of Pointer
[nit.git] / c_src / compiling___compiling_base._sep.c
1 /* This C file is generated by NIT to compile module compiling___compiling_base. */
2 #include "compiling___compiling_base._sep.h"
3 val_t compiling___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___compiling_base;
8 fra.me.line = 27;
9 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
24 fra.me.line = 27;
25 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
42 fra.me.line = 28;
43 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
58 fra.me.line = 28;
59 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
76 fra.me.line = 29;
77 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
92 fra.me.line = 29;
93 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
110 fra.me.line = 30;
111 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
126 fra.me.line = 30;
127 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
145 fra.me.line = 31;
146 fra.me.meth = LOCATE_compiling___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___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___compiling_base, 31);
156 }
157 REGB0 = ATTR_compiling___compiling_base___ToolContext____boost(fra.me.REG[0]);
158 stack_frame_head = fra.me.prev;
159 return REGB0;
160 }
161 void compiling___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___compiling_base;
167 fra.me.line = 31;
168 fra.me.meth = LOCATE_compiling___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___compiling_base___ToolContext____boost(fra.me.REG[0]) = REGB0;
176 stack_frame_head = fra.me.prev;
177 return;
178 }
179 val_t compiling___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___compiling_base;
185 fra.me.line = 32;
186 fra.me.meth = LOCATE_compiling___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___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___compiling_base, 32);
196 }
197 REGB0 = ATTR_compiling___compiling_base___ToolContext____no_cc(fra.me.REG[0]);
198 stack_frame_head = fra.me.prev;
199 return REGB0;
200 }
201 void compiling___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___compiling_base;
207 fra.me.line = 32;
208 fra.me.meth = LOCATE_compiling___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___compiling_base___ToolContext____no_cc(fra.me.REG[0]) = REGB0;
216 stack_frame_head = fra.me.prev;
217 return;
218 }
219 val_t compiling___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___compiling_base;
225 fra.me.line = 33;
226 fra.me.meth = LOCATE_compiling___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___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___compiling_base, 33);
236 }
237 REGB0 = ATTR_compiling___compiling_base___ToolContext____cc_link(fra.me.REG[0]);
238 stack_frame_head = fra.me.prev;
239 return REGB0;
240 }
241 void compiling___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___compiling_base;
247 fra.me.line = 33;
248 fra.me.meth = LOCATE_compiling___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___compiling_base___ToolContext____cc_link(fra.me.REG[0]) = REGB0;
256 stack_frame_head = fra.me.prev;
257 return;
258 }
259 val_t compiling___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___compiling_base;
265 fra.me.line = 34;
266 fra.me.meth = LOCATE_compiling___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___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___compiling_base, 34);
276 }
277 fra.me.REG[0] = ATTR_compiling___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___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___compiling_base;
286 fra.me.line = 34;
287 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
305 fra.me.line = 35;
306 fra.me.meth = LOCATE_compiling___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___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___compiling_base, 35);
316 }
317 fra.me.REG[0] = ATTR_compiling___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___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___compiling_base;
326 fra.me.line = 35;
327 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
345 fra.me.line = 36;
346 fra.me.meth = LOCATE_compiling___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___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___compiling_base, 36);
356 }
357 fra.me.REG[0] = ATTR_compiling___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___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___compiling_base;
366 fra.me.line = 36;
367 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base;
385 fra.me.line = 37;
386 fra.me.meth = LOCATE_compiling___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___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___compiling_base, 37);
396 }
397 fra.me.REG[0] = ATTR_compiling___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___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___compiling_base;
406 fra.me.line = 37;
407 fra.me.meth = LOCATE_compiling___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___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___compiling_base___CProgram___init(val_t p0, val_t p1, int* init_table){
420 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_compiling___compiling_base___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___compiling_base;
430 fra.me.line = 42;
431 fra.me.meth = LOCATE_compiling___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___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___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___compiling_base, 45);
448 }
449 ATTR_compiling___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_standard___collection___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_standard___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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
462 fra.me.REG[2] = CALL_compiling___compiling_base___CProgram___compdir(fra.me.REG[0])(fra.me.REG[0]);
463 CALL_standard___collection___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_standard___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_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
473 fra.me.REG[2] = CALL_compiling___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_compiling___compiling_base___MMModule___cname(fra.me.REG[2])(fra.me.REG[2]);
476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
477 if (!once_value_3) {
478 fra.me.REG[2] = BOX_NativeString("._build.sh");
479 REGB0 = TAG_Int(10);
480 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
481 once_value_3 = fra.me.REG[2];
482 register_static_object(&once_value_3);
483 } else fra.me.REG[2] = once_value_3;
484 fra.me.REG[2] = fra.me.REG[2];
485 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
486 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
487 ATTR_compiling___compiling_base___CProgram____build_file(fra.me.REG[0]) = fra.me.REG[1];
488 stack_frame_head = fra.me.prev;
489 init_table[itpos0] = 1;
490 return;
491 }
492 val_t compiling___compiling_base___CProgram___program(val_t p0){
493 struct {struct stack_frame_t me;} fra;
494 val_t REGB0;
495 val_t tmp;
496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
497 fra.me.file = LOCATE_compiling___compiling_base;
498 fra.me.line = 49;
499 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___program;
500 fra.me.has_broke = 0;
501 fra.me.REG_size = 1;
502 fra.me.REG[0] = NIT_NULL;
503 fra.me.REG[0] = p0;
504 /* ./compiling//compiling_base.nit:49 */
505 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____program(fra.me.REG[0])!=NIT_NULL);
506 if (UNTAG_Bool(REGB0)) {
507 } else {
508 nit_abort("Uninitialized attribute %s", "_program", LOCATE_compiling___compiling_base, 49);
509 }
510 fra.me.REG[0] = ATTR_compiling___compiling_base___CProgram____program(fra.me.REG[0]);
511 stack_frame_head = fra.me.prev;
512 return fra.me.REG[0];
513 }
514 val_t compiling___compiling_base___CProgram___files(val_t p0){
515 struct {struct stack_frame_t me;} fra;
516 val_t REGB0;
517 val_t tmp;
518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
519 fra.me.file = LOCATE_compiling___compiling_base;
520 fra.me.line = 52;
521 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___files;
522 fra.me.has_broke = 0;
523 fra.me.REG_size = 1;
524 fra.me.REG[0] = NIT_NULL;
525 fra.me.REG[0] = p0;
526 /* ./compiling//compiling_base.nit:52 */
527 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____files(fra.me.REG[0])!=NIT_NULL);
528 if (UNTAG_Bool(REGB0)) {
529 } else {
530 nit_abort("Uninitialized attribute %s", "_files", LOCATE_compiling___compiling_base, 52);
531 }
532 fra.me.REG[0] = ATTR_compiling___compiling_base___CProgram____files(fra.me.REG[0]);
533 stack_frame_head = fra.me.prev;
534 return fra.me.REG[0];
535 }
536 val_t compiling___compiling_base___CProgram___include_dirs(val_t p0){
537 struct {struct stack_frame_t me;} fra;
538 val_t REGB0;
539 val_t tmp;
540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
541 fra.me.file = LOCATE_compiling___compiling_base;
542 fra.me.line = 55;
543 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___include_dirs;
544 fra.me.has_broke = 0;
545 fra.me.REG_size = 1;
546 fra.me.REG[0] = NIT_NULL;
547 fra.me.REG[0] = p0;
548 /* ./compiling//compiling_base.nit:55 */
549 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____include_dirs(fra.me.REG[0])!=NIT_NULL);
550 if (UNTAG_Bool(REGB0)) {
551 } else {
552 nit_abort("Uninitialized attribute %s", "_include_dirs", LOCATE_compiling___compiling_base, 55);
553 }
554 fra.me.REG[0] = ATTR_compiling___compiling_base___CProgram____include_dirs(fra.me.REG[0]);
555 stack_frame_head = fra.me.prev;
556 return fra.me.REG[0];
557 }
558 val_t compiling___compiling_base___CProgram___build_file(val_t p0){
559 struct {struct stack_frame_t me;} fra;
560 val_t REGB0;
561 val_t tmp;
562 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
563 fra.me.file = LOCATE_compiling___compiling_base;
564 fra.me.line = 58;
565 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___build_file;
566 fra.me.has_broke = 0;
567 fra.me.REG_size = 1;
568 fra.me.REG[0] = NIT_NULL;
569 fra.me.REG[0] = p0;
570 /* ./compiling//compiling_base.nit:58 */
571 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____build_file(fra.me.REG[0])!=NIT_NULL);
572 if (UNTAG_Bool(REGB0)) {
573 } else {
574 nit_abort("Uninitialized attribute %s", "_build_file", LOCATE_compiling___compiling_base, 58);
575 }
576 fra.me.REG[0] = ATTR_compiling___compiling_base___CProgram____build_file(fra.me.REG[0]);
577 stack_frame_head = fra.me.prev;
578 return fra.me.REG[0];
579 }
580 val_t compiling___compiling_base___CProgram___compdir(val_t p0){
581 struct {struct stack_frame_t me;} fra;
582 val_t REGB0;
583 val_t tmp;
584 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
585 fra.me.file = LOCATE_compiling___compiling_base;
586 fra.me.line = 61;
587 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___compdir;
588 fra.me.has_broke = 0;
589 fra.me.REG_size = 1;
590 fra.me.REG[0] = NIT_NULL;
591 fra.me.REG[0] = p0;
592 /* ./compiling//compiling_base.nit:61 */
593 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____compdir(fra.me.REG[0])!=NIT_NULL);
594 if (UNTAG_Bool(REGB0)) {
595 } else {
596 nit_abort("Uninitialized attribute %s", "_compdir", LOCATE_compiling___compiling_base, 61);
597 }
598 fra.me.REG[0] = ATTR_compiling___compiling_base___CProgram____compdir(fra.me.REG[0]);
599 stack_frame_head = fra.me.prev;
600 return fra.me.REG[0];
601 }
602 val_t compiling___compiling_base___CProgram___module_header_name(val_t p0, val_t p1){
603 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
604 val_t REGB0;
605 val_t tmp;
606 static val_t once_value_2; /* Once value */
607 static val_t once_value_3; /* Once value */
608 static val_t once_value_4; /* Once value */
609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
610 fra.me.file = LOCATE_compiling___compiling_base;
611 fra.me.line = 64;
612 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___module_header_name;
613 fra.me.has_broke = 0;
614 fra.me.REG_size = 5;
615 fra.me.REG[0] = NIT_NULL;
616 fra.me.REG[1] = NIT_NULL;
617 fra.me.REG[2] = NIT_NULL;
618 fra.me.REG[3] = NIT_NULL;
619 fra.me.REG[4] = NIT_NULL;
620 fra.me.REG[0] = p0;
621 fra.me.REG[1] = p1;
622 /* ./compiling//compiling_base.nit:67 */
623 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____module_include(fra.me.REG[0])!=NIT_NULL);
624 if (UNTAG_Bool(REGB0)) {
625 } else {
626 nit_abort("Uninitialized attribute %s", "_module_include", LOCATE_compiling___compiling_base, 67);
627 }
628 fra.me.REG[2] = ATTR_compiling___compiling_base___CProgram____module_include(fra.me.REG[0]);
629 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
630 if (UNTAG_Bool(REGB0)) {
631 /* ./compiling//compiling_base.nit:68 */
632 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____module_include(fra.me.REG[0])!=NIT_NULL);
633 if (UNTAG_Bool(REGB0)) {
634 } else {
635 nit_abort("Uninitialized attribute %s", "_module_include", LOCATE_compiling___compiling_base, 68);
636 }
637 fra.me.REG[2] = ATTR_compiling___compiling_base___CProgram____module_include(fra.me.REG[0]);
638 fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
639 goto label1;
640 }
641 /* ./compiling//compiling_base.nit:70 */
642 REGB0 = TAG_Int(5);
643 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
644 if (!once_value_2) {
645 fra.me.REG[4] = BOX_NativeString("");
646 REGB0 = TAG_Int(0);
647 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
648 once_value_2 = fra.me.REG[4];
649 register_static_object(&once_value_2);
650 } else fra.me.REG[4] = once_value_2;
651 fra.me.REG[4] = fra.me.REG[4];
652 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
653 fra.me.REG[4] = CALL_compiling___compiling_base___MMModule___cname(fra.me.REG[1])(fra.me.REG[1]);
654 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
655 if (!once_value_3) {
656 fra.me.REG[4] = BOX_NativeString(".");
657 REGB0 = TAG_Int(1);
658 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
659 once_value_3 = fra.me.REG[4];
660 register_static_object(&once_value_3);
661 } else fra.me.REG[4] = once_value_3;
662 fra.me.REG[4] = fra.me.REG[4];
663 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
664 fra.me.REG[4] = CALL_compiling___compiling_base___CProgram___get_file_ending(fra.me.REG[0])(fra.me.REG[0]);
665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
666 if (!once_value_4) {
667 fra.me.REG[4] = BOX_NativeString(".h");
668 REGB0 = TAG_Int(2);
669 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
670 once_value_4 = fra.me.REG[4];
671 register_static_object(&once_value_4);
672 } else fra.me.REG[4] = once_value_4;
673 fra.me.REG[4] = fra.me.REG[4];
674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
675 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
676 /* ./compiling//compiling_base.nit:71 */
677 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____module_include(fra.me.REG[0])!=NIT_NULL);
678 if (UNTAG_Bool(REGB0)) {
679 } else {
680 nit_abort("Uninitialized attribute %s", "_module_include", LOCATE_compiling___compiling_base, 71);
681 }
682 fra.me.REG[0] = ATTR_compiling___compiling_base___CProgram____module_include(fra.me.REG[0]);
683 CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
684 /* ./compiling//compiling_base.nit:72 */
685 fra.me.REG[2] = fra.me.REG[3];
686 goto label1;
687 label1: while(0);
688 stack_frame_head = fra.me.prev;
689 return fra.me.REG[2];
690 }
691 val_t compiling___compiling_base___CProgram___get_file_ending(val_t p0){
692 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
693 val_t REGB0;
694 val_t tmp;
695 static val_t once_value_1; /* Once value */
696 static val_t once_value_2; /* Once value */
697 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
698 fra.me.file = LOCATE_compiling___compiling_base;
699 fra.me.line = 78;
700 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___get_file_ending;
701 fra.me.has_broke = 0;
702 fra.me.REG_size = 2;
703 fra.me.REG[0] = NIT_NULL;
704 fra.me.REG[1] = NIT_NULL;
705 fra.me.REG[0] = p0;
706 /* ./compiling//compiling_base.nit:80 */
707 fra.me.REG[0] = CALL_compiling___compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
708 fra.me.REG[0] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
709 REGB0 = CALL_program___ToolContext___global(fra.me.REG[0])(fra.me.REG[0]);
710 if (UNTAG_Bool(REGB0)) {
711 if (!once_value_1) {
712 fra.me.REG[0] = BOX_NativeString("_glob");
713 REGB0 = TAG_Int(5);
714 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
715 once_value_1 = fra.me.REG[0];
716 register_static_object(&once_value_1);
717 } else fra.me.REG[0] = once_value_1;
718 fra.me.REG[0] = fra.me.REG[0];
719 } else {
720 if (!once_value_2) {
721 fra.me.REG[1] = BOX_NativeString("_sep");
722 REGB0 = TAG_Int(4);
723 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
724 once_value_2 = fra.me.REG[1];
725 register_static_object(&once_value_2);
726 } else fra.me.REG[1] = once_value_2;
727 fra.me.REG[1] = fra.me.REG[1];
728 fra.me.REG[0] = fra.me.REG[1];
729 }
730 goto label3;
731 label3: while(0);
732 stack_frame_head = fra.me.prev;
733 return fra.me.REG[0];
734 }
735 void compiling___compiling_base___CProgram___generate_build_file(val_t p0){
736 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
737 val_t REGB0;
738 val_t REGB1;
739 val_t REGB2;
740 val_t tmp;
741 static val_t once_value_1; /* Once value */
742 static val_t once_value_2; /* Once value */
743 static val_t once_value_3; /* Once value */
744 static val_t once_value_4; /* Once value */
745 static val_t once_value_5; /* Once value */
746 static val_t once_value_6; /* Once value */
747 static val_t once_value_7; /* Once value */
748 static val_t once_value_8; /* Once value */
749 static val_t once_value_9; /* Once value */
750 static val_t once_value_10; /* Once value */
751 static val_t once_value_11; /* Once value */
752 static val_t once_value_12; /* Once value */
753 static val_t once_value_13; /* Once value */
754 static val_t once_value_14; /* Once value */
755 static val_t once_value_15; /* Once value */
756 static val_t once_value_16; /* Once value */
757 static val_t once_value_17; /* Once value */
758 static val_t once_value_18; /* Once value */
759 static val_t once_value_19; /* Once value */
760 static val_t once_value_20; /* Once value */
761 static val_t once_value_21; /* Once value */
762 static val_t once_value_22; /* Once value */
763 static val_t once_value_23; /* Once value */
764 static val_t once_value_24; /* Once value */
765 static val_t once_value_25; /* Once value */
766 static val_t once_value_26; /* Once value */
767 static val_t once_value_27; /* Once value */
768 static val_t once_value_29; /* Once value */
769 static val_t once_value_30; /* Once value */
770 static val_t once_value_32; /* Once value */
771 static val_t once_value_33; /* Once value */
772 static val_t once_value_35; /* Once value */
773 static val_t once_value_36; /* Once value */
774 static val_t once_value_37; /* Once value */
775 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
776 fra.me.file = LOCATE_compiling___compiling_base;
777 fra.me.line = 82;
778 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___generate_build_file;
779 fra.me.has_broke = 0;
780 fra.me.REG_size = 8;
781 fra.me.REG[0] = NIT_NULL;
782 fra.me.REG[1] = NIT_NULL;
783 fra.me.REG[2] = NIT_NULL;
784 fra.me.REG[3] = NIT_NULL;
785 fra.me.REG[4] = NIT_NULL;
786 fra.me.REG[5] = NIT_NULL;
787 fra.me.REG[6] = NIT_NULL;
788 fra.me.REG[7] = NIT_NULL;
789 fra.me.REG[0] = p0;
790 /* ./compiling//compiling_base.nit:85 */
791 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____build_file(fra.me.REG[0])!=NIT_NULL);
792 if (UNTAG_Bool(REGB0)) {
793 } else {
794 nit_abort("Uninitialized attribute %s", "_build_file", LOCATE_compiling___compiling_base, 85);
795 }
796 fra.me.REG[1] = ATTR_compiling___compiling_base___CProgram____build_file(fra.me.REG[0]);
797 fra.me.REG[1] = NEW_OFStream_standard___file___OFStream___open(fra.me.REG[1]);
798 /* ./compiling//compiling_base.nit:86 */
799 if (!once_value_1) {
800 fra.me.REG[2] = BOX_NativeString("");
801 REGB0 = TAG_Int(0);
802 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
803 once_value_1 = fra.me.REG[2];
804 register_static_object(&once_value_1);
805 } else fra.me.REG[2] = once_value_1;
806 fra.me.REG[2] = fra.me.REG[2];
807 /* ./compiling//compiling_base.nit:87 */
808 fra.me.REG[3] = CALL_compiling___compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
809 fra.me.REG[3] = CALL_program___Program___tc(fra.me.REG[3])(fra.me.REG[3]);
810 /* ./compiling//compiling_base.nit:89 */
811 REGB0 = CALL_mmloader___ToolContext___verbose_level(fra.me.REG[3])(fra.me.REG[3]);
812 REGB1 = TAG_Int(1);
813 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
814 if (UNTAG_Bool(REGB2)) {
815 } else {
816 /* ./../lib/standard//kernel.nit:210 */
817 REGB1 = TAG_Bool((REGB0)==(REGB1));
818 /* ./compiling//compiling_base.nit:89 */
819 REGB2 = REGB1;
820 }
821 if (UNTAG_Bool(REGB2)) {
822 /* ./compiling//compiling_base.nit:90 */
823 if (!once_value_2) {
824 fra.me.REG[4] = BOX_NativeString("-v");
825 REGB2 = TAG_Int(2);
826 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB2);
827 once_value_2 = fra.me.REG[4];
828 register_static_object(&once_value_2);
829 } else fra.me.REG[4] = once_value_2;
830 fra.me.REG[4] = fra.me.REG[4];
831 fra.me.REG[2] = fra.me.REG[4];
832 } else {
833 /* ./compiling//compiling_base.nit:91 */
834 REGB2 = CALL_mmloader___ToolContext___verbose_level(fra.me.REG[3])(fra.me.REG[3]);
835 REGB1 = TAG_Int(2);
836 /* ./../lib/standard//kernel.nit:216 */
837 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
838 /* ./compiling//compiling_base.nit:91 */
839 if (UNTAG_Bool(REGB1)) {
840 /* ./compiling//compiling_base.nit:93 */
841 if (!once_value_3) {
842 fra.me.REG[4] = BOX_NativeString("-vv");
843 REGB1 = TAG_Int(3);
844 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
845 once_value_3 = fra.me.REG[4];
846 register_static_object(&once_value_3);
847 } else fra.me.REG[4] = once_value_3;
848 fra.me.REG[4] = fra.me.REG[4];
849 fra.me.REG[2] = fra.me.REG[4];
850 }
851 }
852 /* ./compiling//compiling_base.nit:98 */
853 fra.me.REG[4] = CALL_compiling___compiling_base___CProgram___include_dirs(fra.me.REG[0])(fra.me.REG[0]);
854 REGB1 = TAG_Int(3);
855 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
856 if (!once_value_4) {
857 fra.me.REG[6] = BOX_NativeString("-I ");
858 REGB1 = TAG_Int(3);
859 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
860 once_value_4 = fra.me.REG[6];
861 register_static_object(&once_value_4);
862 } else fra.me.REG[6] = once_value_4;
863 fra.me.REG[6] = fra.me.REG[6];
864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
865 fra.me.REG[6] = CALL_compiling___compiling_base___CProgram___compdir(fra.me.REG[0])(fra.me.REG[0]);
866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
867 if (!once_value_5) {
868 fra.me.REG[6] = BOX_NativeString("");
869 REGB1 = TAG_Int(0);
870 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB1);
871 once_value_5 = fra.me.REG[6];
872 register_static_object(&once_value_5);
873 } else fra.me.REG[6] = once_value_5;
874 fra.me.REG[6] = fra.me.REG[6];
875 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
876 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
878 /* ./compiling//compiling_base.nit:100 */
879 if (!once_value_6) {
880 fra.me.REG[5] = BOX_NativeString("#!/bin/sh\n");
881 REGB1 = TAG_Int(10);
882 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB1);
883 once_value_6 = fra.me.REG[5];
884 register_static_object(&once_value_6);
885 } else fra.me.REG[5] = once_value_6;
886 fra.me.REG[5] = fra.me.REG[5];
887 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
888 /* ./compiling//compiling_base.nit:101 */
889 REGB1 = TAG_Int(3);
890 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
891 if (!once_value_7) {
892 fra.me.REG[4] = BOX_NativeString("# This shell script is generated by NIT to compile the program ");
893 REGB1 = TAG_Int(63);
894 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
895 once_value_7 = fra.me.REG[4];
896 register_static_object(&once_value_7);
897 } else fra.me.REG[4] = once_value_7;
898 fra.me.REG[4] = fra.me.REG[4];
899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
900 fra.me.REG[4] = CALL_compiling___compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
901 fra.me.REG[4] = CALL_program___Program___main_module(fra.me.REG[4])(fra.me.REG[4]);
902 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMModule___full_name(fra.me.REG[4])(fra.me.REG[4]);
903 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
905 if (!once_value_8) {
906 fra.me.REG[4] = BOX_NativeString(".\n");
907 REGB1 = TAG_Int(2);
908 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
909 once_value_8 = fra.me.REG[4];
910 register_static_object(&once_value_8);
911 } else fra.me.REG[4] = once_value_8;
912 fra.me.REG[4] = fra.me.REG[4];
913 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
914 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
915 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
916 /* ./compiling//compiling_base.nit:102 */
917 REGB1 = TAG_Int(3);
918 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
919 if (!once_value_9) {
920 fra.me.REG[4] = BOX_NativeString("CLIBDIR=\"");
921 REGB1 = TAG_Int(9);
922 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
923 once_value_9 = fra.me.REG[4];
924 register_static_object(&once_value_9);
925 } else fra.me.REG[4] = once_value_9;
926 fra.me.REG[4] = fra.me.REG[4];
927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
928 fra.me.REG[4] = CALL_compiling___compiling_base___ToolContext___clibdir(fra.me.REG[3])(fra.me.REG[3]);
929 REGB1 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
930 if (UNTAG_Bool(REGB1)) {
931 } else {
932 nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_base, 102);
933 }
934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
935 if (!once_value_10) {
936 fra.me.REG[4] = BOX_NativeString("\"\n");
937 REGB1 = TAG_Int(2);
938 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
939 once_value_10 = fra.me.REG[4];
940 register_static_object(&once_value_10);
941 } else fra.me.REG[4] = once_value_10;
942 fra.me.REG[4] = fra.me.REG[4];
943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
944 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
945 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
946 /* ./compiling//compiling_base.nit:103 */
947 REGB1 = TAG_Int(9);
948 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
949 if (!once_value_11) {
950 fra.me.REG[4] = BOX_NativeString("");
951 REGB1 = TAG_Int(0);
952 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
953 once_value_11 = fra.me.REG[4];
954 register_static_object(&once_value_11);
955 } else fra.me.REG[4] = once_value_11;
956 fra.me.REG[4] = fra.me.REG[4];
957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
958 fra.me.REG[4] = CALL_compiling___compiling_base___ToolContext___bindir(fra.me.REG[3])(fra.me.REG[3]);
959 REGB1 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
960 if (UNTAG_Bool(REGB1)) {
961 } else {
962 nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_base, 103);
963 }
964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
965 if (!once_value_12) {
966 fra.me.REG[4] = BOX_NativeString("/gccx ");
967 REGB1 = TAG_Int(6);
968 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
969 once_value_12 = fra.me.REG[4];
970 register_static_object(&once_value_12);
971 } else fra.me.REG[4] = once_value_12;
972 fra.me.REG[4] = fra.me.REG[4];
973 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
975 if (!once_value_13) {
976 fra.me.REG[2] = BOX_NativeString(" -d ");
977 REGB1 = TAG_Int(4);
978 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
979 once_value_13 = fra.me.REG[2];
980 register_static_object(&once_value_13);
981 } else fra.me.REG[2] = once_value_13;
982 fra.me.REG[2] = fra.me.REG[2];
983 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
984 fra.me.REG[2] = CALL_compiling___compiling_base___CProgram___compdir(fra.me.REG[0])(fra.me.REG[0]);
985 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
986 if (!once_value_14) {
987 fra.me.REG[2] = BOX_NativeString(" -I $CLIBDIR ");
988 REGB1 = TAG_Int(13);
989 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
990 once_value_14 = fra.me.REG[2];
991 register_static_object(&once_value_14);
992 } else fra.me.REG[2] = once_value_14;
993 fra.me.REG[2] = fra.me.REG[2];
994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
995 fra.me.REG[2] = CALL_compiling___compiling_base___CProgram___include_dirs(fra.me.REG[0])(fra.me.REG[0]);
996 if (!once_value_15) {
997 fra.me.REG[4] = BOX_NativeString(" ");
998 REGB1 = TAG_Int(1);
999 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1000 once_value_15 = fra.me.REG[4];
1001 register_static_object(&once_value_15);
1002 } else fra.me.REG[4] = once_value_15;
1003 fra.me.REG[4] = fra.me.REG[4];
1004 fra.me.REG[4] = CALL_standard___string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
1005 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1006 if (!once_value_16) {
1007 fra.me.REG[4] = BOX_NativeString("");
1008 REGB1 = TAG_Int(0);
1009 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1010 once_value_16 = fra.me.REG[4];
1011 register_static_object(&once_value_16);
1012 } else fra.me.REG[4] = once_value_16;
1013 fra.me.REG[4] = fra.me.REG[4];
1014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1015 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1016 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1017 /* ./compiling//compiling_base.nit:104 */
1018 fra.me.REG[5] = CALL_compiling___compiling_base___ToolContext___output_file(fra.me.REG[3])(fra.me.REG[3]);
1019 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1020 if (UNTAG_Bool(REGB1)) {
1021 } else {
1022 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1023 if (UNTAG_Bool(REGB2)) {
1024 REGB2 = TAG_Bool(false);
1025 REGB1 = REGB2;
1026 } else {
1027 REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
1028 REGB1 = REGB2;
1029 }
1030 }
1031 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1032 if (UNTAG_Bool(REGB1)) {
1033 /* ./compiling//compiling_base.nit:105 */
1034 REGB1 = TAG_Int(3);
1035 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
1036 if (!once_value_17) {
1037 fra.me.REG[4] = BOX_NativeString(" -o ");
1038 REGB1 = TAG_Int(4);
1039 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1040 once_value_17 = fra.me.REG[4];
1041 register_static_object(&once_value_17);
1042 } else fra.me.REG[4] = once_value_17;
1043 fra.me.REG[4] = fra.me.REG[4];
1044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1045 fra.me.REG[4] = CALL_compiling___compiling_base___ToolContext___output_file(fra.me.REG[3])(fra.me.REG[3]);
1046 REGB1 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
1047 if (UNTAG_Bool(REGB1)) {
1048 } else {
1049 nit_abort("Cast failed", NULL, LOCATE_compiling___compiling_base, 105);
1050 }
1051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1052 if (!once_value_18) {
1053 fra.me.REG[4] = BOX_NativeString("");
1054 REGB1 = TAG_Int(0);
1055 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1056 once_value_18 = fra.me.REG[4];
1057 register_static_object(&once_value_18);
1058 } else fra.me.REG[4] = once_value_18;
1059 fra.me.REG[4] = fra.me.REG[4];
1060 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1061 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1062 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1063 } else {
1064 /* ./compiling//compiling_base.nit:106 */
1065 fra.me.REG[5] = CALL_compiling___compiling_base___ToolContext___ext_prefix(fra.me.REG[3])(fra.me.REG[3]);
1066 REGB1 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[5])(fra.me.REG[5]);
1067 if (UNTAG_Bool(REGB1)) {
1068 /* ./compiling//compiling_base.nit:107 */
1069 REGB1 = TAG_Int(3);
1070 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
1071 if (!once_value_19) {
1072 fra.me.REG[4] = BOX_NativeString(" -o ");
1073 REGB1 = TAG_Int(4);
1074 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1075 once_value_19 = fra.me.REG[4];
1076 register_static_object(&once_value_19);
1077 } else fra.me.REG[4] = once_value_19;
1078 fra.me.REG[4] = fra.me.REG[4];
1079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1080 fra.me.REG[4] = CALL_compiling___compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1081 fra.me.REG[4] = CALL_program___Program___main_module(fra.me.REG[4])(fra.me.REG[4]);
1082 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[4])(fra.me.REG[4]);
1083 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1085 if (!once_value_20) {
1086 fra.me.REG[4] = BOX_NativeString("");
1087 REGB1 = TAG_Int(0);
1088 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1089 once_value_20 = fra.me.REG[4];
1090 register_static_object(&once_value_20);
1091 } else fra.me.REG[4] = once_value_20;
1092 fra.me.REG[4] = fra.me.REG[4];
1093 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1094 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1095 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1096 } else {
1097 /* ./compiling//compiling_base.nit:109 */
1098 REGB1 = TAG_Int(5);
1099 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
1100 if (!once_value_21) {
1101 fra.me.REG[4] = BOX_NativeString(" -o ");
1102 REGB1 = TAG_Int(4);
1103 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1104 once_value_21 = fra.me.REG[4];
1105 register_static_object(&once_value_21);
1106 } else fra.me.REG[4] = once_value_21;
1107 fra.me.REG[4] = fra.me.REG[4];
1108 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1109 fra.me.REG[4] = CALL_compiling___compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1110 fra.me.REG[4] = CALL_program___Program___main_module(fra.me.REG[4])(fra.me.REG[4]);
1111 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[4])(fra.me.REG[4]);
1112 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1113 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1114 if (!once_value_22) {
1115 fra.me.REG[4] = BOX_NativeString("_");
1116 REGB1 = TAG_Int(1);
1117 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1118 once_value_22 = fra.me.REG[4];
1119 register_static_object(&once_value_22);
1120 } else fra.me.REG[4] = once_value_22;
1121 fra.me.REG[4] = fra.me.REG[4];
1122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1123 fra.me.REG[4] = CALL_compiling___compiling_base___ToolContext___ext_prefix(fra.me.REG[3])(fra.me.REG[3]);
1124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1125 if (!once_value_23) {
1126 fra.me.REG[4] = BOX_NativeString("");
1127 REGB1 = TAG_Int(0);
1128 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB1);
1129 once_value_23 = fra.me.REG[4];
1130 register_static_object(&once_value_23);
1131 } else fra.me.REG[4] = once_value_23;
1132 fra.me.REG[4] = fra.me.REG[4];
1133 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
1134 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1135 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1136 }
1137 }
1138 /* ./compiling//compiling_base.nit:111 */
1139 REGB1 = CALL_compiling___compiling_base___ToolContext___boost(fra.me.REG[3])(fra.me.REG[3]);
1140 if (UNTAG_Bool(REGB1)) {
1141 if (!once_value_24) {
1142 fra.me.REG[5] = BOX_NativeString(" -O");
1143 REGB1 = TAG_Int(3);
1144 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB1);
1145 once_value_24 = fra.me.REG[5];
1146 register_static_object(&once_value_24);
1147 } else fra.me.REG[5] = once_value_24;
1148 fra.me.REG[5] = fra.me.REG[5];
1149 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1150 }
1151 /* ./compiling//compiling_base.nit:112 */
1152 REGB1 = CALL_compiling___compiling_base___ToolContext___cc_link(fra.me.REG[3])(fra.me.REG[3]);
1153 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1154 if (UNTAG_Bool(REGB1)) {
1155 if (!once_value_25) {
1156 fra.me.REG[5] = BOX_NativeString(" -x \"-c\"");
1157 REGB1 = TAG_Int(8);
1158 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB1);
1159 once_value_25 = fra.me.REG[5];
1160 register_static_object(&once_value_25);
1161 } else fra.me.REG[5] = once_value_25;
1162 fra.me.REG[5] = fra.me.REG[5];
1163 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1164 }
1165 /* ./compiling//compiling_base.nit:113 */
1166 fra.me.REG[5] = CALL_compiling___compiling_base___ToolContext___cc_libs(fra.me.REG[3])(fra.me.REG[3]);
1167 /* ./../lib/standard//collection//array.nit:234 */
1168 REGB1 = TAG_Int(0);
1169 /* ./../lib/standard//collection//array.nit:235 */
1170 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1171 if (UNTAG_Bool(REGB2)) {
1172 } else {
1173 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 235);
1174 }
1175 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
1176 /* ./../lib/standard//collection//array.nit:236 */
1177 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[5]);
1178 /* ./../lib/standard//collection//array.nit:237 */
1179 while(1) {
1180 /* ./../lib/standard//collection//array.nit:23 */
1181 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1182 if (UNTAG_Bool(REGB2)) {
1183 } else {
1184 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
1185 }
1186 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[5]);
1187 /* ./../lib/standard//kernel.nit:215 */
1188 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1189 /* ./../lib/standard//collection//array.nit:237 */
1190 if (UNTAG_Bool(REGB2)) {
1191 /* ./../lib/standard//collection//array.nit:238 */
1192 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1193 if (UNTAG_Bool(REGB2)) {
1194 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 238);
1195 }
1196 /* ./../lib/standard//collection//array.nit:654 */
1197 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB1)];
1198 /* ./compiling//compiling_base.nit:113 */
1199 REGB2 = TAG_Int(3);
1200 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
1201 if (!once_value_26) {
1202 fra.me.REG[7] = BOX_NativeString(" -l ");
1203 REGB2 = TAG_Int(4);
1204 fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB2);
1205 once_value_26 = fra.me.REG[7];
1206 register_static_object(&once_value_26);
1207 } else fra.me.REG[7] = once_value_26;
1208 fra.me.REG[7] = fra.me.REG[7];
1209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
1210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
1211 if (!once_value_27) {
1212 fra.me.REG[2] = BOX_NativeString("");
1213 REGB2 = TAG_Int(0);
1214 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB2);
1215 once_value_27 = fra.me.REG[2];
1216 register_static_object(&once_value_27);
1217 } else fra.me.REG[2] = once_value_27;
1218 fra.me.REG[2] = fra.me.REG[2];
1219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
1220 fra.me.REG[6] = CALL_standard___string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
1221 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
1222 /* ./../lib/standard//collection//array.nit:239 */
1223 REGB2 = TAG_Int(1);
1224 /* ./../lib/standard//kernel.nit:218 */
1225 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1226 /* ./../lib/standard//collection//array.nit:239 */
1227 REGB1 = REGB2;
1228 } else {
1229 /* ./../lib/standard//collection//array.nit:237 */
1230 goto label28;
1231 }
1232 }
1233 label28: while(0);
1234 /* ./compiling//compiling_base.nit:114 */
1235 fra.me.REG[4] = CALL_compiling___compiling_base___ToolContext___cc_lib_paths(fra.me.REG[3])(fra.me.REG[3]);
1236 /* ./../lib/standard//collection//array.nit:234 */
1237 REGB1 = TAG_Int(0);
1238 /* ./../lib/standard//collection//array.nit:235 */
1239 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1240 if (UNTAG_Bool(REGB2)) {
1241 } else {
1242 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 235);
1243 }
1244 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
1245 /* ./../lib/standard//collection//array.nit:236 */
1246 fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
1247 /* ./../lib/standard//collection//array.nit:237 */
1248 while(1) {
1249 /* ./../lib/standard//collection//array.nit:23 */
1250 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1251 if (UNTAG_Bool(REGB2)) {
1252 } else {
1253 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
1254 }
1255 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
1256 /* ./../lib/standard//kernel.nit:215 */
1257 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1258 /* ./../lib/standard//collection//array.nit:237 */
1259 if (UNTAG_Bool(REGB2)) {
1260 /* ./../lib/standard//collection//array.nit:238 */
1261 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1262 if (UNTAG_Bool(REGB2)) {
1263 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 238);
1264 }
1265 /* ./../lib/standard//collection//array.nit:654 */
1266 fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
1267 /* ./compiling//compiling_base.nit:114 */
1268 REGB2 = TAG_Int(3);
1269 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
1270 if (!once_value_29) {
1271 fra.me.REG[7] = BOX_NativeString(" -x \"-L ");
1272 REGB2 = TAG_Int(8);
1273 fra.me.REG[7] = NEW_String_standard___string___String___with_native(fra.me.REG[7], REGB2);
1274 once_value_29 = fra.me.REG[7];
1275 register_static_object(&once_value_29);
1276 } else fra.me.REG[7] = once_value_29;
1277 fra.me.REG[7] = fra.me.REG[7];
1278 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[7]);
1279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1280 if (!once_value_30) {
1281 fra.me.REG[6] = BOX_NativeString("\"");
1282 REGB2 = TAG_Int(1);
1283 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB2);
1284 once_value_30 = fra.me.REG[6];
1285 register_static_object(&once_value_30);
1286 } else fra.me.REG[6] = once_value_30;
1287 fra.me.REG[6] = fra.me.REG[6];
1288 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1289 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1290 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1291 /* ./../lib/standard//collection//array.nit:239 */
1292 REGB2 = TAG_Int(1);
1293 /* ./../lib/standard//kernel.nit:218 */
1294 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1295 /* ./../lib/standard//collection//array.nit:239 */
1296 REGB1 = REGB2;
1297 } else {
1298 /* ./../lib/standard//collection//array.nit:237 */
1299 goto label31;
1300 }
1301 }
1302 label31: while(0);
1303 /* ./compiling//compiling_base.nit:115 */
1304 fra.me.REG[3] = CALL_compiling___compiling_base___ToolContext___cc_include_paths(fra.me.REG[3])(fra.me.REG[3]);
1305 /* ./../lib/standard//collection//array.nit:234 */
1306 REGB1 = TAG_Int(0);
1307 /* ./../lib/standard//collection//array.nit:235 */
1308 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1309 if (UNTAG_Bool(REGB2)) {
1310 } else {
1311 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 235);
1312 }
1313 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
1314 /* ./../lib/standard//collection//array.nit:236 */
1315 fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
1316 /* ./../lib/standard//collection//array.nit:237 */
1317 while(1) {
1318 /* ./../lib/standard//collection//array.nit:23 */
1319 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1320 if (UNTAG_Bool(REGB2)) {
1321 } else {
1322 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
1323 }
1324 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
1325 /* ./../lib/standard//kernel.nit:215 */
1326 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1327 /* ./../lib/standard//collection//array.nit:237 */
1328 if (UNTAG_Bool(REGB2)) {
1329 /* ./../lib/standard//collection//array.nit:238 */
1330 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1331 if (UNTAG_Bool(REGB2)) {
1332 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 238);
1333 }
1334 /* ./../lib/standard//collection//array.nit:654 */
1335 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
1336 /* ./compiling//compiling_base.nit:115 */
1337 REGB2 = TAG_Int(3);
1338 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2);
1339 if (!once_value_32) {
1340 fra.me.REG[6] = BOX_NativeString(" -x \"-I ");
1341 REGB2 = TAG_Int(8);
1342 fra.me.REG[6] = NEW_String_standard___string___String___with_native(fra.me.REG[6], REGB2);
1343 once_value_32 = fra.me.REG[6];
1344 register_static_object(&once_value_32);
1345 } else fra.me.REG[6] = once_value_32;
1346 fra.me.REG[6] = fra.me.REG[6];
1347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
1348 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
1349 if (!once_value_33) {
1350 fra.me.REG[4] = BOX_NativeString("\"");
1351 REGB2 = TAG_Int(1);
1352 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB2);
1353 once_value_33 = fra.me.REG[4];
1354 register_static_object(&once_value_33);
1355 } else fra.me.REG[4] = once_value_33;
1356 fra.me.REG[4] = fra.me.REG[4];
1357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
1358 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1359 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1360 /* ./../lib/standard//collection//array.nit:239 */
1361 REGB2 = TAG_Int(1);
1362 /* ./../lib/standard//kernel.nit:218 */
1363 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1364 /* ./../lib/standard//collection//array.nit:239 */
1365 REGB1 = REGB2;
1366 } else {
1367 /* ./../lib/standard//collection//array.nit:237 */
1368 goto label34;
1369 }
1370 }
1371 label34: while(0);
1372 /* ./compiling//compiling_base.nit:116 */
1373 REGB1 = TAG_Int(3);
1374 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
1375 if (!once_value_35) {
1376 fra.me.REG[3] = BOX_NativeString(" \"$@\" \\\n ");
1377 REGB1 = TAG_Int(10);
1378 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
1379 once_value_35 = fra.me.REG[3];
1380 register_static_object(&once_value_35);
1381 } else fra.me.REG[3] = once_value_35;
1382 fra.me.REG[3] = fra.me.REG[3];
1383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
1384 fra.me.REG[0] = CALL_compiling___compiling_base___CProgram___files(fra.me.REG[0])(fra.me.REG[0]);
1385 if (!once_value_36) {
1386 fra.me.REG[3] = BOX_NativeString("\\\n ");
1387 REGB1 = TAG_Int(4);
1388 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
1389 once_value_36 = fra.me.REG[3];
1390 register_static_object(&once_value_36);
1391 } else fra.me.REG[3] = once_value_36;
1392 fra.me.REG[3] = fra.me.REG[3];
1393 fra.me.REG[3] = CALL_standard___string___Collection___join(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
1394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
1395 if (!once_value_37) {
1396 fra.me.REG[3] = BOX_NativeString("\n");
1397 REGB1 = TAG_Int(1);
1398 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
1399 once_value_37 = fra.me.REG[3];
1400 register_static_object(&once_value_37);
1401 } else fra.me.REG[3] = once_value_37;
1402 fra.me.REG[3] = fra.me.REG[3];
1403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
1404 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1405 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[5]);
1406 /* ./compiling//compiling_base.nit:117 */
1407 CALL_standard___stream___IOS___close(fra.me.REG[1])(fra.me.REG[1]);
1408 stack_frame_head = fra.me.prev;
1409 return;
1410 }
1411 void compiling___compiling_base___CProgram___run_c_compiler(val_t p0){
1412 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1413 val_t REGB0;
1414 val_t tmp;
1415 static val_t once_value_1; /* Once value */
1416 static val_t once_value_2; /* Once value */
1417 static val_t once_value_3; /* Once value */
1418 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1419 fra.me.file = LOCATE_compiling___compiling_base;
1420 fra.me.line = 120;
1421 fra.me.meth = LOCATE_compiling___compiling_base___CProgram___run_c_compiler;
1422 fra.me.has_broke = 0;
1423 fra.me.REG_size = 4;
1424 fra.me.REG[0] = NIT_NULL;
1425 fra.me.REG[1] = NIT_NULL;
1426 fra.me.REG[2] = NIT_NULL;
1427 fra.me.REG[3] = NIT_NULL;
1428 fra.me.REG[0] = p0;
1429 /* ./compiling//compiling_base.nit:123 */
1430 fra.me.REG[1] = CALL_compiling___compiling_base___CProgram___program(fra.me.REG[0])(fra.me.REG[0]);
1431 fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[1])(fra.me.REG[1]);
1432 if (!once_value_1) {
1433 fra.me.REG[2] = BOX_NativeString("Building");
1434 REGB0 = TAG_Int(8);
1435 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1436 once_value_1 = fra.me.REG[2];
1437 register_static_object(&once_value_1);
1438 } else fra.me.REG[2] = once_value_1;
1439 fra.me.REG[2] = fra.me.REG[2];
1440 REGB0 = TAG_Int(1);
1441 CALL_mmloader___ToolContext___info(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], REGB0);
1442 /* ./compiling//compiling_base.nit:124 */
1443 fra.me.REG[2] = CALL_standard___kernel___Object___sys(fra.me.REG[0])(fra.me.REG[0]);
1444 REGB0 = TAG_Int(3);
1445 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1446 if (!once_value_2) {
1447 fra.me.REG[3] = BOX_NativeString("sh ");
1448 REGB0 = TAG_Int(3);
1449 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1450 once_value_2 = fra.me.REG[3];
1451 register_static_object(&once_value_2);
1452 } else fra.me.REG[3] = once_value_2;
1453 fra.me.REG[3] = fra.me.REG[3];
1454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
1455 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CProgram____build_file(fra.me.REG[0])!=NIT_NULL);
1456 if (UNTAG_Bool(REGB0)) {
1457 } else {
1458 nit_abort("Uninitialized attribute %s", "_build_file", LOCATE_compiling___compiling_base, 124);
1459 }
1460 fra.me.REG[0] = ATTR_compiling___compiling_base___CProgram____build_file(fra.me.REG[0]);
1461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1462 if (!once_value_3) {
1463 fra.me.REG[0] = BOX_NativeString("");
1464 REGB0 = TAG_Int(0);
1465 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1466 once_value_3 = fra.me.REG[0];
1467 register_static_object(&once_value_3);
1468 } else fra.me.REG[0] = once_value_3;
1469 fra.me.REG[0] = fra.me.REG[0];
1470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1471 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1472 CALL_standard___exec___Sys___system(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1473 stack_frame_head = fra.me.prev;
1474 return;
1475 }
1476 void compiling___compiling_base___CompilerVisitor___add_decl(val_t p0, val_t p1){
1477 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1478 val_t REGB0;
1479 val_t tmp;
1480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1481 fra.me.file = LOCATE_compiling___compiling_base;
1482 fra.me.line = 132;
1483 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___add_decl;
1484 fra.me.has_broke = 0;
1485 fra.me.REG_size = 3;
1486 fra.me.REG[0] = NIT_NULL;
1487 fra.me.REG[1] = NIT_NULL;
1488 fra.me.REG[2] = NIT_NULL;
1489 fra.me.REG[0] = p0;
1490 fra.me.REG[1] = p1;
1491 /* ./compiling//compiling_base.nit:135 */
1492 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0])!=NIT_NULL);
1493 if (UNTAG_Bool(REGB0)) {
1494 } else {
1495 nit_abort("Uninitialized attribute %s", "_decl_writer", LOCATE_compiling___compiling_base, 135);
1496 }
1497 fra.me.REG[2] = ATTR_compiling___compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]);
1498 CALL_compiling___compiling_base___CompilerVisitor___add_line_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[1]);
1499 stack_frame_head = fra.me.prev;
1500 return;
1501 }
1502 void compiling___compiling_base___CompilerVisitor___add_instr(val_t p0, val_t p1){
1503 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1504 val_t REGB0;
1505 val_t tmp;
1506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1507 fra.me.file = LOCATE_compiling___compiling_base;
1508 fra.me.line = 138;
1509 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___add_instr;
1510 fra.me.has_broke = 0;
1511 fra.me.REG_size = 3;
1512 fra.me.REG[0] = NIT_NULL;
1513 fra.me.REG[1] = NIT_NULL;
1514 fra.me.REG[2] = NIT_NULL;
1515 fra.me.REG[0] = p0;
1516 fra.me.REG[1] = p1;
1517 /* ./compiling//compiling_base.nit:141 */
1518 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1519 if (UNTAG_Bool(REGB0)) {
1520 } else {
1521 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling___compiling_base, 141);
1522 }
1523 fra.me.REG[2] = ATTR_compiling___compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1524 CALL_compiling___compiling_base___CompilerVisitor___add_line_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[1]);
1525 stack_frame_head = fra.me.prev;
1526 return;
1527 }
1528 void compiling___compiling_base___CompilerVisitor___add_indent(val_t p0, val_t p1){
1529 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1530 val_t REGB0;
1531 val_t REGB1;
1532 val_t REGB2;
1533 val_t tmp;
1534 static val_t once_value_1; /* Once value */
1535 static val_t once_value_2; /* Once value */
1536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1537 fra.me.file = LOCATE_compiling___compiling_base;
1538 fra.me.line = 145;
1539 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___add_indent;
1540 fra.me.has_broke = 0;
1541 fra.me.REG_size = 3;
1542 fra.me.REG[0] = NIT_NULL;
1543 fra.me.REG[1] = NIT_NULL;
1544 fra.me.REG[2] = NIT_NULL;
1545 fra.me.REG[0] = p0;
1546 fra.me.REG[1] = p1;
1547 /* ./compiling//compiling_base.nit:147 */
1548 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1549 if (UNTAG_Bool(REGB0)) {
1550 } else {
1551 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling___compiling_base, 147);
1552 }
1553 REGB0 = ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1554 REGB1 = TAG_Int(8);
1555 /* ./../lib/standard//kernel.nit:216 */
1556 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1557 /* ./compiling//compiling_base.nit:147 */
1558 if (UNTAG_Bool(REGB1)) {
1559 /* ./compiling//compiling_base.nit:148 */
1560 if (!once_value_1) {
1561 fra.me.REG[2] = BOX_NativeString("\t\t");
1562 REGB1 = TAG_Int(2);
1563 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB1);
1564 once_value_1 = fra.me.REG[2];
1565 register_static_object(&once_value_1);
1566 } else fra.me.REG[2] = once_value_1;
1567 fra.me.REG[2] = fra.me.REG[2];
1568 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1569 } else {
1570 /* ./compiling//compiling_base.nit:150 */
1571 REGB1 = TAG_Int(0);
1572 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1573 if (UNTAG_Bool(REGB0)) {
1574 } else {
1575 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling___compiling_base, 150);
1576 }
1577 REGB0 = ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1578 /* ./../lib/standard//kernel.nit:335 */
1579 while(1) {
1580 /* ./../lib/standard//kernel.nit:215 */
1581 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1582 /* ./../lib/standard//kernel.nit:335 */
1583 if (UNTAG_Bool(REGB2)) {
1584 /* ./compiling//compiling_base.nit:151 */
1585 if (!once_value_2) {
1586 fra.me.REG[0] = BOX_NativeString(" ");
1587 REGB2 = TAG_Int(2);
1588 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB2);
1589 once_value_2 = fra.me.REG[0];
1590 register_static_object(&once_value_2);
1591 } else fra.me.REG[0] = once_value_2;
1592 fra.me.REG[0] = fra.me.REG[0];
1593 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1594 /* ./../lib/standard//kernel.nit:337 */
1595 REGB2 = TAG_Int(1);
1596 /* ./../lib/standard//kernel.nit:218 */
1597 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1598 /* ./../lib/standard//kernel.nit:337 */
1599 REGB1 = REGB2;
1600 } else {
1601 /* ./../lib/standard//kernel.nit:335 */
1602 goto label3;
1603 }
1604 }
1605 label3: while(0);
1606 }
1607 stack_frame_head = fra.me.prev;
1608 return;
1609 }
1610 void compiling___compiling_base___CompilerVisitor___add_line_to(val_t p0, val_t p1, val_t p2){
1611 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1612 val_t REGB0;
1613 val_t tmp;
1614 static val_t once_value_1; /* Once value */
1615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1616 fra.me.file = LOCATE_compiling___compiling_base;
1617 fra.me.line = 156;
1618 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___add_line_to;
1619 fra.me.has_broke = 0;
1620 fra.me.REG_size = 3;
1621 fra.me.REG[0] = NIT_NULL;
1622 fra.me.REG[1] = NIT_NULL;
1623 fra.me.REG[2] = NIT_NULL;
1624 fra.me.REG[0] = p0;
1625 fra.me.REG[1] = p1;
1626 fra.me.REG[2] = p2;
1627 /* ./compiling//compiling_base.nit:158 */
1628 CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1629 /* ./compiling//compiling_base.nit:159 */
1630 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1631 /* ./compiling//compiling_base.nit:160 */
1632 if (!once_value_1) {
1633 fra.me.REG[2] = BOX_NativeString("\n");
1634 REGB0 = TAG_Int(1);
1635 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1636 once_value_1 = fra.me.REG[2];
1637 register_static_object(&once_value_1);
1638 } else fra.me.REG[2] = once_value_1;
1639 fra.me.REG[2] = fra.me.REG[2];
1640 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1641 stack_frame_head = fra.me.prev;
1642 return;
1643 }
1644 void compiling___compiling_base___CompilerVisitor___add_assignment(val_t p0, val_t p1, val_t p2){
1645 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1646 val_t REGB0;
1647 val_t REGB1;
1648 val_t tmp;
1649 static val_t once_value_1; /* Once value */
1650 static val_t once_value_2; /* Once value */
1651 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1652 fra.me.file = LOCATE_compiling___compiling_base;
1653 fra.me.line = 163;
1654 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___add_assignment;
1655 fra.me.has_broke = 0;
1656 fra.me.REG_size = 4;
1657 fra.me.REG[0] = NIT_NULL;
1658 fra.me.REG[1] = NIT_NULL;
1659 fra.me.REG[2] = NIT_NULL;
1660 fra.me.REG[3] = NIT_NULL;
1661 fra.me.REG[0] = p0;
1662 fra.me.REG[1] = p1;
1663 fra.me.REG[2] = p2;
1664 /* ./compiling//compiling_base.nit:166 */
1665 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
1666 if (UNTAG_Bool(REGB0)) {
1667 } else {
1668 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1669 REGB0 = REGB1;
1670 }
1671 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1672 if (UNTAG_Bool(REGB0)) {
1673 /* ./compiling//compiling_base.nit:167 */
1674 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1675 if (UNTAG_Bool(REGB0)) {
1676 } else {
1677 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling___compiling_base, 167);
1678 }
1679 fra.me.REG[3] = ATTR_compiling___compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1680 /* ./compiling//compiling_base.nit:168 */
1681 CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
1682 /* ./compiling//compiling_base.nit:169 */
1683 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1684 /* ./compiling//compiling_base.nit:170 */
1685 if (!once_value_1) {
1686 fra.me.REG[1] = BOX_NativeString(" = ");
1687 REGB0 = TAG_Int(3);
1688 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1689 once_value_1 = fra.me.REG[1];
1690 register_static_object(&once_value_1);
1691 } else fra.me.REG[1] = once_value_1;
1692 fra.me.REG[1] = fra.me.REG[1];
1693 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1694 /* ./compiling//compiling_base.nit:171 */
1695 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
1696 /* ./compiling//compiling_base.nit:172 */
1697 if (!once_value_2) {
1698 fra.me.REG[2] = BOX_NativeString(";\n");
1699 REGB0 = TAG_Int(2);
1700 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1701 once_value_2 = fra.me.REG[2];
1702 register_static_object(&once_value_2);
1703 } else fra.me.REG[2] = once_value_2;
1704 fra.me.REG[2] = fra.me.REG[2];
1705 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
1706 }
1707 stack_frame_head = fra.me.prev;
1708 return;
1709 }
1710 val_t compiling___compiling_base___CompilerVisitor___new_number(val_t p0){
1711 struct {struct stack_frame_t me;} fra;
1712 val_t REGB0;
1713 val_t REGB1;
1714 val_t tmp;
1715 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1716 fra.me.file = LOCATE_compiling___compiling_base;
1717 fra.me.line = 176;
1718 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___new_number;
1719 fra.me.has_broke = 0;
1720 fra.me.REG_size = 1;
1721 fra.me.REG[0] = NIT_NULL;
1722 fra.me.REG[0] = p0;
1723 /* ./compiling//compiling_base.nit:179 */
1724 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0])!=NIT_NULL);
1725 if (UNTAG_Bool(REGB0)) {
1726 } else {
1727 nit_abort("Uninitialized attribute %s", "_number_cpt", LOCATE_compiling___compiling_base, 179);
1728 }
1729 REGB0 = ATTR_compiling___compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0]);
1730 /* ./compiling//compiling_base.nit:180 */
1731 REGB1 = TAG_Int(1);
1732 /* ./../lib/standard//kernel.nit:218 */
1733 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1734 /* ./compiling//compiling_base.nit:180 */
1735 ATTR_compiling___compiling_base___CompilerVisitor____number_cpt(fra.me.REG[0]) = REGB1;
1736 /* ./compiling//compiling_base.nit:181 */
1737 goto label1;
1738 label1: while(0);
1739 stack_frame_head = fra.me.prev;
1740 return REGB0;
1741 }
1742 void compiling___compiling_base___CompilerVisitor___indent(val_t p0){
1743 struct {struct stack_frame_t me;} fra;
1744 val_t REGB0;
1745 val_t REGB1;
1746 val_t tmp;
1747 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1748 fra.me.file = LOCATE_compiling___compiling_base;
1749 fra.me.line = 186;
1750 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___indent;
1751 fra.me.has_broke = 0;
1752 fra.me.REG_size = 1;
1753 fra.me.REG[0] = NIT_NULL;
1754 fra.me.REG[0] = p0;
1755 /* ./compiling//compiling_base.nit:188 */
1756 REGB0 = ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1757 REGB1 = TAG_Int(1);
1758 /* ./../lib/standard//kernel.nit:218 */
1759 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1760 /* ./compiling//compiling_base.nit:188 */
1761 ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB1;
1762 stack_frame_head = fra.me.prev;
1763 return;
1764 }
1765 void compiling___compiling_base___CompilerVisitor___unindent(val_t p0){
1766 struct {struct stack_frame_t me;} fra;
1767 val_t REGB0;
1768 val_t REGB1;
1769 val_t tmp;
1770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1771 fra.me.file = LOCATE_compiling___compiling_base;
1772 fra.me.line = 190;
1773 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___unindent;
1774 fra.me.has_broke = 0;
1775 fra.me.REG_size = 1;
1776 fra.me.REG[0] = NIT_NULL;
1777 fra.me.REG[0] = p0;
1778 /* ./compiling//compiling_base.nit:193 */
1779 REGB0 = ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1780 REGB1 = TAG_Int(1);
1781 /* ./../lib/standard//kernel.nit:220 */
1782 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1783 /* ./compiling//compiling_base.nit:193 */
1784 ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB1;
1785 /* ./compiling//compiling_base.nit:194 */
1786 REGB1 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
1787 if (UNTAG_Bool(REGB1)) {
1788 } else {
1789 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling___compiling_base, 194);
1790 }
1791 REGB1 = ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
1792 REGB0 = TAG_Int(0);
1793 /* ./../lib/standard//kernel.nit:215 */
1794 REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1795 /* ./compiling//compiling_base.nit:194 */
1796 if (UNTAG_Bool(REGB0)) {
1797 REGB0 = TAG_Int(0);
1798 ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB0;
1799 }
1800 stack_frame_head = fra.me.prev;
1801 return;
1802 }
1803 val_t compiling___compiling_base___CompilerVisitor___mmmodule(val_t p0){
1804 struct {struct stack_frame_t me;} fra;
1805 val_t REGB0;
1806 val_t tmp;
1807 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1808 fra.me.file = LOCATE_compiling___compiling_base;
1809 fra.me.line = 197;
1810 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___mmmodule;
1811 fra.me.has_broke = 0;
1812 fra.me.REG_size = 1;
1813 fra.me.REG[0] = NIT_NULL;
1814 fra.me.REG[0] = p0;
1815 /* ./compiling//compiling_base.nit:197 */
1816 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0])!=NIT_NULL);
1817 if (UNTAG_Bool(REGB0)) {
1818 } else {
1819 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_compiling___compiling_base, 197);
1820 }
1821 fra.me.REG[0] = ATTR_compiling___compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0]);
1822 stack_frame_head = fra.me.prev;
1823 return fra.me.REG[0];
1824 }
1825 val_t compiling___compiling_base___CompilerVisitor___header_writer(val_t p0){
1826 struct {struct stack_frame_t me;} fra;
1827 val_t REGB0;
1828 val_t tmp;
1829 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1830 fra.me.file = LOCATE_compiling___compiling_base;
1831 fra.me.line = 200;
1832 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___header_writer;
1833 fra.me.has_broke = 0;
1834 fra.me.REG_size = 1;
1835 fra.me.REG[0] = NIT_NULL;
1836 fra.me.REG[0] = p0;
1837 /* ./compiling//compiling_base.nit:200 */
1838 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____header_writer(fra.me.REG[0])!=NIT_NULL);
1839 if (UNTAG_Bool(REGB0)) {
1840 } else {
1841 nit_abort("Uninitialized attribute %s", "_header_writer", LOCATE_compiling___compiling_base, 200);
1842 }
1843 fra.me.REG[0] = ATTR_compiling___compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]);
1844 stack_frame_head = fra.me.prev;
1845 return fra.me.REG[0];
1846 }
1847 void compiling___compiling_base___CompilerVisitor___header_writer__eq(val_t p0, val_t p1){
1848 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1849 val_t tmp;
1850 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1851 fra.me.file = LOCATE_compiling___compiling_base;
1852 fra.me.line = 200;
1853 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___header_writer__eq;
1854 fra.me.has_broke = 0;
1855 fra.me.REG_size = 2;
1856 fra.me.REG[0] = NIT_NULL;
1857 fra.me.REG[1] = NIT_NULL;
1858 fra.me.REG[0] = p0;
1859 fra.me.REG[1] = p1;
1860 /* ./compiling//compiling_base.nit:200 */
1861 ATTR_compiling___compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]) = fra.me.REG[1];
1862 stack_frame_head = fra.me.prev;
1863 return;
1864 }
1865 val_t compiling___compiling_base___CompilerVisitor___writer(val_t p0){
1866 struct {struct stack_frame_t me;} fra;
1867 val_t REGB0;
1868 val_t tmp;
1869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1870 fra.me.file = LOCATE_compiling___compiling_base;
1871 fra.me.line = 203;
1872 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___writer;
1873 fra.me.has_broke = 0;
1874 fra.me.REG_size = 1;
1875 fra.me.REG[0] = NIT_NULL;
1876 fra.me.REG[0] = p0;
1877 /* ./compiling//compiling_base.nit:203 */
1878 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____writer(fra.me.REG[0])!=NIT_NULL);
1879 if (UNTAG_Bool(REGB0)) {
1880 } else {
1881 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling___compiling_base, 203);
1882 }
1883 fra.me.REG[0] = ATTR_compiling___compiling_base___CompilerVisitor____writer(fra.me.REG[0]);
1884 stack_frame_head = fra.me.prev;
1885 return fra.me.REG[0];
1886 }
1887 void compiling___compiling_base___CompilerVisitor___writer__eq(val_t p0, val_t p1){
1888 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1889 val_t tmp;
1890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1891 fra.me.file = LOCATE_compiling___compiling_base;
1892 fra.me.line = 203;
1893 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___writer__eq;
1894 fra.me.has_broke = 0;
1895 fra.me.REG_size = 2;
1896 fra.me.REG[0] = NIT_NULL;
1897 fra.me.REG[1] = NIT_NULL;
1898 fra.me.REG[0] = p0;
1899 fra.me.REG[1] = p1;
1900 /* ./compiling//compiling_base.nit:203 */
1901 ATTR_compiling___compiling_base___CompilerVisitor____writer(fra.me.REG[0]) = fra.me.REG[1];
1902 stack_frame_head = fra.me.prev;
1903 return;
1904 }
1905 val_t compiling___compiling_base___CompilerVisitor___decl_writer(val_t p0){
1906 struct {struct stack_frame_t me;} fra;
1907 val_t REGB0;
1908 val_t tmp;
1909 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1910 fra.me.file = LOCATE_compiling___compiling_base;
1911 fra.me.line = 206;
1912 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___decl_writer;
1913 fra.me.has_broke = 0;
1914 fra.me.REG_size = 1;
1915 fra.me.REG[0] = NIT_NULL;
1916 fra.me.REG[0] = p0;
1917 /* ./compiling//compiling_base.nit:206 */
1918 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0])!=NIT_NULL);
1919 if (UNTAG_Bool(REGB0)) {
1920 } else {
1921 nit_abort("Uninitialized attribute %s", "_decl_writer", LOCATE_compiling___compiling_base, 206);
1922 }
1923 fra.me.REG[0] = ATTR_compiling___compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]);
1924 stack_frame_head = fra.me.prev;
1925 return fra.me.REG[0];
1926 }
1927 void compiling___compiling_base___CompilerVisitor___decl_writer__eq(val_t p0, val_t p1){
1928 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1929 val_t tmp;
1930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1931 fra.me.file = LOCATE_compiling___compiling_base;
1932 fra.me.line = 206;
1933 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___decl_writer__eq;
1934 fra.me.has_broke = 0;
1935 fra.me.REG_size = 2;
1936 fra.me.REG[0] = NIT_NULL;
1937 fra.me.REG[1] = NIT_NULL;
1938 fra.me.REG[0] = p0;
1939 fra.me.REG[1] = p1;
1940 /* ./compiling//compiling_base.nit:206 */
1941 ATTR_compiling___compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]) = fra.me.REG[1];
1942 stack_frame_head = fra.me.prev;
1943 return;
1944 }
1945 val_t compiling___compiling_base___CompilerVisitor___top_writer(val_t p0){
1946 struct {struct stack_frame_t me;} fra;
1947 val_t REGB0;
1948 val_t tmp;
1949 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1950 fra.me.file = LOCATE_compiling___compiling_base;
1951 fra.me.line = 209;
1952 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___top_writer;
1953 fra.me.has_broke = 0;
1954 fra.me.REG_size = 1;
1955 fra.me.REG[0] = NIT_NULL;
1956 fra.me.REG[0] = p0;
1957 /* ./compiling//compiling_base.nit:209 */
1958 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____top_writer(fra.me.REG[0])!=NIT_NULL);
1959 if (UNTAG_Bool(REGB0)) {
1960 } else {
1961 nit_abort("Uninitialized attribute %s", "_top_writer", LOCATE_compiling___compiling_base, 209);
1962 }
1963 fra.me.REG[0] = ATTR_compiling___compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]);
1964 stack_frame_head = fra.me.prev;
1965 return fra.me.REG[0];
1966 }
1967 void compiling___compiling_base___CompilerVisitor___top_writer__eq(val_t p0, val_t p1){
1968 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1969 val_t tmp;
1970 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1971 fra.me.file = LOCATE_compiling___compiling_base;
1972 fra.me.line = 209;
1973 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___top_writer__eq;
1974 fra.me.has_broke = 0;
1975 fra.me.REG_size = 2;
1976 fra.me.REG[0] = NIT_NULL;
1977 fra.me.REG[1] = NIT_NULL;
1978 fra.me.REG[0] = p0;
1979 fra.me.REG[1] = p1;
1980 /* ./compiling//compiling_base.nit:209 */
1981 ATTR_compiling___compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]) = fra.me.REG[1];
1982 stack_frame_head = fra.me.prev;
1983 return;
1984 }
1985 val_t compiling___compiling_base___CompilerVisitor___top_decl_writer(val_t p0){
1986 struct {struct stack_frame_t me;} fra;
1987 val_t REGB0;
1988 val_t tmp;
1989 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1990 fra.me.file = LOCATE_compiling___compiling_base;
1991 fra.me.line = 212;
1992 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___top_decl_writer;
1993 fra.me.has_broke = 0;
1994 fra.me.REG_size = 1;
1995 fra.me.REG[0] = NIT_NULL;
1996 fra.me.REG[0] = p0;
1997 /* ./compiling//compiling_base.nit:212 */
1998 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0])!=NIT_NULL);
1999 if (UNTAG_Bool(REGB0)) {
2000 } else {
2001 nit_abort("Uninitialized attribute %s", "_top_decl_writer", LOCATE_compiling___compiling_base, 212);
2002 }
2003 fra.me.REG[0] = ATTR_compiling___compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]);
2004 stack_frame_head = fra.me.prev;
2005 return fra.me.REG[0];
2006 }
2007 void compiling___compiling_base___CompilerVisitor___top_decl_writer__eq(val_t p0, val_t p1){
2008 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2009 val_t tmp;
2010 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2011 fra.me.file = LOCATE_compiling___compiling_base;
2012 fra.me.line = 212;
2013 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___top_decl_writer__eq;
2014 fra.me.has_broke = 0;
2015 fra.me.REG_size = 2;
2016 fra.me.REG[0] = NIT_NULL;
2017 fra.me.REG[1] = NIT_NULL;
2018 fra.me.REG[0] = p0;
2019 fra.me.REG[1] = p1;
2020 /* ./compiling//compiling_base.nit:212 */
2021 ATTR_compiling___compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]) = fra.me.REG[1];
2022 stack_frame_head = fra.me.prev;
2023 return;
2024 }
2025 val_t compiling___compiling_base___CompilerVisitor___indent_level(val_t p0){
2026 struct {struct stack_frame_t me;} fra;
2027 val_t REGB0;
2028 val_t tmp;
2029 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2030 fra.me.file = LOCATE_compiling___compiling_base;
2031 fra.me.line = 215;
2032 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___indent_level;
2033 fra.me.has_broke = 0;
2034 fra.me.REG_size = 1;
2035 fra.me.REG[0] = NIT_NULL;
2036 fra.me.REG[0] = p0;
2037 /* ./compiling//compiling_base.nit:215 */
2038 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0])!=NIT_NULL);
2039 if (UNTAG_Bool(REGB0)) {
2040 } else {
2041 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_compiling___compiling_base, 215);
2042 }
2043 REGB0 = ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]);
2044 stack_frame_head = fra.me.prev;
2045 return REGB0;
2046 }
2047 void compiling___compiling_base___CompilerVisitor___indent_level__eq(val_t p0, val_t p1){
2048 struct {struct stack_frame_t me;} fra;
2049 val_t REGB0;
2050 val_t tmp;
2051 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2052 fra.me.file = LOCATE_compiling___compiling_base;
2053 fra.me.line = 215;
2054 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___indent_level__eq;
2055 fra.me.has_broke = 0;
2056 fra.me.REG_size = 1;
2057 fra.me.REG[0] = NIT_NULL;
2058 fra.me.REG[0] = p0;
2059 REGB0 = p1;
2060 /* ./compiling//compiling_base.nit:215 */
2061 ATTR_compiling___compiling_base___CompilerVisitor____indent_level(fra.me.REG[0]) = REGB0;
2062 stack_frame_head = fra.me.prev;
2063 return;
2064 }
2065 val_t compiling___compiling_base___CompilerVisitor___program(val_t p0){
2066 struct {struct stack_frame_t me;} fra;
2067 val_t REGB0;
2068 val_t tmp;
2069 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2070 fra.me.file = LOCATE_compiling___compiling_base;
2071 fra.me.line = 218;
2072 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___program;
2073 fra.me.has_broke = 0;
2074 fra.me.REG_size = 1;
2075 fra.me.REG[0] = NIT_NULL;
2076 fra.me.REG[0] = p0;
2077 /* ./compiling//compiling_base.nit:218 */
2078 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____program(fra.me.REG[0])!=NIT_NULL);
2079 if (UNTAG_Bool(REGB0)) {
2080 } else {
2081 nit_abort("Uninitialized attribute %s", "_program", LOCATE_compiling___compiling_base, 218);
2082 }
2083 fra.me.REG[0] = ATTR_compiling___compiling_base___CompilerVisitor____program(fra.me.REG[0]);
2084 stack_frame_head = fra.me.prev;
2085 return fra.me.REG[0];
2086 }
2087 val_t compiling___compiling_base___CompilerVisitor___cprogram(val_t p0){
2088 struct {struct stack_frame_t me;} fra;
2089 val_t REGB0;
2090 val_t tmp;
2091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2092 fra.me.file = LOCATE_compiling___compiling_base;
2093 fra.me.line = 221;
2094 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___cprogram;
2095 fra.me.has_broke = 0;
2096 fra.me.REG_size = 1;
2097 fra.me.REG[0] = NIT_NULL;
2098 fra.me.REG[0] = p0;
2099 /* ./compiling//compiling_base.nit:221 */
2100 REGB0 = TAG_Bool(ATTR_compiling___compiling_base___CompilerVisitor____cprogram(fra.me.REG[0])!=NIT_NULL);
2101 if (UNTAG_Bool(REGB0)) {
2102 } else {
2103 nit_abort("Uninitialized attribute %s", "_cprogram", LOCATE_compiling___compiling_base, 221);
2104 }
2105 fra.me.REG[0] = ATTR_compiling___compiling_base___CompilerVisitor____cprogram(fra.me.REG[0]);
2106 stack_frame_head = fra.me.prev;
2107 return fra.me.REG[0];
2108 }
2109 void compiling___compiling_base___CompilerVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
2110 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_compiling___compiling_base___CompilerVisitor].i;
2111 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2112 val_t tmp;
2113 if (init_table[itpos1]) return;
2114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2115 fra.me.file = LOCATE_compiling___compiling_base;
2116 fra.me.line = 224;
2117 fra.me.meth = LOCATE_compiling___compiling_base___CompilerVisitor___init;
2118 fra.me.has_broke = 0;
2119 fra.me.REG_size = 3;
2120 fra.me.REG[0] = NIT_NULL;
2121 fra.me.REG[1] = NIT_NULL;
2122 fra.me.REG[2] = NIT_NULL;
2123 fra.me.REG[0] = p0;
2124 fra.me.REG[1] = p1;
2125 fra.me.REG[2] = p2;
2126 /* ./compiling//compiling_base.nit:227 */
2127 ATTR_compiling___compiling_base___CompilerVisitor____mmmodule(fra.me.REG[0]) = fra.me.REG[1];
2128 /* ./compiling//compiling_base.nit:228 */
2129 ATTR_compiling___compiling_base___CompilerVisitor____cprogram(fra.me.REG[0]) = fra.me.REG[2];
2130 /* ./compiling//compiling_base.nit:229 */
2131 fra.me.REG[2] = CALL_compiling___compiling_base___CProgram___program(fra.me.REG[2])(fra.me.REG[2]);
2132 ATTR_compiling___compiling_base___CompilerVisitor____program(fra.me.REG[0]) = fra.me.REG[2];
2133 /* ./compiling//compiling_base.nit:231 */
2134 fra.me.REG[2] = NEW_Writer_compiling___compiling_writer___Writer___init();
2135 /* ./compiling//compiling_base.nit:232 */
2136 ATTR_compiling___compiling_base___CompilerVisitor____header_writer(fra.me.REG[0]) = fra.me.REG[2];
2137 /* ./compiling//compiling_base.nit:233 */
2138 ATTR_compiling___compiling_base___CompilerVisitor____decl_writer(fra.me.REG[0]) = fra.me.REG[2];
2139 /* ./compiling//compiling_base.nit:234 */
2140 fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
2141 fra.me.REG[2] = fra.me.REG[1];
2142 /* ./compiling//compiling_base.nit:235 */
2143 ATTR_compiling___compiling_base___CompilerVisitor____writer(fra.me.REG[0]) = fra.me.REG[2];
2144 /* ./compiling//compiling_base.nit:236 */
2145 ATTR_compiling___compiling_base___CompilerVisitor____top_writer(fra.me.REG[0]) = fra.me.REG[2];
2146 /* ./compiling//compiling_base.nit:237 */
2147 fra.me.REG[2] = CALL_compiling___compiling_writer___Writer___sub(fra.me.REG[2])(fra.me.REG[2]);
2148 ATTR_compiling___compiling_base___CompilerVisitor____top_decl_writer(fra.me.REG[0]) = fra.me.REG[2];
2149 stack_frame_head = fra.me.prev;
2150 init_table[itpos1] = 1;
2151 return;
2152 }
2153 val_t compiling___compiling_base___MMGlobalProperty___meth_call(val_t p0){
2154 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2155 val_t REGB0;
2156 val_t tmp;
2157 static val_t once_value_1; /* Once value */
2158 static val_t once_value_2; /* Once value */
2159 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2160 fra.me.file = LOCATE_compiling___compiling_base;
2161 fra.me.line = 242;
2162 fra.me.meth = LOCATE_compiling___compiling_base___MMGlobalProperty___meth_call;
2163 fra.me.has_broke = 0;
2164 fra.me.REG_size = 3;
2165 fra.me.REG[0] = NIT_NULL;
2166 fra.me.REG[1] = NIT_NULL;
2167 fra.me.REG[2] = NIT_NULL;
2168 fra.me.REG[0] = p0;
2169 /* ./compiling//compiling_base.nit:245 */
2170 REGB0 = TAG_Int(3);
2171 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2172 if (!once_value_1) {
2173 fra.me.REG[2] = BOX_NativeString("CALL_");
2174 REGB0 = TAG_Int(5);
2175 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2176 once_value_1 = fra.me.REG[2];
2177 register_static_object(&once_value_1);
2178 } else fra.me.REG[2] = once_value_1;
2179 fra.me.REG[2] = fra.me.REG[2];
2180 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2181 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2182 fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2183 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2184 if (!once_value_2) {
2185 fra.me.REG[0] = BOX_NativeString("");
2186 REGB0 = TAG_Int(0);
2187 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2188 once_value_2 = fra.me.REG[0];
2189 register_static_object(&once_value_2);
2190 } else fra.me.REG[0] = once_value_2;
2191 fra.me.REG[0] = fra.me.REG[0];
2192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2193 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2194 goto label3;
2195 label3: while(0);
2196 stack_frame_head = fra.me.prev;
2197 return fra.me.REG[1];
2198 }
2199 val_t compiling___compiling_base___MMGlobalProperty___attr_access(val_t p0){
2200 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2201 val_t REGB0;
2202 val_t tmp;
2203 static val_t once_value_1; /* Once value */
2204 static val_t once_value_2; /* Once value */
2205 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2206 fra.me.file = LOCATE_compiling___compiling_base;
2207 fra.me.line = 248;
2208 fra.me.meth = LOCATE_compiling___compiling_base___MMGlobalProperty___attr_access;
2209 fra.me.has_broke = 0;
2210 fra.me.REG_size = 3;
2211 fra.me.REG[0] = NIT_NULL;
2212 fra.me.REG[1] = NIT_NULL;
2213 fra.me.REG[2] = NIT_NULL;
2214 fra.me.REG[0] = p0;
2215 /* ./compiling//compiling_base.nit:251 */
2216 REGB0 = TAG_Int(3);
2217 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2218 if (!once_value_1) {
2219 fra.me.REG[2] = BOX_NativeString("ATTR_");
2220 REGB0 = TAG_Int(5);
2221 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2222 once_value_1 = fra.me.REG[2];
2223 register_static_object(&once_value_1);
2224 } else fra.me.REG[2] = once_value_1;
2225 fra.me.REG[2] = fra.me.REG[2];
2226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2227 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2228 fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2230 if (!once_value_2) {
2231 fra.me.REG[0] = BOX_NativeString("");
2232 REGB0 = TAG_Int(0);
2233 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2234 once_value_2 = fra.me.REG[0];
2235 register_static_object(&once_value_2);
2236 } else fra.me.REG[0] = once_value_2;
2237 fra.me.REG[0] = fra.me.REG[0];
2238 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2239 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2240 goto label3;
2241 label3: while(0);
2242 stack_frame_head = fra.me.prev;
2243 return fra.me.REG[1];
2244 }
2245 val_t compiling___compiling_base___MMGlobalClass___cname(val_t p0){
2246 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
2247 val_t REGB0;
2248 val_t REGB1;
2249 val_t tmp;
2250 static val_t once_value_1; /* Once value */
2251 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2252 fra.me.file = LOCATE_compiling___compiling_base;
2253 fra.me.line = 259;
2254 fra.me.meth = LOCATE_compiling___compiling_base___MMGlobalClass___cname;
2255 fra.me.has_broke = 0;
2256 fra.me.REG_size = 5;
2257 fra.me.REG[0] = NIT_NULL;
2258 fra.me.REG[1] = NIT_NULL;
2259 fra.me.REG[2] = NIT_NULL;
2260 fra.me.REG[3] = NIT_NULL;
2261 fra.me.REG[4] = NIT_NULL;
2262 fra.me.REG[0] = p0;
2263 /* ./compiling//compiling_base.nit:262 */
2264 fra.me.REG[1] = ATTR_compiling___compiling_base___MMGlobalClass____cname_cache(fra.me.REG[0]);
2265 /* ./compiling//compiling_base.nit:263 */
2266 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2267 if (UNTAG_Bool(REGB0)) {
2268 } else {
2269 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2270 if (UNTAG_Bool(REGB1)) {
2271 REGB1 = TAG_Bool(false);
2272 REGB0 = REGB1;
2273 } else {
2274 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2275 REGB0 = REGB1;
2276 }
2277 }
2278 if (UNTAG_Bool(REGB0)) {
2279 /* ./compiling//compiling_base.nit:264 */
2280 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
2281 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[2])(fra.me.REG[2]);
2282 fra.me.REG[2] = CALL_compiling___compiling_base___MMModule___cname(fra.me.REG[2])(fra.me.REG[2]);
2283 if (!once_value_1) {
2284 fra.me.REG[3] = BOX_NativeString("___");
2285 REGB0 = TAG_Int(3);
2286 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
2287 once_value_1 = fra.me.REG[3];
2288 register_static_object(&once_value_1);
2289 } else fra.me.REG[3] = once_value_1;
2290 fra.me.REG[3] = fra.me.REG[3];
2291 fra.me.REG[3] = CALL_standard___string___String_____plus(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2292 REGB0 = TAG_Int(0);
2293 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2294 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
2295 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[4])(fra.me.REG[4]);
2296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
2297 fra.me.REG[2] = CALL_utils___Object___cmangle(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
2298 fra.me.REG[2] = CALL_standard___string___String_____plus(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
2299 fra.me.REG[1] = fra.me.REG[2];
2300 /* ./compiling//compiling_base.nit:265 */
2301 ATTR_compiling___compiling_base___MMGlobalClass____cname_cache(fra.me.REG[0]) = fra.me.REG[1];
2302 }
2303 /* ./compiling//compiling_base.nit:267 */
2304 goto label2;
2305 label2: while(0);
2306 stack_frame_head = fra.me.prev;
2307 return fra.me.REG[1];
2308 }
2309 val_t compiling___compiling_base___MMGlobalClass___id_id(val_t p0){
2310 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2311 val_t REGB0;
2312 val_t tmp;
2313 static val_t once_value_1; /* Once value */
2314 static val_t once_value_2; /* Once value */
2315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2316 fra.me.file = LOCATE_compiling___compiling_base;
2317 fra.me.line = 270;
2318 fra.me.meth = LOCATE_compiling___compiling_base___MMGlobalClass___id_id;
2319 fra.me.has_broke = 0;
2320 fra.me.REG_size = 3;
2321 fra.me.REG[0] = NIT_NULL;
2322 fra.me.REG[1] = NIT_NULL;
2323 fra.me.REG[2] = NIT_NULL;
2324 fra.me.REG[0] = p0;
2325 /* ./compiling//compiling_base.nit:273 */
2326 REGB0 = TAG_Int(3);
2327 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2328 if (!once_value_1) {
2329 fra.me.REG[2] = BOX_NativeString("ID_");
2330 REGB0 = TAG_Int(3);
2331 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2332 once_value_1 = fra.me.REG[2];
2333 register_static_object(&once_value_1);
2334 } else fra.me.REG[2] = once_value_1;
2335 fra.me.REG[2] = fra.me.REG[2];
2336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2337 fra.me.REG[0] = CALL_compiling___compiling_base___MMGlobalClass___cname(fra.me.REG[0])(fra.me.REG[0]);
2338 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2339 if (!once_value_2) {
2340 fra.me.REG[0] = BOX_NativeString("");
2341 REGB0 = TAG_Int(0);
2342 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2343 once_value_2 = fra.me.REG[0];
2344 register_static_object(&once_value_2);
2345 } else fra.me.REG[0] = once_value_2;
2346 fra.me.REG[0] = fra.me.REG[0];
2347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2348 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2349 goto label3;
2350 label3: while(0);
2351 stack_frame_head = fra.me.prev;
2352 return fra.me.REG[1];
2353 }
2354 val_t compiling___compiling_base___MMGlobalClass___color_id(val_t p0){
2355 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2356 val_t REGB0;
2357 val_t tmp;
2358 static val_t once_value_1; /* Once value */
2359 static val_t once_value_2; /* Once value */
2360 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2361 fra.me.file = LOCATE_compiling___compiling_base;
2362 fra.me.line = 276;
2363 fra.me.meth = LOCATE_compiling___compiling_base___MMGlobalClass___color_id;
2364 fra.me.has_broke = 0;
2365 fra.me.REG_size = 3;
2366 fra.me.REG[0] = NIT_NULL;
2367 fra.me.REG[1] = NIT_NULL;
2368 fra.me.REG[2] = NIT_NULL;
2369 fra.me.REG[0] = p0;
2370 /* ./compiling//compiling_base.nit:279 */
2371 REGB0 = TAG_Int(3);
2372 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2373 if (!once_value_1) {
2374 fra.me.REG[2] = BOX_NativeString("COLOR_");
2375 REGB0 = TAG_Int(6);
2376 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2377 once_value_1 = fra.me.REG[2];
2378 register_static_object(&once_value_1);
2379 } else fra.me.REG[2] = once_value_1;
2380 fra.me.REG[2] = fra.me.REG[2];
2381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2382 fra.me.REG[0] = CALL_compiling___compiling_base___MMGlobalClass___cname(fra.me.REG[0])(fra.me.REG[0]);
2383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2384 if (!once_value_2) {
2385 fra.me.REG[0] = BOX_NativeString("");
2386 REGB0 = TAG_Int(0);
2387 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2388 once_value_2 = fra.me.REG[0];
2389 register_static_object(&once_value_2);
2390 } else fra.me.REG[0] = once_value_2;
2391 fra.me.REG[0] = fra.me.REG[0];
2392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2393 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2394 goto label3;
2395 label3: while(0);
2396 stack_frame_head = fra.me.prev;
2397 return fra.me.REG[1];
2398 }
2399 val_t compiling___compiling_base___MMGlobalClass___init_table_pos_id(val_t p0){
2400 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2401 val_t REGB0;
2402 val_t tmp;
2403 static val_t once_value_1; /* Once value */
2404 static val_t once_value_2; /* Once value */
2405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2406 fra.me.file = LOCATE_compiling___compiling_base;
2407 fra.me.line = 282;
2408 fra.me.meth = LOCATE_compiling___compiling_base___MMGlobalClass___init_table_pos_id;
2409 fra.me.has_broke = 0;
2410 fra.me.REG_size = 3;
2411 fra.me.REG[0] = NIT_NULL;
2412 fra.me.REG[1] = NIT_NULL;
2413 fra.me.REG[2] = NIT_NULL;
2414 fra.me.REG[0] = p0;
2415 /* ./compiling//compiling_base.nit:285 */
2416 REGB0 = TAG_Int(3);
2417 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2418 if (!once_value_1) {
2419 fra.me.REG[2] = BOX_NativeString("INIT_TABLE_POS_");
2420 REGB0 = TAG_Int(15);
2421 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2422 once_value_1 = fra.me.REG[2];
2423 register_static_object(&once_value_1);
2424 } else fra.me.REG[2] = once_value_1;
2425 fra.me.REG[2] = fra.me.REG[2];
2426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2427 fra.me.REG[0] = CALL_compiling___compiling_base___MMGlobalClass___cname(fra.me.REG[0])(fra.me.REG[0]);
2428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2429 if (!once_value_2) {
2430 fra.me.REG[0] = BOX_NativeString("");
2431 REGB0 = TAG_Int(0);
2432 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2433 once_value_2 = fra.me.REG[0];
2434 register_static_object(&once_value_2);
2435 } else fra.me.REG[0] = once_value_2;
2436 fra.me.REG[0] = fra.me.REG[0];
2437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2438 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2439 goto label3;
2440 label3: while(0);
2441 stack_frame_head = fra.me.prev;
2442 return fra.me.REG[1];
2443 }
2444 val_t compiling___compiling_base___MMModule___cname(val_t p0){
2445 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
2446 val_t REGB0;
2447 val_t REGB1;
2448 val_t tmp;
2449 static val_t once_value_3; /* Once value */
2450 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2451 fra.me.file = LOCATE_compiling___compiling_base;
2452 fra.me.line = 293;
2453 fra.me.meth = LOCATE_compiling___compiling_base___MMModule___cname;
2454 fra.me.has_broke = 0;
2455 fra.me.REG_size = 6;
2456 fra.me.REG[0] = NIT_NULL;
2457 fra.me.REG[1] = NIT_NULL;
2458 fra.me.REG[2] = NIT_NULL;
2459 fra.me.REG[3] = NIT_NULL;
2460 fra.me.REG[4] = NIT_NULL;
2461 fra.me.REG[5] = NIT_NULL;
2462 fra.me.REG[0] = p0;
2463 /* ./compiling//compiling_base.nit:296 */
2464 fra.me.REG[1] = ATTR_compiling___compiling_base___MMModule____cname_cache(fra.me.REG[0]);
2465 /* ./compiling//compiling_base.nit:297 */
2466 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2467 if (UNTAG_Bool(REGB0)) {
2468 } else {
2469 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2470 if (UNTAG_Bool(REGB1)) {
2471 REGB1 = TAG_Bool(false);
2472 REGB0 = REGB1;
2473 } else {
2474 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2475 REGB0 = REGB1;
2476 }
2477 }
2478 if (UNTAG_Bool(REGB0)) {
2479 /* ./compiling//compiling_base.nit:298 */
2480 fra.me.REG[2] = NEW_List_standard___collection___list___List___init();
2481 /* ./compiling//compiling_base.nit:299 */
2482 fra.me.REG[3] = fra.me.REG[0];
2483 /* ./compiling//compiling_base.nit:300 */
2484 while(1) {
2485 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
2486 if (UNTAG_Bool(REGB0)) {
2487 } else {
2488 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
2489 if (UNTAG_Bool(REGB1)) {
2490 REGB1 = TAG_Bool(false);
2491 REGB0 = REGB1;
2492 } else {
2493 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
2494 REGB0 = REGB1;
2495 }
2496 }
2497 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2498 if (UNTAG_Bool(REGB0)) {
2499 /* ./compiling//compiling_base.nit:301 */
2500 REGB0 = TAG_Int(0);
2501 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2502 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
2503 if (UNTAG_Bool(REGB0)) {
2504 nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_base, 301);
2505 }
2506 fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[3])(fra.me.REG[3]);
2507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
2508 fra.me.REG[4] = CALL_utils___Object___cmangle(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
2509 CALL_standard___collection___abstract_collection___Sequence___unshift(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
2510 /* ./compiling//compiling_base.nit:302 */
2511 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
2512 if (UNTAG_Bool(REGB0)) {
2513 nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_base, 302);
2514 }
2515 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMModule___directory(fra.me.REG[3])(fra.me.REG[3]);
2516 /* ./compiling//compiling_base.nit:303 */
2517 while(1) {
2518 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
2519 if (UNTAG_Bool(REGB0)) {
2520 } else {
2521 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
2522 if (UNTAG_Bool(REGB1)) {
2523 REGB1 = TAG_Bool(false);
2524 REGB0 = REGB1;
2525 } else {
2526 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
2527 REGB0 = REGB1;
2528 }
2529 }
2530 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2531 if (UNTAG_Bool(REGB0)) {
2532 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
2533 if (UNTAG_Bool(REGB0)) {
2534 nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_base, 303);
2535 }
2536 fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMDirectory___owner(fra.me.REG[4])(fra.me.REG[4]);
2537 REGB0 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[5],fra.me.REG[3]));
2538 if (UNTAG_Bool(REGB0)) {
2539 } else {
2540 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
2541 if (UNTAG_Bool(REGB1)) {
2542 REGB1 = TAG_Bool(false);
2543 REGB0 = REGB1;
2544 } else {
2545 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
2546 REGB0 = REGB1;
2547 }
2548 }
2549 } else {
2550 REGB1 = TAG_Bool(false);
2551 REGB0 = REGB1;
2552 }
2553 if (UNTAG_Bool(REGB0)) {
2554 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
2555 if (UNTAG_Bool(REGB0)) {
2556 nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_base, 303);
2557 }
2558 fra.me.REG[5] = CALL_metamodel___abstractmetamodel___MMDirectory___parent(fra.me.REG[4])(fra.me.REG[4]);
2559 fra.me.REG[4] = fra.me.REG[5];
2560 } else {
2561 goto label1;
2562 }
2563 }
2564 label1: while(0);
2565 /* ./compiling//compiling_base.nit:304 */
2566 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
2567 if (UNTAG_Bool(REGB0)) {
2568 } else {
2569 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
2570 if (UNTAG_Bool(REGB1)) {
2571 REGB1 = TAG_Bool(false);
2572 REGB0 = REGB1;
2573 } else {
2574 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
2575 REGB0 = REGB1;
2576 }
2577 }
2578 if (UNTAG_Bool(REGB0)) {
2579 fra.me.REG[3] = NIT_NULL;
2580 } else {
2581 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
2582 if (UNTAG_Bool(REGB0)) {
2583 nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_base, 304);
2584 }
2585 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMDirectory___owner(fra.me.REG[4])(fra.me.REG[4]);
2586 fra.me.REG[3] = fra.me.REG[4];
2587 }
2588 } else {
2589 /* ./compiling//compiling_base.nit:300 */
2590 goto label2;
2591 }
2592 }
2593 label2: while(0);
2594 /* ./compiling//compiling_base.nit:306 */
2595 fra.me.REG[2] = CALL_standard___collection___array___Collection___to_a(fra.me.REG[2])(fra.me.REG[2]);
2596 if (!once_value_3) {
2597 fra.me.REG[3] = BOX_NativeString("___");
2598 REGB0 = TAG_Int(3);
2599 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
2600 once_value_3 = fra.me.REG[3];
2601 register_static_object(&once_value_3);
2602 } else fra.me.REG[3] = once_value_3;
2603 fra.me.REG[3] = fra.me.REG[3];
2604 fra.me.REG[3] = CALL_standard___string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2605 fra.me.REG[1] = fra.me.REG[3];
2606 /* ./compiling//compiling_base.nit:307 */
2607 ATTR_compiling___compiling_base___MMModule____cname_cache(fra.me.REG[0]) = fra.me.REG[1];
2608 }
2609 /* ./compiling//compiling_base.nit:309 */
2610 goto label4;
2611 label4: while(0);
2612 stack_frame_head = fra.me.prev;
2613 return fra.me.REG[1];
2614 }
2615 val_t compiling___compiling_base___MMLocalClass___cname(val_t p0){
2616 struct {struct stack_frame_t me;} fra;
2617 val_t tmp;
2618 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2619 fra.me.file = LOCATE_compiling___compiling_base;
2620 fra.me.line = 314;
2621 fra.me.meth = LOCATE_compiling___compiling_base___MMLocalClass___cname;
2622 fra.me.has_broke = 0;
2623 fra.me.REG_size = 1;
2624 fra.me.REG[0] = NIT_NULL;
2625 fra.me.REG[0] = p0;
2626 /* ./compiling//compiling_base.nit:315 */
2627 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
2628 fra.me.REG[0] = CALL_compiling___compiling_base___MMGlobalClass___cname(fra.me.REG[0])(fra.me.REG[0]);
2629 goto label1;
2630 label1: while(0);
2631 stack_frame_head = fra.me.prev;
2632 return fra.me.REG[0];
2633 }
2634 val_t compiling___compiling_base___MMLocalProperty___cname(val_t p0){
2635 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
2636 val_t REGB0;
2637 val_t REGB1;
2638 val_t tmp;
2639 static val_t once_value_1; /* Once value */
2640 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2641 fra.me.file = LOCATE_compiling___compiling_base;
2642 fra.me.line = 322;
2643 fra.me.meth = LOCATE_compiling___compiling_base___MMLocalProperty___cname;
2644 fra.me.has_broke = 0;
2645 fra.me.REG_size = 5;
2646 fra.me.REG[0] = NIT_NULL;
2647 fra.me.REG[1] = NIT_NULL;
2648 fra.me.REG[2] = NIT_NULL;
2649 fra.me.REG[3] = NIT_NULL;
2650 fra.me.REG[4] = NIT_NULL;
2651 fra.me.REG[0] = p0;
2652 /* ./compiling//compiling_base.nit:325 */
2653 fra.me.REG[1] = ATTR_compiling___compiling_base___MMLocalProperty____cname_cache(fra.me.REG[0]);
2654 /* ./compiling//compiling_base.nit:326 */
2655 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2656 if (UNTAG_Bool(REGB0)) {
2657 } else {
2658 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2659 if (UNTAG_Bool(REGB1)) {
2660 REGB1 = TAG_Bool(false);
2661 REGB0 = REGB1;
2662 } else {
2663 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2664 REGB0 = REGB1;
2665 }
2666 }
2667 if (UNTAG_Bool(REGB0)) {
2668 /* ./compiling//compiling_base.nit:327 */
2669 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra.me.REG[0])(fra.me.REG[0]);
2670 fra.me.REG[2] = CALL_compiling___compiling_base___MMModule___cname(fra.me.REG[2])(fra.me.REG[2]);
2671 if (!once_value_1) {
2672 fra.me.REG[3] = BOX_NativeString("___");
2673 REGB0 = TAG_Int(3);
2674 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
2675 once_value_1 = fra.me.REG[3];
2676 register_static_object(&once_value_1);
2677 } else fra.me.REG[3] = once_value_1;
2678 fra.me.REG[3] = fra.me.REG[3];
2679 fra.me.REG[3] = CALL_standard___string___String_____plus(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2680 REGB0 = TAG_Int(1);
2681 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2682 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
2683 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[4])(fra.me.REG[4]);
2684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
2685 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra.me.REG[0])(fra.me.REG[0]);
2686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
2687 fra.me.REG[2] = CALL_utils___Object___cmangle(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
2688 fra.me.REG[2] = CALL_standard___string___String_____plus(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
2689 fra.me.REG[1] = fra.me.REG[2];
2690 /* ./compiling//compiling_base.nit:328 */
2691 ATTR_compiling___compiling_base___MMLocalProperty____cname_cache(fra.me.REG[0]) = fra.me.REG[1];
2692 }
2693 /* ./compiling//compiling_base.nit:330 */
2694 goto label2;
2695 label2: while(0);
2696 stack_frame_head = fra.me.prev;
2697 return fra.me.REG[1];
2698 }
2699 val_t compiling___compiling_base___MMLocalProperty___super_meth_call(val_t p0){
2700 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2701 val_t REGB0;
2702 val_t tmp;
2703 static val_t once_value_1; /* Once value */
2704 static val_t once_value_2; /* Once value */
2705 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2706 fra.me.file = LOCATE_compiling___compiling_base;
2707 fra.me.line = 333;
2708 fra.me.meth = LOCATE_compiling___compiling_base___MMLocalProperty___super_meth_call;
2709 fra.me.has_broke = 0;
2710 fra.me.REG_size = 3;
2711 fra.me.REG[0] = NIT_NULL;
2712 fra.me.REG[1] = NIT_NULL;
2713 fra.me.REG[2] = NIT_NULL;
2714 fra.me.REG[0] = p0;
2715 /* ./compiling//compiling_base.nit:336 */
2716 REGB0 = TAG_Int(3);
2717 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2718 if (!once_value_1) {
2719 fra.me.REG[2] = BOX_NativeString("CALL_SUPER_");
2720 REGB0 = TAG_Int(11);
2721 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2722 once_value_1 = fra.me.REG[2];
2723 register_static_object(&once_value_1);
2724 } else fra.me.REG[2] = once_value_1;
2725 fra.me.REG[2] = fra.me.REG[2];
2726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2727 fra.me.REG[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
2728 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2729 if (!once_value_2) {
2730 fra.me.REG[0] = BOX_NativeString("");
2731 REGB0 = TAG_Int(0);
2732 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2733 once_value_2 = fra.me.REG[0];
2734 register_static_object(&once_value_2);
2735 } else fra.me.REG[0] = once_value_2;
2736 fra.me.REG[0] = fra.me.REG[0];
2737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2738 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2739 goto label3;
2740 label3: while(0);
2741 stack_frame_head = fra.me.prev;
2742 return fra.me.REG[1];
2743 }