1 /* This C file is generated by NIT to compile module compiling. */
2 #include "compiling._sep.h"
3 val_t
compiling___Program___output_format(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_compiling
;
10 fra
.me
.meth
= LOCATE_compiling___Program___output_format
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ./compiling//compiling.nit:27 */
16 REGB0
= TAG_Bool(ATTR_compiling___Program____output_format(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "_output_format", LOCATE_compiling
, 27);
21 fra
.me
.REG
[0] = ATTR_compiling___Program____output_format(fra
.me
.REG
[0]);
22 stack_frame_head
= fra
.me
.prev
;
25 void compiling___Program___output_format__eq(val_t p0
, val_t p1
){
26 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
28 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
29 fra
.me
.file
= LOCATE_compiling
;
31 fra
.me
.meth
= LOCATE_compiling___Program___output_format__eq
;
34 fra
.me
.REG
[0] = NIT_NULL
;
35 fra
.me
.REG
[1] = NIT_NULL
;
38 /* ./compiling//compiling.nit:27 */
39 ATTR_compiling___Program____output_format(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
40 stack_frame_head
= fra
.me
.prev
;
43 void compiling___Program___compile_prog(val_t p0
){
44 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
48 static val_t once_value_1
; /* Once value */
49 static val_t once_value_3
; /* Once value */
50 static val_t once_value_4
; /* Once value */
51 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
52 fra
.me
.file
= LOCATE_compiling
;
54 fra
.me
.meth
= LOCATE_compiling___Program___compile_prog
;
57 fra
.me
.REG
[0] = NIT_NULL
;
58 fra
.me
.REG
[1] = NIT_NULL
;
59 fra
.me
.REG
[2] = NIT_NULL
;
61 /* ./compiling//compiling.nit:33 */
62 fra
.me
.REG
[1] = CALL_compiling___Program___output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
64 fra
.me
.REG
[2] = BOX_NativeString("none");
66 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
67 once_value_1
= fra
.me
.REG
[2];
68 register_static_object(&once_value_1
);
69 } else fra
.me
.REG
[2] = once_value_1
;
70 fra
.me
.REG
[2] = fra
.me
.REG
[2];
71 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
72 if (UNTAG_Bool(REGB0
)) {
74 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
77 if (UNTAG_Bool(REGB0
)) {
79 CALL_program___Program___with_each_iroutines(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_compiling___Program___compile_prog_2
));
80 /* ./compiling//compiling.nit:39 */
81 fra
.me
.REG
[2] = CALL_compiling___Program___output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
83 fra
.me
.REG
[1] = BOX_NativeString("C");
85 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
86 once_value_3
= fra
.me
.REG
[1];
87 register_static_object(&once_value_3
);
88 } else fra
.me
.REG
[1] = once_value_3
;
89 fra
.me
.REG
[1] = fra
.me
.REG
[1];
90 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
91 if (UNTAG_Bool(REGB0
)) {
93 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
96 if (UNTAG_Bool(REGB0
)) {
97 /* ./compiling//compiling.nit:40 */
98 CALL_compiling___Program___compile_prog_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
100 /* ./compiling//compiling.nit:41 */
101 fra
.me
.REG
[1] = CALL_compiling___Program___output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
103 fra
.me
.REG
[2] = BOX_NativeString("icode");
105 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
106 once_value_4
= fra
.me
.REG
[2];
107 register_static_object(&once_value_4
);
108 } else fra
.me
.REG
[2] = once_value_4
;
109 fra
.me
.REG
[2] = fra
.me
.REG
[2];
110 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
111 if (UNTAG_Bool(REGB0
)) {
113 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
116 if (UNTAG_Bool(REGB0
)) {
117 /* ./compiling//compiling.nit:42 */
118 CALL_icode_generator___Program___generate_icode_files(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
122 stack_frame_head
= fra
.me
.prev
;
125 void OC_compiling___Program___compile_prog_2(struct stack_frame_t
*closctx
, val_t p0
, val_t p1
){
126 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
128 /* ./compiling//compiling.nit:37 */
129 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
130 fra
.me
.file
= LOCATE_compiling
;
132 fra
.me
.meth
= LOCATE_compiling___Program___compile_prog
;
133 fra
.me
.has_broke
= 0;
135 fra
.me
.REG
[0] = NIT_NULL
;
136 fra
.me
.REG
[1] = NIT_NULL
;
139 CALL_analysis___IRoutine___optimize(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
140 stack_frame_head
= fra
.me
.prev
;
143 void compiling___Program___compile_prog_to_c(val_t p0
){
144 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
147 static val_t once_value_1
; /* Once value */
148 static val_t once_value_2
; /* Once value */
149 static val_t once_value_3
; /* Once value */
150 static val_t once_value_4
; /* Once value */
151 static val_t once_value_6
; /* Once value */
152 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
153 fra
.me
.file
= LOCATE_compiling
;
155 fra
.me
.meth
= LOCATE_compiling___Program___compile_prog_to_c
;
156 fra
.me
.has_broke
= 0;
158 fra
.me
.REG
[0] = NIT_NULL
;
159 fra
.me
.REG
[1] = NIT_NULL
;
160 fra
.me
.REG
[2] = NIT_NULL
;
161 fra
.me
.REG
[3] = NIT_NULL
;
163 /* ./compiling//compiling.nit:52 */
164 fra
.me
.REG
[1] = NEW_CProgram_compiling_base___CProgram___init(fra
.me
.REG
[0]);
165 /* ./compiling//compiling.nit:54 */
166 fra
.me
.REG
[2] = CALL_compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
167 CALL_file___String___mkdir(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
168 /* ./compiling//compiling.nit:56 */
169 fra
.me
.REG
[2] = CALL_compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
171 fra
.me
.REG
[3] = BOX_NativeString("$CLIBDIR/nit_main.c");
173 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
174 once_value_1
= fra
.me
.REG
[3];
175 register_static_object(&once_value_1
);
176 } else fra
.me
.REG
[3] = once_value_1
;
177 fra
.me
.REG
[3] = fra
.me
.REG
[3];
178 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
179 /* ./compiling//compiling.nit:57 */
180 fra
.me
.REG
[3] = CALL_compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
182 fra
.me
.REG
[2] = BOX_NativeString("$CLIBDIR/gc.c");
184 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
185 once_value_2
= fra
.me
.REG
[2];
186 register_static_object(&once_value_2
);
187 } else fra
.me
.REG
[2] = once_value_2
;
188 fra
.me
.REG
[2] = fra
.me
.REG
[2];
189 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
190 /* ./compiling//compiling.nit:58 */
191 fra
.me
.REG
[2] = CALL_compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
193 fra
.me
.REG
[3] = BOX_NativeString("$CLIBDIR/gc_static_objects_list.c");
195 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
196 once_value_3
= fra
.me
.REG
[3];
197 register_static_object(&once_value_3
);
198 } else fra
.me
.REG
[3] = once_value_3
;
199 fra
.me
.REG
[3] = fra
.me
.REG
[3];
200 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
201 /* ./compiling//compiling.nit:60 */
202 fra
.me
.REG
[3] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
204 fra
.me
.REG
[2] = BOX_NativeString("Generating C code");
206 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
207 once_value_4
= fra
.me
.REG
[2];
208 register_static_object(&once_value_4
);
209 } else fra
.me
.REG
[2] = once_value_4
;
210 fra
.me
.REG
[2] = fra
.me
.REG
[2];
212 CALL_mmloader___ToolContext___info(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], REGB0
);
213 /* ./compiling//compiling.nit:61 */
214 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
215 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
216 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
217 if (UNTAG_Bool(REGB0
)) {
218 nit_abort("Reciever is null", NULL
, LOCATE_compiling
, 61);
220 fra
.me
.REG
[2] = CALL_partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
221 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling___Program___compile_prog_to_c_5
));
222 /* ./compiling//compiling.nit:63 */
223 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
225 fra
.me
.REG
[3] = BOX_NativeString("Generating main, tables and makefile ...");
227 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
228 once_value_6
= fra
.me
.REG
[3];
229 register_static_object(&once_value_6
);
230 } else fra
.me
.REG
[3] = once_value_6
;
231 fra
.me
.REG
[3] = fra
.me
.REG
[3];
233 CALL_mmloader___ToolContext___info(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], REGB0
);
234 /* ./compiling//compiling.nit:64 */
235 CALL_compiling___Program___compile_main(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
236 /* ./compiling//compiling.nit:66 */
237 CALL_compiling_base___CProgram___generate_build_file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
238 /* ./compiling//compiling.nit:68 */
239 fra
.me
.REG
[0] = CALL_program___Program___tc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
240 REGB0
= CALL_compiling_base___ToolContext___no_cc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
241 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
242 if (UNTAG_Bool(REGB0
)) {
243 CALL_compiling_base___CProgram___run_c_compiler(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
245 stack_frame_head
= fra
.me
.prev
;
248 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
){
249 struct {struct stack_frame_t me
;} fra
;
252 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
253 fra
.me
.file
= LOCATE_compiling
;
255 fra
.me
.meth
= LOCATE_compiling___Program___compile_prog_to_c
;
256 fra
.me
.has_broke
= 0;
258 fra
.me
.REG
[0] = NIT_NULL
;
259 fra
.me
.closure_ctx
= closctx_param
;
260 fra
.me
.closure_funs
= CREG
;
263 CALL_compiling___MMModule___compile_separate_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
264 stack_frame_head
= fra
.me
.prev
;
267 void compiling___Program___compile_main(val_t p0
, val_t p1
){
268 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
271 static val_t once_value_1
; /* Once value */
272 static val_t once_value_2
; /* Once value */
273 static val_t once_value_3
; /* Once value */
274 static val_t once_value_4
; /* Once value */
275 static val_t once_value_5
; /* Once value */
276 static val_t once_value_6
; /* Once value */
277 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
278 fra
.me
.file
= LOCATE_compiling
;
280 fra
.me
.meth
= LOCATE_compiling___Program___compile_main
;
281 fra
.me
.has_broke
= 0;
283 fra
.me
.REG
[0] = NIT_NULL
;
284 fra
.me
.REG
[1] = NIT_NULL
;
285 fra
.me
.REG
[2] = NIT_NULL
;
286 fra
.me
.REG
[3] = NIT_NULL
;
287 fra
.me
.REG
[4] = NIT_NULL
;
288 fra
.me
.REG
[5] = NIT_NULL
;
291 /* ./compiling//compiling.nit:74 */
292 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
293 fra
.me
.REG
[2] = NEW_CompilerVisitor_compiling_base___CompilerVisitor___init(fra
.me
.REG
[2], fra
.me
.REG
[1]);
294 /* ./compiling//compiling.nit:75 */
296 fra
.me
.REG
[3] = BOX_NativeString("#include <nit_common.h>");
298 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
299 once_value_1
= fra
.me
.REG
[3];
300 register_static_object(&once_value_1
);
301 } else fra
.me
.REG
[3] = once_value_1
;
302 fra
.me
.REG
[3] = fra
.me
.REG
[3];
303 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
304 /* ./compiling//compiling.nit:76 */
305 CALL_compiling_global___Program___compile_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
306 /* ./compiling//compiling.nit:77 */
307 CALL_compiling_global___Program___compile_main_part(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
308 /* ./compiling//compiling.nit:78 */
310 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
312 fra
.me
.REG
[4] = BOX_NativeString("");
314 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
315 once_value_2
= fra
.me
.REG
[4];
316 register_static_object(&once_value_2
);
317 } else fra
.me
.REG
[4] = once_value_2
;
318 fra
.me
.REG
[4] = fra
.me
.REG
[4];
319 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
320 fra
.me
.REG
[4] = CALL_compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
321 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
323 fra
.me
.REG
[4] = BOX_NativeString("/");
325 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
326 once_value_3
= fra
.me
.REG
[4];
327 register_static_object(&once_value_3
);
328 } else fra
.me
.REG
[4] = once_value_3
;
329 fra
.me
.REG
[4] = fra
.me
.REG
[4];
330 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
331 fra
.me
.REG
[4] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
332 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
333 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
334 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
336 fra
.me
.REG
[4] = BOX_NativeString("._tables.c");
338 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
339 once_value_4
= fra
.me
.REG
[4];
340 register_static_object(&once_value_4
);
341 } else fra
.me
.REG
[4] = once_value_4
;
342 fra
.me
.REG
[4] = fra
.me
.REG
[4];
343 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
344 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
345 /* ./compiling//compiling.nit:79 */
346 fra
.me
.REG
[4] = CALL_compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
347 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
348 /* ./compiling//compiling.nit:80 */
349 fra
.me
.REG
[3] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[3]);
350 /* ./compiling//compiling.nit:81 */
352 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
354 fra
.me
.REG
[5] = BOX_NativeString("/* This C file is generated by NIT to compile program ");
356 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
357 once_value_5
= fra
.me
.REG
[5];
358 register_static_object(&once_value_5
);
359 } else fra
.me
.REG
[5] = once_value_5
;
360 fra
.me
.REG
[5] = fra
.me
.REG
[5];
361 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
362 fra
.me
.REG
[5] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
363 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
364 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
365 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
367 fra
.me
.REG
[5] = BOX_NativeString(". */\n");
369 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
370 once_value_6
= fra
.me
.REG
[5];
371 register_static_object(&once_value_6
);
372 } else fra
.me
.REG
[5] = once_value_6
;
373 fra
.me
.REG
[5] = fra
.me
.REG
[5];
374 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
375 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
376 CALL_stream___OStream___write(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
377 /* ./compiling//compiling.nit:82 */
378 fra
.me
.REG
[0] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
379 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
380 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
381 if (UNTAG_Bool(REGB0
)) {
382 nit_abort("Reciever is null", NULL
, LOCATE_compiling
, 82);
384 fra
.me
.REG
[0] = CALL_partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
385 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_compiling___Program___compile_main_7
));
386 /* ./compiling//compiling.nit:85 */
387 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
388 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
389 /* ./compiling//compiling.nit:86 */
390 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
391 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
392 /* ./compiling//compiling.nit:87 */
393 CALL_stream___IOS___close(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
394 stack_frame_head
= fra
.me
.prev
;
397 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
){
398 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
402 static val_t once_value_8
; /* Once value */
403 static val_t once_value_9
; /* Once value */
404 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
405 fra
.me
.file
= LOCATE_compiling
;
407 fra
.me
.meth
= LOCATE_compiling___Program___compile_main
;
408 fra
.me
.has_broke
= 0;
410 fra
.me
.REG
[0] = NIT_NULL
;
411 fra
.me
.REG
[1] = NIT_NULL
;
412 fra
.me
.REG
[2] = NIT_NULL
;
413 fra
.me
.closure_ctx
= closctx_param
;
414 fra
.me
.closure_funs
= CREG
;
417 /* ./compiling//compiling.nit:83 */
419 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
421 fra
.me
.REG
[2] = BOX_NativeString("#include \"");
423 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
424 once_value_8
= fra
.me
.REG
[2];
425 register_static_object(&once_value_8
);
426 } else fra
.me
.REG
[2] = once_value_8
;
427 fra
.me
.REG
[2] = fra
.me
.REG
[2];
428 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
429 fra
.me
.REG
[0] = CALL_compiling_base___CProgram___module_header_name(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
430 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
432 fra
.me
.REG
[0] = BOX_NativeString("\"\n");
434 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
435 once_value_9
= fra
.me
.REG
[0];
436 register_static_object(&once_value_9
);
437 } else fra
.me
.REG
[0] = once_value_9
;
438 fra
.me
.REG
[0] = fra
.me
.REG
[0];
439 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
440 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
441 CALL_stream___OStream___write(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
442 stack_frame_head
= fra
.me
.prev
;
445 void compiling___MMModule___compile_separate_module(val_t p0
, val_t p1
){
446 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
450 static val_t once_value_1
; /* Once value */
451 static val_t once_value_2
; /* Once value */
452 static val_t once_value_3
; /* Once value */
453 static val_t once_value_4
; /* Once value */
454 static val_t once_value_5
; /* Once value */
455 static val_t once_value_6
; /* Once value */
456 static val_t once_value_7
; /* Once value */
457 static val_t once_value_8
; /* Once value */
458 static val_t once_value_9
; /* Once value */
459 static val_t once_value_10
; /* Once value */
460 static val_t once_value_11
; /* Once value */
461 static val_t once_value_12
; /* Once value */
462 static val_t once_value_13
; /* Once value */
463 static val_t once_value_14
; /* Once value */
464 static val_t once_value_15
; /* Once value */
465 static val_t once_value_16
; /* Once value */
466 static val_t once_value_17
; /* Once value */
467 static val_t once_value_18
; /* Once value */
468 static val_t once_value_19
; /* Once value */
469 static val_t once_value_20
; /* Once value */
470 static val_t once_value_21
; /* Once value */
471 static val_t once_value_22
; /* Once value */
472 static val_t once_value_23
; /* Once value */
473 static val_t once_value_24
; /* Once value */
474 static val_t once_value_25
; /* Once value */
475 static val_t once_value_26
; /* Once value */
476 static val_t once_value_27
; /* Once value */
477 static val_t once_value_28
; /* Once value */
478 static val_t once_value_30
; /* Once value */
479 static val_t once_value_31
; /* Once value */
480 static val_t once_value_32
; /* Once value */
481 static val_t once_value_33
; /* Once value */
482 static val_t once_value_34
; /* Once value */
483 static val_t once_value_35
; /* Once value */
484 static val_t once_value_36
; /* Once value */
485 static val_t once_value_37
; /* Once value */
486 static val_t once_value_38
; /* Once value */
487 static val_t once_value_39
; /* Once value */
488 static val_t once_value_40
; /* Once value */
489 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
490 fra
.me
.file
= LOCATE_compiling
;
492 fra
.me
.meth
= LOCATE_compiling___MMModule___compile_separate_module
;
493 fra
.me
.has_broke
= 0;
494 fra
.me
.REG_size
= 10;
495 fra
.me
.REG
[0] = NIT_NULL
;
496 fra
.me
.REG
[1] = NIT_NULL
;
497 fra
.me
.REG
[2] = NIT_NULL
;
498 fra
.me
.REG
[3] = NIT_NULL
;
499 fra
.me
.REG
[4] = NIT_NULL
;
500 fra
.me
.REG
[5] = NIT_NULL
;
501 fra
.me
.REG
[6] = NIT_NULL
;
502 fra
.me
.REG
[7] = NIT_NULL
;
503 fra
.me
.REG
[8] = NIT_NULL
;
504 fra
.me
.REG
[9] = NIT_NULL
;
507 /* ./compiling//compiling.nit:95 */
508 fra
.me
.REG
[2] = CALL_compiling_base___CProgram___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
509 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
510 /* ./compiling//compiling.nit:96 */
512 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
514 fra
.me
.REG
[4] = BOX_NativeString("Generating C code for module: ");
516 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
517 once_value_1
= fra
.me
.REG
[4];
518 register_static_object(&once_value_1
);
519 } else fra
.me
.REG
[4] = once_value_1
;
520 fra
.me
.REG
[4] = fra
.me
.REG
[4];
521 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
522 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
523 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
524 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
526 fra
.me
.REG
[4] = BOX_NativeString("");
528 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
529 once_value_2
= fra
.me
.REG
[4];
530 register_static_object(&once_value_2
);
531 } else fra
.me
.REG
[4] = once_value_2
;
532 fra
.me
.REG
[4] = fra
.me
.REG
[4];
533 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
534 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
536 CALL_mmloader___ToolContext___info(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], REGB0
);
537 /* ./compiling//compiling.nit:97 */
538 fra
.me
.REG
[3] = NEW_CompilerVisitor_compiling_base___CompilerVisitor___init(fra
.me
.REG
[0], fra
.me
.REG
[1]);
539 /* ./compiling//compiling.nit:98 */
541 fra
.me
.REG
[2] = BOX_NativeString("#include <nit_common.h>");
543 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
544 once_value_3
= fra
.me
.REG
[2];
545 register_static_object(&once_value_3
);
546 } else fra
.me
.REG
[2] = once_value_3
;
547 fra
.me
.REG
[2] = fra
.me
.REG
[2];
548 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
549 /* ./compiling//compiling.nit:100 */
550 REGB0
= CALL_abstractmetamodel___MMModule___is_extern_hybrid(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
551 if (UNTAG_Bool(REGB0
)) {
552 /* ./compiling//compiling.nit:103 */
554 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
556 fra
.me
.REG
[4] = BOX_NativeString("");
558 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
559 once_value_4
= fra
.me
.REG
[4];
560 register_static_object(&once_value_4
);
561 } else fra
.me
.REG
[4] = once_value_4
;
562 fra
.me
.REG
[4] = fra
.me
.REG
[4];
563 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
564 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
565 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
566 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
568 fra
.me
.REG
[4] = BOX_NativeString("._nitni.h");
570 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
571 once_value_5
= fra
.me
.REG
[4];
572 register_static_object(&once_value_5
);
573 } else fra
.me
.REG
[4] = once_value_5
;
574 fra
.me
.REG
[4] = fra
.me
.REG
[4];
575 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
576 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
577 /* ./compiling//compiling.nit:104 */
579 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
581 fra
.me
.REG
[5] = BOX_NativeString("#include \"");
583 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
584 once_value_6
= fra
.me
.REG
[5];
585 register_static_object(&once_value_6
);
586 } else fra
.me
.REG
[5] = once_value_6
;
587 fra
.me
.REG
[5] = fra
.me
.REG
[5];
588 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
589 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
591 fra
.me
.REG
[2] = BOX_NativeString("\"");
593 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
594 once_value_7
= fra
.me
.REG
[2];
595 register_static_object(&once_value_7
);
596 } else fra
.me
.REG
[2] = once_value_7
;
597 fra
.me
.REG
[2] = fra
.me
.REG
[2];
598 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
599 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
600 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
601 /* ./compiling//compiling.nit:105 */
603 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
605 fra
.me
.REG
[2] = BOX_NativeString("");
607 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
608 once_value_8
= fra
.me
.REG
[2];
609 register_static_object(&once_value_8
);
610 } else fra
.me
.REG
[2] = once_value_8
;
611 fra
.me
.REG
[2] = fra
.me
.REG
[2];
612 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
613 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
614 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
615 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
617 fra
.me
.REG
[2] = BOX_NativeString("._nitni.c");
619 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
620 once_value_9
= fra
.me
.REG
[2];
621 register_static_object(&once_value_9
);
622 } else fra
.me
.REG
[2] = once_value_9
;
623 fra
.me
.REG
[2] = fra
.me
.REG
[2];
624 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
625 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
626 /* ./compiling//compiling.nit:106 */
627 fra
.me
.REG
[2] = CALL_compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
629 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
630 if (!once_value_10
) {
631 fra
.me
.REG
[6] = BOX_NativeString("");
633 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
634 once_value_10
= fra
.me
.REG
[6];
635 register_static_object(&once_value_10
);
636 } else fra
.me
.REG
[6] = once_value_10
;
637 fra
.me
.REG
[6] = fra
.me
.REG
[6];
638 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
639 fra
.me
.REG
[6] = CALL_compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
640 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
641 if (!once_value_11
) {
642 fra
.me
.REG
[6] = BOX_NativeString("/");
644 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
645 once_value_11
= fra
.me
.REG
[6];
646 register_static_object(&once_value_11
);
647 } else fra
.me
.REG
[6] = once_value_11
;
648 fra
.me
.REG
[6] = fra
.me
.REG
[6];
649 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
650 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
651 if (!once_value_12
) {
652 fra
.me
.REG
[4] = BOX_NativeString("");
654 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
655 once_value_12
= fra
.me
.REG
[4];
656 register_static_object(&once_value_12
);
657 } else fra
.me
.REG
[4] = once_value_12
;
658 fra
.me
.REG
[4] = fra
.me
.REG
[4];
659 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
660 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
661 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
662 /* ./compiling//compiling.nit:109 */
663 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMModule___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
664 fra
.me
.REG
[5] = CALL_location___Location___file(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
665 if (!once_value_13
) {
666 fra
.me
.REG
[2] = BOX_NativeString(".nit");
668 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
669 once_value_13
= fra
.me
.REG
[2];
670 register_static_object(&once_value_13
);
671 } else fra
.me
.REG
[2] = once_value_13
;
672 fra
.me
.REG
[2] = fra
.me
.REG
[2];
673 fra
.me
.REG
[2] = CALL_file___String___strip_extension(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
674 /* ./compiling//compiling.nit:110 */
675 if (!once_value_14
) {
676 fra
.me
.REG
[5] = BOX_NativeString(".nit.c");
678 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
679 once_value_14
= fra
.me
.REG
[5];
680 register_static_object(&once_value_14
);
681 } else fra
.me
.REG
[5] = once_value_14
;
682 fra
.me
.REG
[5] = fra
.me
.REG
[5];
683 fra
.me
.REG
[5] = CALL_string___String_____plus(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
684 /* ./compiling//compiling.nit:111 */
685 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
686 if (UNTAG_Bool(REGB0
)) {
687 /* ./compiling//compiling.nit:112 */
688 fra
.me
.REG
[4] = CALL_compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
689 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
691 /* ./compiling//compiling.nit:114 */
692 if (!once_value_15
) {
693 fra
.me
.REG
[4] = BOX_NativeString("_nit.c");
695 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
696 once_value_15
= fra
.me
.REG
[4];
697 register_static_object(&once_value_15
);
698 } else fra
.me
.REG
[4] = once_value_15
;
699 fra
.me
.REG
[4] = fra
.me
.REG
[4];
700 fra
.me
.REG
[4] = CALL_string___String_____plus(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
701 fra
.me
.REG
[5] = fra
.me
.REG
[4];
702 /* ./compiling//compiling.nit:115 */
703 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
704 if (UNTAG_Bool(REGB0
)) {
705 fra
.me
.REG
[4] = CALL_compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
706 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
710 /* ./compiling//compiling.nit:119 */
711 CALL_compiling_global___MMModule___declare_class_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
712 /* ./compiling//compiling.nit:120 */
713 CALL_compiling_global___MMModule___compile_mod_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
714 /* ./compiling//compiling.nit:122 */
715 fra
.me
.REG
[5] = CALL_compiling_base___CProgram___module_header_name(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
716 /* ./compiling//compiling.nit:123 */
718 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
719 if (!once_value_16
) {
720 fra
.me
.REG
[2] = BOX_NativeString("");
722 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
723 once_value_16
= fra
.me
.REG
[2];
724 register_static_object(&once_value_16
);
725 } else fra
.me
.REG
[2] = once_value_16
;
726 fra
.me
.REG
[2] = fra
.me
.REG
[2];
727 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
728 fra
.me
.REG
[2] = CALL_compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
729 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
730 if (!once_value_17
) {
731 fra
.me
.REG
[2] = BOX_NativeString("/");
733 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
734 once_value_17
= fra
.me
.REG
[2];
735 register_static_object(&once_value_17
);
736 } else fra
.me
.REG
[2] = once_value_17
;
737 fra
.me
.REG
[2] = fra
.me
.REG
[2];
738 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
739 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
740 if (!once_value_18
) {
741 fra
.me
.REG
[2] = BOX_NativeString("");
743 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
744 once_value_18
= fra
.me
.REG
[2];
745 register_static_object(&once_value_18
);
746 } else fra
.me
.REG
[2] = once_value_18
;
747 fra
.me
.REG
[2] = fra
.me
.REG
[2];
748 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
749 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
750 fra
.me
.REG
[4] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[4]);
751 /* ./compiling//compiling.nit:124 */
753 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
754 if (!once_value_19
) {
755 fra
.me
.REG
[6] = BOX_NativeString("/* This C header file is generated by NIT to compile modules and programs that requires ");
757 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
758 once_value_19
= fra
.me
.REG
[6];
759 register_static_object(&once_value_19
);
760 } else fra
.me
.REG
[6] = once_value_19
;
761 fra
.me
.REG
[6] = fra
.me
.REG
[6];
762 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
763 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
764 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
765 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
766 if (!once_value_20
) {
767 fra
.me
.REG
[6] = BOX_NativeString(". */\n");
769 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
770 once_value_20
= fra
.me
.REG
[6];
771 register_static_object(&once_value_20
);
772 } else fra
.me
.REG
[6] = once_value_20
;
773 fra
.me
.REG
[6] = fra
.me
.REG
[6];
774 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
775 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
776 CALL_stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
777 /* ./compiling//compiling.nit:125 */
779 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
780 if (!once_value_21
) {
781 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
783 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
784 once_value_21
= fra
.me
.REG
[6];
785 register_static_object(&once_value_21
);
786 } else fra
.me
.REG
[6] = once_value_21
;
787 fra
.me
.REG
[6] = fra
.me
.REG
[6];
788 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
789 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
790 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
791 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
792 if (!once_value_22
) {
793 fra
.me
.REG
[6] = BOX_NativeString("");
795 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
796 once_value_22
= fra
.me
.REG
[6];
797 register_static_object(&once_value_22
);
798 } else fra
.me
.REG
[6] = once_value_22
;
799 fra
.me
.REG
[6] = fra
.me
.REG
[6];
800 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
801 fra
.me
.REG
[6] = CALL_compiling_base___CProgram___get_file_ending(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
802 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
803 if (!once_value_23
) {
804 fra
.me
.REG
[6] = BOX_NativeString("\n");
806 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
807 once_value_23
= fra
.me
.REG
[6];
808 register_static_object(&once_value_23
);
809 } else fra
.me
.REG
[6] = once_value_23
;
810 fra
.me
.REG
[6] = fra
.me
.REG
[6];
811 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
812 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
813 CALL_stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
814 /* ./compiling//compiling.nit:126 */
816 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
817 if (!once_value_24
) {
818 fra
.me
.REG
[6] = BOX_NativeString("#define ");
820 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
821 once_value_24
= fra
.me
.REG
[6];
822 register_static_object(&once_value_24
);
823 } else fra
.me
.REG
[6] = once_value_24
;
824 fra
.me
.REG
[6] = fra
.me
.REG
[6];
825 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
826 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
827 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
828 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
829 if (!once_value_25
) {
830 fra
.me
.REG
[6] = BOX_NativeString("");
832 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
833 once_value_25
= fra
.me
.REG
[6];
834 register_static_object(&once_value_25
);
835 } else fra
.me
.REG
[6] = once_value_25
;
836 fra
.me
.REG
[6] = fra
.me
.REG
[6];
837 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
838 fra
.me
.REG
[6] = CALL_compiling_base___CProgram___get_file_ending(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
839 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
840 if (!once_value_26
) {
841 fra
.me
.REG
[6] = BOX_NativeString("\n");
843 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
844 once_value_26
= fra
.me
.REG
[6];
845 register_static_object(&once_value_26
);
846 } else fra
.me
.REG
[6] = once_value_26
;
847 fra
.me
.REG
[6] = fra
.me
.REG
[6];
848 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
849 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
850 CALL_stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
851 /* ./compiling//compiling.nit:127 */
852 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
853 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
854 if (UNTAG_Bool(REGB0
)) {
855 nit_abort("Reciever is null", NULL
, LOCATE_compiling
, 127);
857 fra
.me
.REG
[2] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
858 /* ./../lib/standard//collection//array.nit:234 */
860 /* ./../lib/standard//collection//array.nit:235 */
861 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
862 if (UNTAG_Bool(REGB1
)) {
864 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
866 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
867 /* ./../lib/standard//collection//array.nit:236 */
868 fra
.me
.REG
[6] = ATTR_array___Array____items(fra
.me
.REG
[2]);
869 /* ./../lib/standard//collection//array.nit:237 */
871 /* ./../lib/standard//collection//array.nit:23 */
872 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
873 if (UNTAG_Bool(REGB1
)) {
875 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
877 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
878 /* ./../lib/standard//kernel.nit:212 */
879 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
880 /* ./../lib/standard//collection//array.nit:237 */
881 if (UNTAG_Bool(REGB1
)) {
882 /* ./../lib/standard//collection//array.nit:238 */
883 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
884 if (UNTAG_Bool(REGB1
)) {
885 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
887 /* ./../lib/standard//collection//array.nit:654 */
888 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
889 /* ./compiling//compiling.nit:127 */
891 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB1
);
892 if (!once_value_27
) {
893 fra
.me
.REG
[9] = BOX_NativeString("#include \"");
895 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
896 once_value_27
= fra
.me
.REG
[9];
897 register_static_object(&once_value_27
);
898 } else fra
.me
.REG
[9] = once_value_27
;
899 fra
.me
.REG
[9] = fra
.me
.REG
[9];
900 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
901 fra
.me
.REG
[7] = CALL_compiling_base___CProgram___module_header_name(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
902 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
903 if (!once_value_28
) {
904 fra
.me
.REG
[7] = BOX_NativeString("\"\n");
906 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
907 once_value_28
= fra
.me
.REG
[7];
908 register_static_object(&once_value_28
);
909 } else fra
.me
.REG
[7] = once_value_28
;
910 fra
.me
.REG
[7] = fra
.me
.REG
[7];
911 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
912 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
913 CALL_stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
914 /* ./../lib/standard//collection//array.nit:239 */
916 /* ./../lib/standard//kernel.nit:215 */
917 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
918 /* ./../lib/standard//collection//array.nit:239 */
921 /* ./../lib/standard//collection//array.nit:237 */
926 /* ./compiling//compiling.nit:128 */
927 fra
.me
.REG
[6] = CALL_compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
928 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
929 /* ./compiling//compiling.nit:129 */
930 if (!once_value_30
) {
931 fra
.me
.REG
[6] = BOX_NativeString("#endif\n");
933 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
934 once_value_30
= fra
.me
.REG
[6];
935 register_static_object(&once_value_30
);
936 } else fra
.me
.REG
[6] = once_value_30
;
937 fra
.me
.REG
[6] = fra
.me
.REG
[6];
938 CALL_stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
939 /* ./compiling//compiling.nit:130 */
940 CALL_stream___IOS___close(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
941 /* ./compiling//compiling.nit:132 */
943 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
944 if (!once_value_31
) {
945 fra
.me
.REG
[2] = BOX_NativeString("");
947 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
948 once_value_31
= fra
.me
.REG
[2];
949 register_static_object(&once_value_31
);
950 } else fra
.me
.REG
[2] = once_value_31
;
951 fra
.me
.REG
[2] = fra
.me
.REG
[2];
952 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
953 fra
.me
.REG
[2] = CALL_compiling_base___CProgram___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
954 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
955 if (!once_value_32
) {
956 fra
.me
.REG
[2] = BOX_NativeString("/");
958 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
959 once_value_32
= fra
.me
.REG
[2];
960 register_static_object(&once_value_32
);
961 } else fra
.me
.REG
[2] = once_value_32
;
962 fra
.me
.REG
[2] = fra
.me
.REG
[2];
963 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
964 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
965 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
966 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
967 if (!once_value_33
) {
968 fra
.me
.REG
[2] = BOX_NativeString(".");
970 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
971 once_value_33
= fra
.me
.REG
[2];
972 register_static_object(&once_value_33
);
973 } else fra
.me
.REG
[2] = once_value_33
;
974 fra
.me
.REG
[2] = fra
.me
.REG
[2];
975 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
976 fra
.me
.REG
[2] = CALL_compiling_base___CProgram___get_file_ending(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
977 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
978 if (!once_value_34
) {
979 fra
.me
.REG
[2] = BOX_NativeString(".c");
981 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
982 once_value_34
= fra
.me
.REG
[2];
983 register_static_object(&once_value_34
);
984 } else fra
.me
.REG
[2] = once_value_34
;
985 fra
.me
.REG
[2] = fra
.me
.REG
[2];
986 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
987 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
988 /* ./compiling//compiling.nit:133 */
989 fra
.me
.REG
[1] = CALL_compiling_base___CProgram___files(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
990 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
991 /* ./compiling//compiling.nit:134 */
993 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
994 if (!once_value_35
) {
995 fra
.me
.REG
[2] = BOX_NativeString("");
997 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
998 once_value_35
= fra
.me
.REG
[2];
999 register_static_object(&once_value_35
);
1000 } else fra
.me
.REG
[2] = once_value_35
;
1001 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1002 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1003 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1004 if (!once_value_36
) {
1005 fra
.me
.REG
[6] = BOX_NativeString("");
1007 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1008 once_value_36
= fra
.me
.REG
[6];
1009 register_static_object(&once_value_36
);
1010 } else fra
.me
.REG
[6] = once_value_36
;
1011 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1012 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1013 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1014 fra
.me
.REG
[1] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[1]);
1015 fra
.me
.REG
[4] = fra
.me
.REG
[1];
1016 /* ./compiling//compiling.nit:135 */
1018 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
1019 if (!once_value_37
) {
1020 fra
.me
.REG
[6] = BOX_NativeString("/* This C file is generated by NIT to compile module ");
1021 REGB0
= TAG_Int(53);
1022 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1023 once_value_37
= fra
.me
.REG
[6];
1024 register_static_object(&once_value_37
);
1025 } else fra
.me
.REG
[6] = once_value_37
;
1026 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1027 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1028 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1029 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1030 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1031 if (!once_value_38
) {
1032 fra
.me
.REG
[0] = BOX_NativeString(". */\n");
1034 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1035 once_value_38
= fra
.me
.REG
[0];
1036 register_static_object(&once_value_38
);
1037 } else fra
.me
.REG
[0] = once_value_38
;
1038 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1039 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1040 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1041 CALL_stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1042 /* ./compiling//compiling.nit:136 */
1044 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
1045 if (!once_value_39
) {
1046 fra
.me
.REG
[0] = BOX_NativeString("#include \"");
1047 REGB0
= TAG_Int(10);
1048 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1049 once_value_39
= fra
.me
.REG
[0];
1050 register_static_object(&once_value_39
);
1051 } else fra
.me
.REG
[0] = once_value_39
;
1052 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1053 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1054 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1055 if (!once_value_40
) {
1056 fra
.me
.REG
[5] = BOX_NativeString("\"\n");
1058 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1059 once_value_40
= fra
.me
.REG
[5];
1060 register_static_object(&once_value_40
);
1061 } else fra
.me
.REG
[5] = once_value_40
;
1062 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1063 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1064 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1065 CALL_stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1066 /* ./compiling//compiling.nit:137 */
1067 fra
.me
.REG
[3] = CALL_compiling_base___CompilerVisitor___top_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1068 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1069 /* ./compiling//compiling.nit:138 */
1070 CALL_stream___IOS___close(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1071 stack_frame_head
= fra
.me
.prev
;