1 /* This C file is generated by NIT to compile module compiling. */
2 #include "compiling._sep.h"
3 static const char LOCATE_compiling___Program___output_format
[] = "compiling::Program::output_format";
4 val_t
compiling___Program___output_format(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_compiling
;
11 fra
.me
.meth
= LOCATE_compiling___Program___output_format
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
17 /* compiling/compiling.nit:28 */
18 REGB0
= TAG_Bool(ATTR_compiling___Program____output_format(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "_output_format", LOCATE_compiling
, 28);
23 fra
.me
.REG
[0] = ATTR_compiling___Program____output_format(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_compiling___Program___output_format__eq
[] = "compiling::Program::output_format=";
28 void compiling___Program___output_format__eq(val_t p0
, val_t p1
){
29 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
31 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
32 fra
.me
.file
= LOCATE_compiling
;
34 fra
.me
.meth
= LOCATE_compiling___Program___output_format__eq
;
37 fra
.me
.nitni_local_ref_head
= NULL
;
38 fra
.me
.REG
[0] = NIT_NULL
;
39 fra
.me
.REG
[1] = NIT_NULL
;
42 /* compiling/compiling.nit:28 */
43 ATTR_compiling___Program____output_format(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
44 stack_frame_head
= fra
.me
.prev
;
47 static const char LOCATE_compiling___Program___compile_prog
[] = "compiling::Program::compile_prog";
48 void compiling___Program___compile_prog(val_t p0
){
49 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
53 static val_t once_value_1
; /* Once value */
54 static val_t once_value_3
; /* Once value */
55 static val_t once_value_4
; /* Once value */
56 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
57 fra
.me
.file
= LOCATE_compiling
;
59 fra
.me
.meth
= LOCATE_compiling___Program___compile_prog
;
62 fra
.me
.nitni_local_ref_head
= NULL
;
63 fra
.me
.REG
[0] = NIT_NULL
;
64 fra
.me
.REG
[1] = NIT_NULL
;
65 fra
.me
.REG
[2] = NIT_NULL
;
67 /* compiling/compiling.nit:34 */
68 fra
.me
.REG
[1] = CALL_compiling___Program___output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
70 fra
.me
.REG
[2] = BOX_NativeString("none");
72 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
73 once_value_1
= fra
.me
.REG
[2];
74 register_static_object(&once_value_1
);
75 } else fra
.me
.REG
[2] = once_value_1
;
76 fra
.me
.REG
[2] = fra
.me
.REG
[2];
77 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
78 if (UNTAG_Bool(REGB0
)) {
80 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
83 if (UNTAG_Bool(REGB0
)) {
85 CALL_program___Program___with_each_iroutines(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_compiling___Program___compile_prog_2
));
86 /* compiling/compiling.nit:40 */
87 fra
.me
.REG
[2] = CALL_compiling___Program___output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
89 fra
.me
.REG
[1] = BOX_NativeString("C");
91 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
92 once_value_3
= fra
.me
.REG
[1];
93 register_static_object(&once_value_3
);
94 } else fra
.me
.REG
[1] = once_value_3
;
95 fra
.me
.REG
[1] = fra
.me
.REG
[1];
96 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
97 if (UNTAG_Bool(REGB0
)) {
99 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
102 if (UNTAG_Bool(REGB0
)) {
103 /* compiling/compiling.nit:41 */
104 CALL_compiling___Program___compile_prog_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
106 /* compiling/compiling.nit:42 */
107 fra
.me
.REG
[1] = CALL_compiling___Program___output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
109 fra
.me
.REG
[2] = BOX_NativeString("icode");
111 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
112 once_value_4
= fra
.me
.REG
[2];
113 register_static_object(&once_value_4
);
114 } else fra
.me
.REG
[2] = once_value_4
;
115 fra
.me
.REG
[2] = fra
.me
.REG
[2];
116 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
117 if (UNTAG_Bool(REGB0
)) {
119 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
122 if (UNTAG_Bool(REGB0
)) {
123 /* compiling/compiling.nit:43 */
124 CALL_compiling___icode_generator___Program___generate_icode_files(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
128 stack_frame_head
= fra
.me
.prev
;
131 void OC_compiling___Program___compile_prog_2(struct stack_frame_t
*closctx
, val_t p0
, val_t p1
){
132 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
134 /* compiling/compiling.nit:38 */
135 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
136 fra
.me
.file
= LOCATE_compiling
;
138 fra
.me
.meth
= LOCATE_compiling___Program___compile_prog
;
139 fra
.me
.has_broke
= 0;
141 fra
.me
.nitni_local_ref_head
= NULL
;
142 fra
.me
.REG
[0] = NIT_NULL
;
143 fra
.me
.REG
[1] = NIT_NULL
;
146 CALL_analysis___IRoutine___optimize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
147 stack_frame_head
= fra
.me
.prev
;
150 static const char LOCATE_compiling___Program___compile_prog_to_c
[] = "compiling::Program::compile_prog_to_c";
151 void compiling___Program___compile_prog_to_c(val_t p0
){
152 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
155 static val_t once_value_1
; /* Once value */
156 static val_t once_value_2
; /* Once value */
157 static val_t once_value_3
; /* Once value */
158 static val_t once_value_4
; /* Once value */
159 static val_t once_value_6
; /* Once value */
160 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
161 fra
.me
.file
= LOCATE_compiling
;
163 fra
.me
.meth
= LOCATE_compiling___Program___compile_prog_to_c
;
164 fra
.me
.has_broke
= 0;
166 fra
.me
.nitni_local_ref_head
= NULL
;
167 fra
.me
.REG
[0] = NIT_NULL
;
168 fra
.me
.REG
[1] = NIT_NULL
;
169 fra
.me
.REG
[2] = NIT_NULL
;
170 fra
.me
.REG
[3] = NIT_NULL
;
172 /* compiling/compiling.nit:53 */
173 fra
.me
.REG
[1] = NEW_CProgram_compiling___compiling_base___CProgram___init(fra
.me
.REG
[0]);
174 /* compiling/compiling.nit:55 */
175 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
176 CALL_standard___file___String___mkdir(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
177 /* compiling/compiling.nit:57 */
178 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
180 fra
.me
.REG
[3] = BOX_NativeString("$CLIBDIR/nit_main.c");
182 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
183 once_value_1
= fra
.me
.REG
[3];
184 register_static_object(&once_value_1
);
185 } else fra
.me
.REG
[3] = once_value_1
;
186 fra
.me
.REG
[3] = fra
.me
.REG
[3];
187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
188 /* compiling/compiling.nit:58 */
189 fra
.me
.REG
[3] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
191 fra
.me
.REG
[2] = BOX_NativeString("$CLIBDIR/gc.c");
193 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
194 once_value_2
= fra
.me
.REG
[2];
195 register_static_object(&once_value_2
);
196 } else fra
.me
.REG
[2] = once_value_2
;
197 fra
.me
.REG
[2] = fra
.me
.REG
[2];
198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
199 /* compiling/compiling.nit:59 */
200 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
202 fra
.me
.REG
[3] = BOX_NativeString("$CLIBDIR/gc_static_objects_list.c");
204 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
205 once_value_3
= fra
.me
.REG
[3];
206 register_static_object(&once_value_3
);
207 } else fra
.me
.REG
[3] = once_value_3
;
208 fra
.me
.REG
[3] = fra
.me
.REG
[3];
209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
210 /* compiling/compiling.nit:61 */
211 fra
.me
.REG
[3] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
213 fra
.me
.REG
[2] = BOX_NativeString("Generating C code");
215 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
216 once_value_4
= fra
.me
.REG
[2];
217 register_static_object(&once_value_4
);
218 } else fra
.me
.REG
[2] = once_value_4
;
219 fra
.me
.REG
[2] = fra
.me
.REG
[2];
221 CALL_toolcontext___ToolContext___info(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], REGB0
);
222 /* compiling/compiling.nit:62 */
223 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
224 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
225 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
226 if (UNTAG_Bool(REGB0
)) {
227 nit_abort("Reciever is null", NULL
, LOCATE_compiling
, 62);
229 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
230 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling___Program___compile_prog_to_c_5
));
231 /* compiling/compiling.nit:64 */
232 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
234 fra
.me
.REG
[3] = BOX_NativeString("Generating main, tables and makefile ...");
236 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
237 once_value_6
= fra
.me
.REG
[3];
238 register_static_object(&once_value_6
);
239 } else fra
.me
.REG
[3] = once_value_6
;
240 fra
.me
.REG
[3] = fra
.me
.REG
[3];
242 CALL_toolcontext___ToolContext___info(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], REGB0
);
243 /* compiling/compiling.nit:65 */
244 CALL_compiling___Program___compile_main(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
245 /* compiling/compiling.nit:67 */
246 CALL_compiling___compiling_base___CProgram___generate_build_file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
247 /* compiling/compiling.nit:69 */
248 fra
.me
.REG
[0] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
249 REGB0
= CALL_compiling___compiling_base___ToolContext___no_cc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
250 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
251 if (UNTAG_Bool(REGB0
)) {
252 CALL_compiling___compiling_base___CProgram___run_c_compiler(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
254 stack_frame_head
= fra
.me
.prev
;
257 void OC_compiling___Program___compile_prog_to_c_5(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
258 struct {struct stack_frame_t me
;} fra
;
261 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
262 fra
.me
.file
= LOCATE_compiling
;
264 fra
.me
.meth
= LOCATE_compiling___Program___compile_prog_to_c
;
265 fra
.me
.has_broke
= 0;
267 fra
.me
.nitni_local_ref_head
= NULL
;
268 fra
.me
.REG
[0] = NIT_NULL
;
269 fra
.me
.closure_ctx
= closctx_param
;
270 fra
.me
.closure_funs
= CREG
;
273 CALL_compiling___MMModule___compile_separate_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
274 stack_frame_head
= fra
.me
.prev
;
277 static const char LOCATE_compiling___Program___compile_main
[] = "compiling::Program::compile_main";
278 void compiling___Program___compile_main(val_t p0
, val_t p1
){
279 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
282 static val_t once_value_1
; /* Once value */
283 static val_t once_value_2
; /* Once value */
284 static val_t once_value_3
; /* Once value */
285 static val_t once_value_4
; /* Once value */
286 static val_t once_value_5
; /* Once value */
287 static val_t once_value_6
; /* Once value */
288 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
289 fra
.me
.file
= LOCATE_compiling
;
291 fra
.me
.meth
= LOCATE_compiling___Program___compile_main
;
292 fra
.me
.has_broke
= 0;
294 fra
.me
.nitni_local_ref_head
= NULL
;
295 fra
.me
.REG
[0] = NIT_NULL
;
296 fra
.me
.REG
[1] = NIT_NULL
;
297 fra
.me
.REG
[2] = NIT_NULL
;
298 fra
.me
.REG
[3] = NIT_NULL
;
299 fra
.me
.REG
[4] = NIT_NULL
;
300 fra
.me
.REG
[5] = NIT_NULL
;
303 /* compiling/compiling.nit:75 */
304 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
305 fra
.me
.REG
[2] = NEW_CompilerVisitor_compiling___compiling_base___CompilerVisitor___init(fra
.me
.REG
[2], fra
.me
.REG
[1]);
306 /* compiling/compiling.nit:76 */
308 fra
.me
.REG
[3] = BOX_NativeString("#include <nit_common.h>");
310 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
311 once_value_1
= fra
.me
.REG
[3];
312 register_static_object(&once_value_1
);
313 } else fra
.me
.REG
[3] = once_value_1
;
314 fra
.me
.REG
[3] = fra
.me
.REG
[3];
315 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
316 /* compiling/compiling.nit:77 */
317 CALL_compiling___compiling_global___Program___compile_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
318 /* compiling/compiling.nit:78 */
319 CALL_compiling___compiling_global___Program___compile_main_part(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
320 /* compiling/compiling.nit:79 */
322 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
324 fra
.me
.REG
[4] = BOX_NativeString("");
326 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
327 once_value_2
= fra
.me
.REG
[4];
328 register_static_object(&once_value_2
);
329 } else fra
.me
.REG
[4] = once_value_2
;
330 fra
.me
.REG
[4] = fra
.me
.REG
[4];
331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
332 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
335 fra
.me
.REG
[4] = BOX_NativeString("/");
337 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
338 once_value_3
= fra
.me
.REG
[4];
339 register_static_object(&once_value_3
);
340 } else fra
.me
.REG
[4] = once_value_3
;
341 fra
.me
.REG
[4] = fra
.me
.REG
[4];
342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
343 fra
.me
.REG
[4] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
344 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
347 fra
.me
.REG
[4] = BOX_NativeString("._tables.c");
349 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
350 once_value_4
= fra
.me
.REG
[4];
351 register_static_object(&once_value_4
);
352 } else fra
.me
.REG
[4] = once_value_4
;
353 fra
.me
.REG
[4] = fra
.me
.REG
[4];
354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
355 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
356 /* compiling/compiling.nit:80 */
357 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
358 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
359 /* compiling/compiling.nit:81 */
360 fra
.me
.REG
[3] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[3]);
361 /* compiling/compiling.nit:82 */
363 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
365 fra
.me
.REG
[5] = BOX_NativeString("/* This C file is generated by NIT to compile program ");
367 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
368 once_value_5
= fra
.me
.REG
[5];
369 register_static_object(&once_value_5
);
370 } else fra
.me
.REG
[5] = once_value_5
;
371 fra
.me
.REG
[5] = fra
.me
.REG
[5];
372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
373 fra
.me
.REG
[5] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
374 fra
.me
.REG
[5] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
375 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
377 fra
.me
.REG
[5] = BOX_NativeString(". */\n");
379 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
380 once_value_6
= fra
.me
.REG
[5];
381 register_static_object(&once_value_6
);
382 } else fra
.me
.REG
[5] = once_value_6
;
383 fra
.me
.REG
[5] = fra
.me
.REG
[5];
384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
385 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
386 CALL_standard___stream___OStream___write(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
387 /* compiling/compiling.nit:83 */
388 fra
.me
.REG
[0] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
389 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
390 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
391 if (UNTAG_Bool(REGB0
)) {
392 nit_abort("Reciever is null", NULL
, LOCATE_compiling
, 83);
394 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
395 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_compiling___Program___compile_main_7
));
396 /* compiling/compiling.nit:86 */
397 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
398 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
399 /* compiling/compiling.nit:87 */
400 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
401 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
402 /* compiling/compiling.nit:88 */
403 CALL_standard___stream___IOS___close(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
404 stack_frame_head
= fra
.me
.prev
;
407 void OC_compiling___Program___compile_main_7(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
408 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
412 static val_t once_value_8
; /* Once value */
413 static val_t once_value_9
; /* Once value */
414 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
415 fra
.me
.file
= LOCATE_compiling
;
417 fra
.me
.meth
= LOCATE_compiling___Program___compile_main
;
418 fra
.me
.has_broke
= 0;
420 fra
.me
.nitni_local_ref_head
= NULL
;
421 fra
.me
.REG
[0] = NIT_NULL
;
422 fra
.me
.REG
[1] = NIT_NULL
;
423 fra
.me
.REG
[2] = NIT_NULL
;
424 fra
.me
.closure_ctx
= closctx_param
;
425 fra
.me
.closure_funs
= CREG
;
428 /* compiling/compiling.nit:84 */
430 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
432 fra
.me
.REG
[2] = BOX_NativeString("#include \"");
434 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
435 once_value_8
= fra
.me
.REG
[2];
436 register_static_object(&once_value_8
);
437 } else fra
.me
.REG
[2] = once_value_8
;
438 fra
.me
.REG
[2] = fra
.me
.REG
[2];
439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
440 fra
.me
.REG
[0] = CALL_compiling___compiling_base___CProgram___module_header_name(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
443 fra
.me
.REG
[0] = BOX_NativeString("\"\n");
445 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
446 once_value_9
= fra
.me
.REG
[0];
447 register_static_object(&once_value_9
);
448 } else fra
.me
.REG
[0] = once_value_9
;
449 fra
.me
.REG
[0] = fra
.me
.REG
[0];
450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
451 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
452 CALL_standard___stream___OStream___write(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
453 stack_frame_head
= fra
.me
.prev
;
456 static const char LOCATE_compiling___MMModule___compile_separate_module
[] = "compiling::MMModule::compile_separate_module";
457 void compiling___MMModule___compile_separate_module(val_t p0
, val_t p1
){
458 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
463 static val_t once_value_1
; /* Once value */
464 static val_t once_value_2
; /* Once value */
465 static val_t once_value_3
; /* Once value */
466 static val_t once_value_4
; /* Once value */
467 static val_t once_value_5
; /* Once value */
468 static val_t once_value_6
; /* Once value */
469 static val_t once_value_7
; /* Once value */
470 static val_t once_value_8
; /* Once value */
471 static val_t once_value_9
; /* Once value */
472 static val_t once_value_10
; /* Once value */
473 static val_t once_value_11
; /* Once value */
474 static val_t once_value_12
; /* Once value */
475 static val_t once_value_13
; /* Once value */
476 static val_t once_value_14
; /* Once value */
477 static val_t once_value_15
; /* Once value */
478 static val_t once_value_16
; /* Once value */
479 static val_t once_value_17
; /* Once value */
480 static val_t once_value_18
; /* Once value */
481 static val_t once_value_19
; /* Once value */
482 static val_t once_value_20
; /* Once value */
483 static val_t once_value_21
; /* Once value */
484 static val_t once_value_22
; /* Once value */
485 static val_t once_value_23
; /* Once value */
486 static val_t once_value_24
; /* Once value */
487 static val_t once_value_25
; /* Once value */
488 static val_t once_value_26
; /* Once value */
489 static val_t once_value_27
; /* Once value */
490 static val_t once_value_28
; /* Once value */
491 static val_t once_value_29
; /* Once value */
492 static val_t once_value_30
; /* Once value */
493 static val_t once_value_31
; /* Once value */
494 static val_t once_value_32
; /* Once value */
495 static val_t once_value_33
; /* Once value */
496 static val_t once_value_34
; /* Once value */
497 static val_t once_value_35
; /* Once value */
498 static val_t once_value_36
; /* Once value */
499 static val_t once_value_37
; /* Once value */
500 static val_t once_value_39
; /* Once value */
501 static val_t once_value_40
; /* Once value */
502 static val_t once_value_41
; /* Once value */
503 static val_t once_value_42
; /* Once value */
504 static val_t once_value_43
; /* Once value */
505 static val_t once_value_44
; /* Once value */
506 static val_t once_value_45
; /* Once value */
507 static val_t once_value_46
; /* Once value */
508 static val_t once_value_47
; /* Once value */
509 static val_t once_value_48
; /* Once value */
510 static val_t once_value_49
; /* Once value */
511 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
512 fra
.me
.file
= LOCATE_compiling
;
514 fra
.me
.meth
= LOCATE_compiling___MMModule___compile_separate_module
;
515 fra
.me
.has_broke
= 0;
516 fra
.me
.REG_size
= 10;
517 fra
.me
.nitni_local_ref_head
= NULL
;
518 fra
.me
.REG
[0] = NIT_NULL
;
519 fra
.me
.REG
[1] = NIT_NULL
;
520 fra
.me
.REG
[2] = NIT_NULL
;
521 fra
.me
.REG
[3] = NIT_NULL
;
522 fra
.me
.REG
[4] = NIT_NULL
;
523 fra
.me
.REG
[5] = NIT_NULL
;
524 fra
.me
.REG
[6] = NIT_NULL
;
525 fra
.me
.REG
[7] = NIT_NULL
;
526 fra
.me
.REG
[8] = NIT_NULL
;
527 fra
.me
.REG
[9] = NIT_NULL
;
530 /* compiling/compiling.nit:96 */
531 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CProgram___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
532 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
533 /* compiling/compiling.nit:97 */
535 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
537 fra
.me
.REG
[4] = BOX_NativeString("Generating C code for module: ");
539 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
540 once_value_1
= fra
.me
.REG
[4];
541 register_static_object(&once_value_1
);
542 } else fra
.me
.REG
[4] = once_value_1
;
543 fra
.me
.REG
[4] = fra
.me
.REG
[4];
544 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
545 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
546 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
549 fra
.me
.REG
[4] = BOX_NativeString("");
551 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
552 once_value_2
= fra
.me
.REG
[4];
553 register_static_object(&once_value_2
);
554 } else fra
.me
.REG
[4] = once_value_2
;
555 fra
.me
.REG
[4] = fra
.me
.REG
[4];
556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
557 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
559 CALL_toolcontext___ToolContext___info(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], REGB0
);
560 /* compiling/compiling.nit:98 */
561 fra
.me
.REG
[3] = NEW_CompilerVisitor_compiling___compiling_base___CompilerVisitor___init(fra
.me
.REG
[0], fra
.me
.REG
[1]);
562 /* compiling/compiling.nit:99 */
564 fra
.me
.REG
[2] = BOX_NativeString("#include <nit_common.h>");
566 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
567 once_value_3
= fra
.me
.REG
[2];
568 register_static_object(&once_value_3
);
569 } else fra
.me
.REG
[2] = once_value_3
;
570 fra
.me
.REG
[2] = fra
.me
.REG
[2];
571 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
572 /* compiling/compiling.nit:101 */
573 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
574 if (UNTAG_Bool(REGB0
)) {
575 /* compiling/compiling.nit:104 */
577 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
579 fra
.me
.REG
[4] = BOX_NativeString("");
581 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
582 once_value_4
= fra
.me
.REG
[4];
583 register_static_object(&once_value_4
);
584 } else fra
.me
.REG
[4] = once_value_4
;
585 fra
.me
.REG
[4] = fra
.me
.REG
[4];
586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
587 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
588 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
591 fra
.me
.REG
[4] = BOX_NativeString("._nitni.h");
593 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
594 once_value_5
= fra
.me
.REG
[4];
595 register_static_object(&once_value_5
);
596 } else fra
.me
.REG
[4] = once_value_5
;
597 fra
.me
.REG
[4] = fra
.me
.REG
[4];
598 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
599 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
600 /* compiling/compiling.nit:105 */
602 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
604 fra
.me
.REG
[5] = BOX_NativeString("#include \"");
606 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
607 once_value_6
= fra
.me
.REG
[5];
608 register_static_object(&once_value_6
);
609 } else fra
.me
.REG
[5] = once_value_6
;
610 fra
.me
.REG
[5] = fra
.me
.REG
[5];
611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
612 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
614 fra
.me
.REG
[2] = BOX_NativeString("\"");
616 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
617 once_value_7
= fra
.me
.REG
[2];
618 register_static_object(&once_value_7
);
619 } else fra
.me
.REG
[2] = once_value_7
;
620 fra
.me
.REG
[2] = fra
.me
.REG
[2];
621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
622 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
623 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
624 /* compiling/compiling.nit:106 */
626 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
628 fra
.me
.REG
[2] = BOX_NativeString("");
630 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
631 once_value_8
= fra
.me
.REG
[2];
632 register_static_object(&once_value_8
);
633 } else fra
.me
.REG
[2] = once_value_8
;
634 fra
.me
.REG
[2] = fra
.me
.REG
[2];
635 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
636 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
637 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
640 fra
.me
.REG
[2] = BOX_NativeString("._nitni.c");
642 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
643 once_value_9
= fra
.me
.REG
[2];
644 register_static_object(&once_value_9
);
645 } else fra
.me
.REG
[2] = once_value_9
;
646 fra
.me
.REG
[2] = fra
.me
.REG
[2];
647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
648 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
649 /* compiling/compiling.nit:107 */
650 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
652 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
653 if (!once_value_10
) {
654 fra
.me
.REG
[6] = BOX_NativeString("");
656 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
657 once_value_10
= fra
.me
.REG
[6];
658 register_static_object(&once_value_10
);
659 } else fra
.me
.REG
[6] = once_value_10
;
660 fra
.me
.REG
[6] = fra
.me
.REG
[6];
661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
662 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
663 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
664 if (!once_value_11
) {
665 fra
.me
.REG
[6] = BOX_NativeString("/");
667 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
668 once_value_11
= fra
.me
.REG
[6];
669 register_static_object(&once_value_11
);
670 } else fra
.me
.REG
[6] = once_value_11
;
671 fra
.me
.REG
[6] = fra
.me
.REG
[6];
672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
673 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
674 if (!once_value_12
) {
675 fra
.me
.REG
[4] = BOX_NativeString("");
677 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
678 once_value_12
= fra
.me
.REG
[4];
679 register_static_object(&once_value_12
);
680 } else fra
.me
.REG
[4] = once_value_12
;
681 fra
.me
.REG
[4] = fra
.me
.REG
[4];
682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
683 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
685 /* compiling/compiling.nit:110 */
686 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMModule___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
687 fra
.me
.REG
[5] = CALL_location___Location___file(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
688 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
689 if (UNTAG_Bool(REGB0
)) {
690 nit_abort("Reciever is null", NULL
, LOCATE_compiling
, 110);
692 fra
.me
.REG
[5] = CALL_location___SourceFile___filename(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
693 if (!once_value_13
) {
694 fra
.me
.REG
[2] = BOX_NativeString(".nit");
696 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
697 once_value_13
= fra
.me
.REG
[2];
698 register_static_object(&once_value_13
);
699 } else fra
.me
.REG
[2] = once_value_13
;
700 fra
.me
.REG
[2] = fra
.me
.REG
[2];
701 fra
.me
.REG
[2] = CALL_standard___file___String___strip_extension(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
702 /* compiling/compiling.nit:111 */
703 if (!once_value_14
) {
704 fra
.me
.REG
[5] = BOX_NativeString(".nit.c");
706 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
707 once_value_14
= fra
.me
.REG
[5];
708 register_static_object(&once_value_14
);
709 } else fra
.me
.REG
[5] = once_value_14
;
710 fra
.me
.REG
[5] = fra
.me
.REG
[5];
711 fra
.me
.REG
[5] = CALL_standard___string___String_____plus(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
712 /* compiling/compiling.nit:112 */
713 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
714 if (UNTAG_Bool(REGB0
)) {
715 /* compiling/compiling.nit:113 */
716 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
719 /* compiling/compiling.nit:115 */
720 if (!once_value_15
) {
721 fra
.me
.REG
[4] = BOX_NativeString("_nit.c");
723 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
724 once_value_15
= fra
.me
.REG
[4];
725 register_static_object(&once_value_15
);
726 } else fra
.me
.REG
[4] = once_value_15
;
727 fra
.me
.REG
[4] = fra
.me
.REG
[4];
728 fra
.me
.REG
[4] = CALL_standard___string___String_____plus(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
729 fra
.me
.REG
[5] = fra
.me
.REG
[4];
730 /* compiling/compiling.nit:116 */
731 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
732 if (UNTAG_Bool(REGB0
)) {
733 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
737 /* compiling/compiling.nit:118 */
738 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___uses_ffi(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
739 if (UNTAG_Bool(REGB0
)) {
740 /* compiling/compiling.nit:119 */
742 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
743 if (!once_value_16
) {
744 fra
.me
.REG
[4] = BOX_NativeString("");
746 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
747 once_value_16
= fra
.me
.REG
[4];
748 register_static_object(&once_value_16
);
749 } else fra
.me
.REG
[4] = once_value_16
;
750 fra
.me
.REG
[4] = fra
.me
.REG
[4];
751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
752 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
753 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
754 if (!once_value_17
) {
755 fra
.me
.REG
[4] = BOX_NativeString("._ffi.h");
757 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
758 once_value_17
= fra
.me
.REG
[4];
759 register_static_object(&once_value_17
);
760 } else fra
.me
.REG
[4] = once_value_17
;
761 fra
.me
.REG
[4] = fra
.me
.REG
[4];
762 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
763 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
764 /* compiling/compiling.nit:120 */
766 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
767 if (!once_value_18
) {
768 fra
.me
.REG
[2] = BOX_NativeString("#include \"");
770 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
771 once_value_18
= fra
.me
.REG
[2];
772 register_static_object(&once_value_18
);
773 } else fra
.me
.REG
[2] = once_value_18
;
774 fra
.me
.REG
[2] = fra
.me
.REG
[2];
775 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
777 if (!once_value_19
) {
778 fra
.me
.REG
[5] = BOX_NativeString("\"");
780 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
781 once_value_19
= fra
.me
.REG
[5];
782 register_static_object(&once_value_19
);
783 } else fra
.me
.REG
[5] = once_value_19
;
784 fra
.me
.REG
[5] = fra
.me
.REG
[5];
785 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
786 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
787 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
788 /* compiling/compiling.nit:121 */
790 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
791 if (!once_value_20
) {
792 fra
.me
.REG
[5] = BOX_NativeString("");
794 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
795 once_value_20
= fra
.me
.REG
[5];
796 register_static_object(&once_value_20
);
797 } else fra
.me
.REG
[5] = once_value_20
;
798 fra
.me
.REG
[5] = fra
.me
.REG
[5];
799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
800 fra
.me
.REG
[5] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
802 if (!once_value_21
) {
803 fra
.me
.REG
[5] = BOX_NativeString("._ffi.c");
805 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
806 once_value_21
= fra
.me
.REG
[5];
807 register_static_object(&once_value_21
);
808 } else fra
.me
.REG
[5] = once_value_21
;
809 fra
.me
.REG
[5] = fra
.me
.REG
[5];
810 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
811 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
812 /* compiling/compiling.nit:122 */
813 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
815 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
816 if (!once_value_22
) {
817 fra
.me
.REG
[6] = BOX_NativeString("");
819 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
820 once_value_22
= fra
.me
.REG
[6];
821 register_static_object(&once_value_22
);
822 } else fra
.me
.REG
[6] = once_value_22
;
823 fra
.me
.REG
[6] = fra
.me
.REG
[6];
824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
825 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
827 if (!once_value_23
) {
828 fra
.me
.REG
[6] = BOX_NativeString("/");
830 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
831 once_value_23
= fra
.me
.REG
[6];
832 register_static_object(&once_value_23
);
833 } else fra
.me
.REG
[6] = once_value_23
;
834 fra
.me
.REG
[6] = fra
.me
.REG
[6];
835 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
837 if (!once_value_24
) {
838 fra
.me
.REG
[4] = BOX_NativeString("");
840 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
841 once_value_24
= fra
.me
.REG
[4];
842 register_static_object(&once_value_24
);
843 } else fra
.me
.REG
[4] = once_value_24
;
844 fra
.me
.REG
[4] = fra
.me
.REG
[4];
845 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
846 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
850 /* compiling/compiling.nit:126 */
851 CALL_compiling___compiling_global___MMModule___declare_class_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
852 /* compiling/compiling.nit:127 */
853 CALL_compiling___compiling_global___MMModule___compile_mod_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
854 /* compiling/compiling.nit:129 */
855 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CProgram___module_header_name(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
856 /* compiling/compiling.nit:130 */
858 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
859 if (!once_value_25
) {
860 fra
.me
.REG
[4] = BOX_NativeString("");
862 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
863 once_value_25
= fra
.me
.REG
[4];
864 register_static_object(&once_value_25
);
865 } else fra
.me
.REG
[4] = once_value_25
;
866 fra
.me
.REG
[4] = fra
.me
.REG
[4];
867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
868 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
870 if (!once_value_26
) {
871 fra
.me
.REG
[4] = BOX_NativeString("/");
873 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
874 once_value_26
= fra
.me
.REG
[4];
875 register_static_object(&once_value_26
);
876 } else fra
.me
.REG
[4] = once_value_26
;
877 fra
.me
.REG
[4] = fra
.me
.REG
[4];
878 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
880 if (!once_value_27
) {
881 fra
.me
.REG
[4] = BOX_NativeString("");
883 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
884 once_value_27
= fra
.me
.REG
[4];
885 register_static_object(&once_value_27
);
886 } else fra
.me
.REG
[4] = once_value_27
;
887 fra
.me
.REG
[4] = fra
.me
.REG
[4];
888 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
889 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
890 fra
.me
.REG
[5] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[5]);
891 /* compiling/compiling.nit:131 */
893 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
894 if (!once_value_28
) {
895 fra
.me
.REG
[6] = BOX_NativeString("/* This C header file is generated by NIT to compile modules and programs that requires ");
897 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
898 once_value_28
= fra
.me
.REG
[6];
899 register_static_object(&once_value_28
);
900 } else fra
.me
.REG
[6] = once_value_28
;
901 fra
.me
.REG
[6] = fra
.me
.REG
[6];
902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
903 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMModule___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
904 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
906 if (!once_value_29
) {
907 fra
.me
.REG
[6] = BOX_NativeString(". */\n");
909 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
910 once_value_29
= fra
.me
.REG
[6];
911 register_static_object(&once_value_29
);
912 } else fra
.me
.REG
[6] = once_value_29
;
913 fra
.me
.REG
[6] = fra
.me
.REG
[6];
914 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
915 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
916 CALL_standard___stream___OStream___write(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
917 /* compiling/compiling.nit:132 */
919 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
920 if (!once_value_30
) {
921 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
923 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
924 once_value_30
= fra
.me
.REG
[6];
925 register_static_object(&once_value_30
);
926 } else fra
.me
.REG
[6] = once_value_30
;
927 fra
.me
.REG
[6] = fra
.me
.REG
[6];
928 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
929 fra
.me
.REG
[6] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
930 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
931 if (!once_value_31
) {
932 fra
.me
.REG
[6] = BOX_NativeString("");
934 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
935 once_value_31
= fra
.me
.REG
[6];
936 register_static_object(&once_value_31
);
937 } else fra
.me
.REG
[6] = once_value_31
;
938 fra
.me
.REG
[6] = fra
.me
.REG
[6];
939 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
940 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CProgram___get_file_ending(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
942 if (!once_value_32
) {
943 fra
.me
.REG
[6] = BOX_NativeString("\n");
945 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
946 once_value_32
= fra
.me
.REG
[6];
947 register_static_object(&once_value_32
);
948 } else fra
.me
.REG
[6] = once_value_32
;
949 fra
.me
.REG
[6] = fra
.me
.REG
[6];
950 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
951 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
952 CALL_standard___stream___OStream___write(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
953 /* compiling/compiling.nit:133 */
955 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
956 if (!once_value_33
) {
957 fra
.me
.REG
[6] = BOX_NativeString("#define ");
959 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
960 once_value_33
= fra
.me
.REG
[6];
961 register_static_object(&once_value_33
);
962 } else fra
.me
.REG
[6] = once_value_33
;
963 fra
.me
.REG
[6] = fra
.me
.REG
[6];
964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
965 fra
.me
.REG
[6] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
967 if (!once_value_34
) {
968 fra
.me
.REG
[6] = BOX_NativeString("");
970 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
971 once_value_34
= fra
.me
.REG
[6];
972 register_static_object(&once_value_34
);
973 } else fra
.me
.REG
[6] = once_value_34
;
974 fra
.me
.REG
[6] = fra
.me
.REG
[6];
975 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
976 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CProgram___get_file_ending(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
978 if (!once_value_35
) {
979 fra
.me
.REG
[6] = BOX_NativeString("\n");
981 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
982 once_value_35
= fra
.me
.REG
[6];
983 register_static_object(&once_value_35
);
984 } else fra
.me
.REG
[6] = once_value_35
;
985 fra
.me
.REG
[6] = fra
.me
.REG
[6];
986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
987 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
988 CALL_standard___stream___OStream___write(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
989 /* compiling/compiling.nit:134 */
990 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
991 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
992 if (UNTAG_Bool(REGB0
)) {
993 nit_abort("Reciever is null", NULL
, LOCATE_compiling
, 134);
995 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
996 /* ../lib/standard/collection/array.nit:269 */
998 /* ../lib/standard/collection/array.nit:270 */
999 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1000 if (UNTAG_Bool(REGB1
)) {
1002 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1004 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1005 /* ../lib/standard/collection/array.nit:271 */
1006 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1007 /* ../lib/standard/collection/array.nit:272 */
1009 /* ../lib/standard/collection/array.nit:24 */
1010 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1011 if (UNTAG_Bool(REGB1
)) {
1013 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1015 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1016 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1017 if (UNTAG_Bool(REGB2
)) {
1019 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1021 /* ../lib/standard/kernel.nit:235 */
1022 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1023 /* ../lib/standard/collection/array.nit:272 */
1024 if (UNTAG_Bool(REGB1
)) {
1025 /* ../lib/standard/collection/array.nit:273 */
1026 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1027 if (UNTAG_Bool(REGB1
)) {
1028 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1030 /* ../lib/standard/collection/array.nit:718 */
1031 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
1032 /* compiling/compiling.nit:134 */
1034 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1035 if (!once_value_36
) {
1036 fra
.me
.REG
[9] = BOX_NativeString("#include \"");
1037 REGB1
= TAG_Int(10);
1038 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
1039 once_value_36
= fra
.me
.REG
[9];
1040 register_static_object(&once_value_36
);
1041 } else fra
.me
.REG
[9] = once_value_36
;
1042 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1043 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
1044 fra
.me
.REG
[7] = CALL_compiling___compiling_base___CProgram___module_header_name(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
1045 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1046 if (!once_value_37
) {
1047 fra
.me
.REG
[7] = BOX_NativeString("\"\n");
1049 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
1050 once_value_37
= fra
.me
.REG
[7];
1051 register_static_object(&once_value_37
);
1052 } else fra
.me
.REG
[7] = once_value_37
;
1053 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1055 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1056 CALL_standard___stream___OStream___write(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1057 /* ../lib/standard/collection/array.nit:274 */
1059 /* ../lib/standard/kernel.nit:238 */
1060 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1061 /* ../lib/standard/collection/array.nit:274 */
1064 /* ../lib/standard/collection/array.nit:272 */
1069 /* compiling/compiling.nit:135 */
1070 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1071 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1072 /* compiling/compiling.nit:136 */
1073 if (!once_value_39
) {
1074 fra
.me
.REG
[6] = BOX_NativeString("#endif\n");
1076 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1077 once_value_39
= fra
.me
.REG
[6];
1078 register_static_object(&once_value_39
);
1079 } else fra
.me
.REG
[6] = once_value_39
;
1080 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1081 CALL_standard___stream___OStream___write(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1082 /* compiling/compiling.nit:137 */
1083 CALL_standard___stream___IOS___close(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1084 /* compiling/compiling.nit:139 */
1086 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1087 if (!once_value_40
) {
1088 fra
.me
.REG
[4] = BOX_NativeString("");
1090 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1091 once_value_40
= fra
.me
.REG
[4];
1092 register_static_object(&once_value_40
);
1093 } else fra
.me
.REG
[4] = once_value_40
;
1094 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1095 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1096 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1098 if (!once_value_41
) {
1099 fra
.me
.REG
[4] = BOX_NativeString("/");
1101 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1102 once_value_41
= fra
.me
.REG
[4];
1103 register_static_object(&once_value_41
);
1104 } else fra
.me
.REG
[4] = once_value_41
;
1105 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1107 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1108 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1109 if (!once_value_42
) {
1110 fra
.me
.REG
[4] = BOX_NativeString(".");
1112 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1113 once_value_42
= fra
.me
.REG
[4];
1114 register_static_object(&once_value_42
);
1115 } else fra
.me
.REG
[4] = once_value_42
;
1116 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1117 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1118 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___get_file_ending(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1120 if (!once_value_43
) {
1121 fra
.me
.REG
[4] = BOX_NativeString(".c");
1123 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1124 once_value_43
= fra
.me
.REG
[4];
1125 register_static_object(&once_value_43
);
1126 } else fra
.me
.REG
[4] = once_value_43
;
1127 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1128 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1129 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1130 /* compiling/compiling.nit:140 */
1131 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1133 /* compiling/compiling.nit:141 */
1135 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1136 if (!once_value_44
) {
1137 fra
.me
.REG
[4] = BOX_NativeString("");
1139 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1140 once_value_44
= fra
.me
.REG
[4];
1141 register_static_object(&once_value_44
);
1142 } else fra
.me
.REG
[4] = once_value_44
;
1143 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1145 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1146 if (!once_value_45
) {
1147 fra
.me
.REG
[6] = BOX_NativeString("");
1149 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1150 once_value_45
= fra
.me
.REG
[6];
1151 register_static_object(&once_value_45
);
1152 } else fra
.me
.REG
[6] = once_value_45
;
1153 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1155 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1156 fra
.me
.REG
[1] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[1]);
1157 fra
.me
.REG
[5] = fra
.me
.REG
[1];
1158 /* compiling/compiling.nit:142 */
1160 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1161 if (!once_value_46
) {
1162 fra
.me
.REG
[6] = BOX_NativeString("/* This C file is generated by NIT to compile module ");
1163 REGB0
= TAG_Int(53);
1164 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1165 once_value_46
= fra
.me
.REG
[6];
1166 register_static_object(&once_value_46
);
1167 } else fra
.me
.REG
[6] = once_value_46
;
1168 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1170 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1172 if (!once_value_47
) {
1173 fra
.me
.REG
[0] = BOX_NativeString(". */\n");
1175 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1176 once_value_47
= fra
.me
.REG
[0];
1177 register_static_object(&once_value_47
);
1178 } else fra
.me
.REG
[0] = once_value_47
;
1179 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1180 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1181 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1182 CALL_standard___stream___OStream___write(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
1183 /* compiling/compiling.nit:143 */
1185 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1186 if (!once_value_48
) {
1187 fra
.me
.REG
[0] = BOX_NativeString("#include \"");
1188 REGB0
= TAG_Int(10);
1189 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1190 once_value_48
= fra
.me
.REG
[0];
1191 register_static_object(&once_value_48
);
1192 } else fra
.me
.REG
[0] = once_value_48
;
1193 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1194 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1196 if (!once_value_49
) {
1197 fra
.me
.REG
[2] = BOX_NativeString("\"\n");
1199 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1200 once_value_49
= fra
.me
.REG
[2];
1201 register_static_object(&once_value_49
);
1202 } else fra
.me
.REG
[2] = once_value_49
;
1203 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1205 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1206 CALL_standard___stream___OStream___write(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
1207 /* compiling/compiling.nit:144 */
1208 fra
.me
.REG
[3] = CALL_compiling___compiling_base___CompilerVisitor___top_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1209 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1210 /* compiling/compiling.nit:145 */
1211 CALL_standard___stream___IOS___close(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1212 stack_frame_head
= fra
.me
.prev
;