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