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