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