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