1 /* This C file is generated by NIT to compile module compiling_global. */
2 #include "compiling_global._sep.h"
3 void compiling_global___Program___compile_tables_to_c(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
8 static val_t once_value_4
; /* Once value */
9 static val_t once_value_5
; /* Once value */
10 static val_t once_value_6
; /* Once value */
11 static val_t once_value_7
; /* Once value */
12 static val_t once_value_8
; /* Once value */
13 static val_t once_value_9
; /* Once value */
14 static val_t once_value_10
; /* Once value */
15 static val_t once_value_12
; /* Once value */
16 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17 fra
.me
.file
= LOCATE_compiling_global
;
19 fra
.me
.meth
= LOCATE_compiling_global___Program___compile_tables_to_c
;
22 fra
.me
.REG
[0] = NIT_NULL
;
23 fra
.me
.REG
[1] = NIT_NULL
;
24 fra
.me
.REG
[2] = NIT_NULL
;
25 fra
.me
.REG
[3] = NIT_NULL
;
26 fra
.me
.REG
[4] = NIT_NULL
;
27 fra
.me
.REG
[5] = NIT_NULL
;
28 fra
.me
.REG
[6] = NIT_NULL
;
29 fra
.me
.REG
[7] = NIT_NULL
;
32 /* ./compiling//compiling_global.nit:27 */
33 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
34 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
35 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
36 if (UNTAG_Bool(REGB0
)) {
37 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 27);
39 fra
.me
.REG
[2] = CALL_partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
40 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling_global___Program___compile_tables_to_c_1
));
41 CALL_program___Program___with_each_live_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_compiling_global___Program___compile_tables_to_c_2
));
42 /* ./compiling//compiling_global.nit:36 */
44 fra
.me
.REG
[2] = BOX_NativeString("classtable_t TAG2VFT[4] = {NULL");
46 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
47 once_value_4
= fra
.me
.REG
[2];
48 register_static_object(&once_value_4
);
49 } else fra
.me
.REG
[2] = once_value_4
;
50 fra
.me
.REG
[2] = fra
.me
.REG
[2];
51 fra
.me
.REG
[2] = NEW_Buffer_string___Buffer___from(fra
.me
.REG
[2]);
52 /* ./compiling//compiling_global.nit:37 */
54 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
56 fra
.me
.REG
[4] = BOX_NativeString("Int");
58 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
59 once_value_5
= fra
.me
.REG
[4];
60 register_static_object(&once_value_5
);
61 } else fra
.me
.REG
[4] = once_value_5
;
62 fra
.me
.REG
[4] = fra
.me
.REG
[4];
63 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
65 fra
.me
.REG
[4] = BOX_NativeString("Char");
67 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
68 once_value_6
= fra
.me
.REG
[4];
69 register_static_object(&once_value_6
);
70 } else fra
.me
.REG
[4] = once_value_6
;
71 fra
.me
.REG
[4] = fra
.me
.REG
[4];
72 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
74 fra
.me
.REG
[4] = BOX_NativeString("Bool");
76 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
77 once_value_7
= fra
.me
.REG
[4];
78 register_static_object(&once_value_7
);
79 } else fra
.me
.REG
[4] = once_value_7
;
80 fra
.me
.REG
[4] = fra
.me
.REG
[4];
81 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
82 /* ./../lib/standard//collection//array.nit:234 */
84 /* ./../lib/standard//collection//array.nit:235 */
85 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
86 if (UNTAG_Bool(REGB1
)) {
88 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
90 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
91 /* ./../lib/standard//collection//array.nit:236 */
92 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[3]);
93 /* ./../lib/standard//collection//array.nit:237 */
95 /* ./../lib/standard//collection//array.nit:23 */
96 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
97 if (UNTAG_Bool(REGB1
)) {
99 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
101 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
102 /* ./../lib/standard//kernel.nit:212 */
103 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
104 /* ./../lib/standard//collection//array.nit:237 */
105 if (UNTAG_Bool(REGB1
)) {
106 /* ./../lib/standard//collection//array.nit:238 */
107 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
108 if (UNTAG_Bool(REGB1
)) {
109 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
111 /* ./../lib/standard//collection//array.nit:654 */
112 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
113 /* ./compiling//compiling_global.nit:38 */
114 fra
.me
.REG
[6] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
115 fra
.me
.REG
[7] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
116 REGB1
= CALL_abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
117 if (UNTAG_Bool(REGB1
)) {
118 /* ./compiling//compiling_global.nit:39 */
120 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
122 fra
.me
.REG
[6] = BOX_NativeString(", (const classtable_t)VFT_");
124 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
125 once_value_8
= fra
.me
.REG
[6];
126 register_static_object(&once_value_8
);
127 } else fra
.me
.REG
[6] = once_value_8
;
128 fra
.me
.REG
[6] = fra
.me
.REG
[6];
129 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
130 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
132 fra
.me
.REG
[5] = BOX_NativeString("");
134 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
135 once_value_9
= fra
.me
.REG
[5];
136 register_static_object(&once_value_9
);
137 } else fra
.me
.REG
[5] = once_value_9
;
138 fra
.me
.REG
[5] = fra
.me
.REG
[5];
139 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
140 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
141 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
143 /* ./compiling//compiling_global.nit:41 */
144 if (!once_value_10
) {
145 fra
.me
.REG
[7] = BOX_NativeString(", NULL");
147 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
148 once_value_10
= fra
.me
.REG
[7];
149 register_static_object(&once_value_10
);
150 } else fra
.me
.REG
[7] = once_value_10
;
151 fra
.me
.REG
[7] = fra
.me
.REG
[7];
152 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
154 /* ./../lib/standard//collection//array.nit:239 */
156 /* ./../lib/standard//kernel.nit:215 */
157 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
158 /* ./../lib/standard//collection//array.nit:239 */
161 /* ./../lib/standard//collection//array.nit:237 */
166 /* ./compiling//compiling_global.nit:44 */
167 if (!once_value_12
) {
168 fra
.me
.REG
[0] = BOX_NativeString("};");
170 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
171 once_value_12
= fra
.me
.REG
[0];
172 register_static_object(&once_value_12
);
173 } else fra
.me
.REG
[0] = once_value_12
;
174 fra
.me
.REG
[0] = fra
.me
.REG
[0];
175 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
176 /* ./compiling//compiling_global.nit:45 */
177 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
178 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
179 stack_frame_head
= fra
.me
.prev
;
182 void OC_compiling_global___Program___compile_tables_to_c_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
183 struct {struct stack_frame_t me
;} fra
;
186 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
187 fra
.me
.file
= LOCATE_compiling_global
;
189 fra
.me
.meth
= LOCATE_compiling_global___Program___compile_tables_to_c
;
190 fra
.me
.has_broke
= 0;
192 fra
.me
.REG
[0] = NIT_NULL
;
193 fra
.me
.closure_ctx
= closctx_param
;
194 fra
.me
.closure_funs
= CREG
;
197 /* ./compiling//compiling_global.nit:28 */
198 CALL_compiling_global___MMModule___compile_local_table_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
199 stack_frame_head
= fra
.me
.prev
;
202 void OC_compiling_global___Program___compile_tables_to_c_2(struct stack_frame_t
*closctx
, val_t p0
){
203 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
207 /* ./compiling//compiling_global.nit:31 */
208 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
209 fra
.me
.file
= LOCATE_compiling_global
;
211 fra
.me
.meth
= LOCATE_compiling_global___Program___compile_tables_to_c
;
212 fra
.me
.has_broke
= 0;
214 fra
.me
.REG
[0] = NIT_NULL
;
215 fra
.me
.REG
[1] = NIT_NULL
;
217 /* ./compiling//compiling_global.nit:32 */
218 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
219 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
220 if (UNTAG_Bool(REGB0
)) {
221 REGB0
= TAG_Bool(true);
223 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
224 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
227 if (UNTAG_Bool(REGB0
)) {
230 /* ./compiling//compiling_global.nit:33 */
231 CALL_compiling_global___MMLocalClass___compile_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
233 stack_frame_head
= fra
.me
.prev
;
236 void compiling_global___Program___compile_main_part(val_t p0
, val_t p1
){
237 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
241 static val_t once_value_1
; /* Once value */
242 static val_t once_value_2
; /* Once value */
243 static val_t once_value_3
; /* Once value */
244 static val_t once_value_4
; /* Once value */
245 static val_t once_value_5
; /* Once value */
246 static val_t once_value_6
; /* Once value */
247 static val_t once_value_7
; /* Once value */
248 static val_t once_value_8
; /* Once value */
249 static val_t once_value_9
; /* Once value */
250 static val_t once_value_10
; /* Once value */
251 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
252 fra
.me
.file
= LOCATE_compiling_global
;
254 fra
.me
.meth
= LOCATE_compiling_global___Program___compile_main_part
;
255 fra
.me
.has_broke
= 0;
257 fra
.me
.REG
[0] = NIT_NULL
;
258 fra
.me
.REG
[1] = NIT_NULL
;
259 fra
.me
.REG
[2] = NIT_NULL
;
262 /* ./compiling//compiling_global.nit:51 */
264 fra
.me
.REG
[2] = BOX_NativeString("int main(int argc, char **argv) {");
266 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
267 once_value_1
= fra
.me
.REG
[2];
268 register_static_object(&once_value_1
);
269 } else fra
.me
.REG
[2] = once_value_1
;
270 fra
.me
.REG
[2] = fra
.me
.REG
[2];
271 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
272 /* ./compiling//compiling_global.nit:52 */
273 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
274 /* ./compiling//compiling_global.nit:53 */
276 fra
.me
.REG
[2] = BOX_NativeString("prepare_signals();");
278 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
279 once_value_2
= fra
.me
.REG
[2];
280 register_static_object(&once_value_2
);
281 } else fra
.me
.REG
[2] = once_value_2
;
282 fra
.me
.REG
[2] = fra
.me
.REG
[2];
283 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
284 /* ./compiling//compiling_global.nit:54 */
286 fra
.me
.REG
[2] = BOX_NativeString("glob_argc = argc; glob_argv = argv;");
288 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
289 once_value_3
= fra
.me
.REG
[2];
290 register_static_object(&once_value_3
);
291 } else fra
.me
.REG
[2] = once_value_3
;
292 fra
.me
.REG
[2] = fra
.me
.REG
[2];
293 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
294 /* ./compiling//compiling_global.nit:55 */
295 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
296 fra
.me
.REG
[2] = CALL_program___Program___main_method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
297 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
298 if (UNTAG_Bool(REGB0
)) {
300 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
301 if (UNTAG_Bool(REGB1
)) {
302 REGB1
= TAG_Bool(false);
305 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
309 if (UNTAG_Bool(REGB0
)) {
310 /* ./compiling//compiling_global.nit:56 */
312 fra
.me
.REG
[2] = BOX_NativeString("No main");
314 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
315 once_value_4
= fra
.me
.REG
[2];
316 register_static_object(&once_value_4
);
317 } else fra
.me
.REG
[2] = once_value_4
;
318 fra
.me
.REG
[2] = fra
.me
.REG
[2];
319 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
321 /* ./compiling//compiling_global.nit:58 */
323 fra
.me
.REG
[2] = BOX_NativeString("G_sys = NEW_Sys();");
325 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
326 once_value_5
= fra
.me
.REG
[2];
327 register_static_object(&once_value_5
);
328 } else fra
.me
.REG
[2] = once_value_5
;
329 fra
.me
.REG
[2] = fra
.me
.REG
[2];
330 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
331 /* ./compiling//compiling_global.nit:59 */
333 fra
.me
.REG
[2] = BOX_NativeString("register_static_object(&G_sys);");
335 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
336 once_value_6
= fra
.me
.REG
[2];
337 register_static_object(&once_value_6
);
338 } else fra
.me
.REG
[2] = once_value_6
;
339 fra
.me
.REG
[2] = fra
.me
.REG
[2];
340 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
341 /* ./compiling//compiling_global.nit:60 */
343 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
345 fra
.me
.REG
[0] = BOX_NativeString("");
347 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
348 once_value_7
= fra
.me
.REG
[0];
349 register_static_object(&once_value_7
);
350 } else fra
.me
.REG
[0] = once_value_7
;
351 fra
.me
.REG
[0] = fra
.me
.REG
[0];
352 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
353 fra
.me
.REG
[0] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
354 fra
.me
.REG
[0] = CALL_program___Program___main_method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
355 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
356 if (UNTAG_Bool(REGB0
)) {
357 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 60);
359 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
360 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
362 fra
.me
.REG
[0] = BOX_NativeString("(G_sys);");
364 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
365 once_value_8
= fra
.me
.REG
[0];
366 register_static_object(&once_value_8
);
367 } else fra
.me
.REG
[0] = once_value_8
;
368 fra
.me
.REG
[0] = fra
.me
.REG
[0];
369 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
370 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
371 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
373 /* ./compiling//compiling_global.nit:62 */
375 fra
.me
.REG
[2] = BOX_NativeString("return 0;");
377 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
378 once_value_9
= fra
.me
.REG
[2];
379 register_static_object(&once_value_9
);
380 } else fra
.me
.REG
[2] = once_value_9
;
381 fra
.me
.REG
[2] = fra
.me
.REG
[2];
382 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
383 /* ./compiling//compiling_global.nit:63 */
384 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
385 /* ./compiling//compiling_global.nit:64 */
386 if (!once_value_10
) {
387 fra
.me
.REG
[2] = BOX_NativeString("}");
389 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
390 once_value_10
= fra
.me
.REG
[2];
391 register_static_object(&once_value_10
);
392 } else fra
.me
.REG
[2] = once_value_10
;
393 fra
.me
.REG
[2] = fra
.me
.REG
[2];
394 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
395 stack_frame_head
= fra
.me
.prev
;
398 void compiling_global___MMModule___declare_class_tables_to_c(val_t p0
, val_t p1
){
399 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
401 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
402 fra
.me
.file
= LOCATE_compiling_global
;
404 fra
.me
.meth
= LOCATE_compiling_global___MMModule___declare_class_tables_to_c
;
405 fra
.me
.has_broke
= 0;
407 fra
.me
.REG
[0] = NIT_NULL
;
408 fra
.me
.REG
[1] = NIT_NULL
;
409 fra
.me
.REG
[2] = NIT_NULL
;
412 /* ./compiling//compiling_global.nit:72 */
413 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
414 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling_global___MMModule___declare_class_tables_to_c_1
));
415 stack_frame_head
= fra
.me
.prev
;
418 void OC_compiling_global___MMModule___declare_class_tables_to_c_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
419 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
424 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
425 fra
.me
.file
= LOCATE_compiling_global
;
427 fra
.me
.meth
= LOCATE_compiling_global___MMModule___declare_class_tables_to_c
;
428 fra
.me
.has_broke
= 0;
430 fra
.me
.REG
[0] = NIT_NULL
;
431 fra
.me
.REG
[1] = NIT_NULL
;
432 fra
.me
.closure_ctx
= closctx_param
;
433 fra
.me
.closure_funs
= CREG
;
436 /* ./compiling//compiling_global.nit:73 */
437 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
438 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
439 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],closctx
->REG
[0]));
440 if (UNTAG_Bool(REGB0
)) {
442 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[0]);
445 if (UNTAG_Bool(REGB0
)) {
446 /* ./compiling//compiling_global.nit:74 */
447 CALL_compiling_global___MMLocalClass___declare_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
449 stack_frame_head
= fra
.me
.prev
;
452 void compiling_global___MMModule___compile_mod_to_c(val_t p0
, val_t p1
){
453 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
458 static val_t once_value_1
; /* Once value */
459 static val_t once_value_2
; /* Once value */
460 static val_t once_value_3
; /* Once value */
461 static val_t once_value_4
; /* Once value */
462 static val_t once_value_5
; /* Once value */
463 static val_t once_value_6
; /* Once value */
464 static val_t once_value_7
; /* Once value */
465 static val_t once_value_8
; /* Once value */
466 static val_t once_value_9
; /* Once value */
467 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
468 fra
.me
.file
= LOCATE_compiling_global
;
470 fra
.me
.meth
= LOCATE_compiling_global___MMModule___compile_mod_to_c
;
471 fra
.me
.has_broke
= 0;
473 fra
.me
.REG
[0] = NIT_NULL
;
474 fra
.me
.REG
[1] = NIT_NULL
;
475 fra
.me
.REG
[2] = NIT_NULL
;
476 fra
.me
.REG
[3] = NIT_NULL
;
477 fra
.me
.REG
[4] = NIT_NULL
;
478 fra
.me
.REG
[5] = NIT_NULL
;
479 fra
.me
.REG
[6] = NIT_NULL
;
480 fra
.me
.REG
[7] = NIT_NULL
;
483 /* ./compiling//compiling_global.nit:82 */
485 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
487 fra
.me
.REG
[3] = BOX_NativeString("extern const char *LOCATE_");
489 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
490 once_value_1
= fra
.me
.REG
[3];
491 register_static_object(&once_value_1
);
492 } else fra
.me
.REG
[3] = once_value_1
;
493 fra
.me
.REG
[3] = fra
.me
.REG
[3];
494 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
495 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
496 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
497 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
499 fra
.me
.REG
[3] = BOX_NativeString(";");
501 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
502 once_value_2
= fra
.me
.REG
[3];
503 register_static_object(&once_value_2
);
504 } else fra
.me
.REG
[3] = once_value_2
;
505 fra
.me
.REG
[3] = fra
.me
.REG
[3];
506 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
507 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
508 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
509 /* ./compiling//compiling_global.nit:83 */
510 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
511 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
512 REGB0
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
513 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
514 if (UNTAG_Bool(REGB0
)) {
515 /* ./compiling//compiling_global.nit:84 */
517 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
519 fra
.me
.REG
[3] = BOX_NativeString("extern const int SFT_");
521 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
522 once_value_3
= fra
.me
.REG
[3];
523 register_static_object(&once_value_3
);
524 } else fra
.me
.REG
[3] = once_value_3
;
525 fra
.me
.REG
[3] = fra
.me
.REG
[3];
526 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
527 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
528 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
529 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
531 fra
.me
.REG
[3] = BOX_NativeString("[];");
533 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
534 once_value_4
= fra
.me
.REG
[3];
535 register_static_object(&once_value_4
);
536 } else fra
.me
.REG
[3] = once_value_4
;
537 fra
.me
.REG
[3] = fra
.me
.REG
[3];
538 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
539 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
540 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
542 /* ./compiling//compiling_global.nit:86 */
544 /* ./compiling//compiling_global.nit:87 */
545 fra
.me
.REG
[2] = CALL_table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
546 /* ./../lib/standard//collection//array.nit:234 */
548 /* ./../lib/standard//collection//array.nit:235 */
549 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
550 if (UNTAG_Bool(REGB2
)) {
552 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
554 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
555 /* ./../lib/standard//collection//array.nit:236 */
556 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[2]);
557 /* ./../lib/standard//collection//array.nit:237 */
559 /* ./../lib/standard//collection//array.nit:23 */
560 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
561 if (UNTAG_Bool(REGB2
)) {
563 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
565 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
566 /* ./../lib/standard//kernel.nit:212 */
567 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
568 /* ./../lib/standard//collection//array.nit:237 */
569 if (UNTAG_Bool(REGB2
)) {
570 /* ./../lib/standard//collection//array.nit:238 */
571 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
572 if (UNTAG_Bool(REGB2
)) {
573 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
575 /* ./../lib/standard//collection//array.nit:654 */
576 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
577 /* ./compiling//compiling_global.nit:89 */
578 fra
.me
.REG
[5] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
579 fra
.me
.REG
[5] = CALL_program___Program___tc(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
580 REGB2
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
581 if (UNTAG_Bool(REGB2
)) {
582 /* ./compiling//compiling_global.nit:90 */
584 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
586 fra
.me
.REG
[6] = BOX_NativeString("");
588 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
589 once_value_5
= fra
.me
.REG
[6];
590 register_static_object(&once_value_5
);
591 } else fra
.me
.REG
[6] = once_value_5
;
592 fra
.me
.REG
[6] = fra
.me
.REG
[6];
593 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
594 fra
.me
.REG
[6] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
595 fra
.me
.REG
[6] = CALL_compiling_global___ModuleTableElt___value(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
596 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
598 fra
.me
.REG
[6] = BOX_NativeString("");
600 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
601 once_value_6
= fra
.me
.REG
[6];
602 register_static_object(&once_value_6
);
603 } else fra
.me
.REG
[6] = once_value_6
;
604 fra
.me
.REG
[6] = fra
.me
.REG
[6];
605 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
606 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
608 /* ./compiling//compiling_global.nit:92 */
610 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
612 fra
.me
.REG
[7] = BOX_NativeString("SFT_");
614 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
615 once_value_7
= fra
.me
.REG
[7];
616 register_static_object(&once_value_7
);
617 } else fra
.me
.REG
[7] = once_value_7
;
618 fra
.me
.REG
[7] = fra
.me
.REG
[7];
619 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
620 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
621 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
622 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
624 fra
.me
.REG
[7] = BOX_NativeString("[");
626 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
627 once_value_8
= fra
.me
.REG
[7];
628 register_static_object(&once_value_8
);
629 } else fra
.me
.REG
[7] = once_value_8
;
630 fra
.me
.REG
[7] = fra
.me
.REG
[7];
631 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
632 fra
.me
.REG
[7] = CALL_string___Object___to_s(REGB0
)(REGB0
);
633 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
635 fra
.me
.REG
[7] = BOX_NativeString("]");
637 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
638 once_value_9
= fra
.me
.REG
[7];
639 register_static_object(&once_value_9
);
640 } else fra
.me
.REG
[7] = once_value_9
;
641 fra
.me
.REG
[7] = fra
.me
.REG
[7];
642 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
643 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
644 fra
.me
.REG
[5] = fra
.me
.REG
[6];
645 /* ./compiling//compiling_global.nit:93 */
647 /* ./../lib/standard//kernel.nit:215 */
648 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
649 /* ./compiling//compiling_global.nit:93 */
652 /* ./compiling//compiling_global.nit:95 */
653 CALL_compiling_global___AbsTableElt___compile_macros(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
654 /* ./../lib/standard//collection//array.nit:239 */
656 /* ./../lib/standard//kernel.nit:215 */
657 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
658 /* ./../lib/standard//collection//array.nit:239 */
661 /* ./../lib/standard//collection//array.nit:237 */
666 /* ./compiling//compiling_global.nit:97 */
667 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
668 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_compiling_global___MMModule___compile_mod_to_c_11
));
669 stack_frame_head
= fra
.me
.prev
;
672 void OC_compiling_global___MMModule___compile_mod_to_c_11(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
673 struct {struct stack_frame_t me
;} fra
;
677 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
678 fra
.me
.file
= LOCATE_compiling_global
;
680 fra
.me
.meth
= LOCATE_compiling_global___MMModule___compile_mod_to_c
;
681 fra
.me
.has_broke
= 0;
683 fra
.me
.REG
[0] = NIT_NULL
;
684 fra
.me
.closure_ctx
= closctx_param
;
685 fra
.me
.closure_funs
= CREG
;
688 closctx
->REG
[0] = fra
.me
.REG
[0];
689 /* ./compiling//compiling_global.nit:98 */
690 REGB0
= TAG_Bool(VAL_ISA(closctx
->REG
[0], COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
691 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
692 if (UNTAG_Bool(REGB0
)) {
695 /* ./compiling//compiling_global.nit:99 */
696 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global_properties(closctx
->REG
[0])(closctx
->REG
[0]);
697 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
, ((fun_t
)OC_compiling_global___MMModule___compile_mod_to_c_13
));
699 stack_frame_head
= fra
.me
.prev
;
702 void OC_compiling_global___MMModule___compile_mod_to_c_13(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
703 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
710 static val_t once_value_14
; /* Once value */
711 static val_t once_value_15
; /* Once value */
712 static val_t once_value_17
; /* Once value */
713 static val_t once_value_18
; /* Once value */
714 static val_t once_value_19
; /* Once value */
715 static val_t once_value_20
; /* Once value */
716 static val_t once_value_21
; /* Once value */
717 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
718 fra
.me
.file
= LOCATE_compiling_global
;
720 fra
.me
.meth
= LOCATE_compiling_global___MMModule___compile_mod_to_c
;
721 fra
.me
.has_broke
= 0;
723 fra
.me
.REG
[0] = NIT_NULL
;
724 fra
.me
.REG
[1] = NIT_NULL
;
725 fra
.me
.REG
[2] = NIT_NULL
;
726 fra
.me
.REG
[3] = NIT_NULL
;
727 fra
.me
.closure_ctx
= closctx_param
;
728 fra
.me
.closure_funs
= CREG
;
731 /* ./compiling//compiling_global.nit:100 */
732 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
733 /* ./compiling//compiling_global.nit:101 */
734 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
735 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],closctx
->REG
[0]));
736 if (UNTAG_Bool(REGB0
)) {
738 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], closctx
->REG
[0]);
741 if (UNTAG_Bool(REGB0
)) {
742 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
744 REGB1
= TAG_Bool(false);
747 if (UNTAG_Bool(REGB0
)) {
748 /* ./compiling//compiling_global.nit:102 */
749 CALL_compiling_global___MMMethod___compile_property_to_c(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[1]);
751 /* ./compiling//compiling_global.nit:104 */
752 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
753 if (UNTAG_Bool(REGB0
)) {
754 /* ./compiling//compiling_global.nit:106 */
755 fra
.me
.REG
[0] = NEW_Array_array___Array___init();
756 /* ./compiling//compiling_global.nit:107 */
758 fra
.me
.REG
[2] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
759 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
760 if (UNTAG_Bool(REGB1
)) {
761 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 107);
763 REGB1
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
764 /* ./../lib/standard//kernel.nit:332 */
766 /* ./../lib/standard//kernel.nit:212 */
767 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
768 /* ./../lib/standard//kernel.nit:332 */
769 if (UNTAG_Bool(REGB2
)) {
770 /* ./compiling//compiling_global.nit:107 */
772 /* ./compiling//compiling_global.nit:108 */
774 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB3
);
775 if (!once_value_14
) {
776 fra
.me
.REG
[3] = BOX_NativeString("val_t p");
778 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB3
);
779 once_value_14
= fra
.me
.REG
[3];
780 register_static_object(&once_value_14
);
781 } else fra
.me
.REG
[3] = once_value_14
;
782 fra
.me
.REG
[3] = fra
.me
.REG
[3];
783 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
784 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB2
)(REGB2
);
785 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
786 if (!once_value_15
) {
787 fra
.me
.REG
[3] = BOX_NativeString("");
789 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
790 once_value_15
= fra
.me
.REG
[3];
791 register_static_object(&once_value_15
);
792 } else fra
.me
.REG
[3] = once_value_15
;
793 fra
.me
.REG
[3] = fra
.me
.REG
[3];
794 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
795 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
796 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
797 /* ./../lib/standard//kernel.nit:334 */
799 /* ./../lib/standard//kernel.nit:215 */
800 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
801 /* ./../lib/standard//kernel.nit:334 */
804 /* ./../lib/standard//kernel.nit:332 */
809 /* ./compiling//compiling_global.nit:110 */
811 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
812 if (!once_value_17
) {
813 fra
.me
.REG
[3] = BOX_NativeString("val_t NEW_");
815 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
816 once_value_17
= fra
.me
.REG
[3];
817 register_static_object(&once_value_17
);
818 } else fra
.me
.REG
[3] = once_value_17
;
819 fra
.me
.REG
[3] = fra
.me
.REG
[3];
820 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
821 fra
.me
.REG
[3] = CALL_string___Object___to_s(closctx
->REG
[0])(closctx
->REG
[0]);
822 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
823 if (!once_value_18
) {
824 fra
.me
.REG
[3] = BOX_NativeString("_");
826 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
827 once_value_18
= fra
.me
.REG
[3];
828 register_static_object(&once_value_18
);
829 } else fra
.me
.REG
[3] = once_value_18
;
830 fra
.me
.REG
[3] = fra
.me
.REG
[3];
831 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
832 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
833 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
834 fra
.me
.REG
[1] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
835 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
836 if (!once_value_19
) {
837 fra
.me
.REG
[1] = BOX_NativeString("(");
839 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
840 once_value_19
= fra
.me
.REG
[1];
841 register_static_object(&once_value_19
);
842 } else fra
.me
.REG
[1] = once_value_19
;
843 fra
.me
.REG
[1] = fra
.me
.REG
[1];
844 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
845 if (!once_value_20
) {
846 fra
.me
.REG
[1] = BOX_NativeString(", ");
848 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
849 once_value_20
= fra
.me
.REG
[1];
850 register_static_object(&once_value_20
);
851 } else fra
.me
.REG
[1] = once_value_20
;
852 fra
.me
.REG
[1] = fra
.me
.REG
[1];
853 fra
.me
.REG
[1] = CALL_string___Collection___join(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
854 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
855 if (!once_value_21
) {
856 fra
.me
.REG
[1] = BOX_NativeString(");");
858 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
859 once_value_21
= fra
.me
.REG
[1];
860 register_static_object(&once_value_21
);
861 } else fra
.me
.REG
[1] = once_value_21
;
862 fra
.me
.REG
[1] = fra
.me
.REG
[1];
863 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
864 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
865 CALL_compiling_base___CompilerVisitor___add_decl(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
867 stack_frame_head
= fra
.me
.prev
;
870 void compiling_global___MMModule___compile_local_table_to_c(val_t p0
, val_t p1
){
871 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
875 static val_t once_value_1
; /* Once value */
876 static val_t once_value_2
; /* Once value */
877 static val_t once_value_3
; /* Once value */
878 static val_t once_value_5
; /* Once value */
879 static val_t once_value_6
; /* Once value */
880 static val_t once_value_7
; /* Once value */
881 static val_t once_value_8
; /* Once value */
882 static val_t once_value_10
; /* Once value */
883 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
884 fra
.me
.file
= LOCATE_compiling_global
;
886 fra
.me
.meth
= LOCATE_compiling_global___MMModule___compile_local_table_to_c
;
887 fra
.me
.has_broke
= 0;
889 fra
.me
.REG
[0] = NIT_NULL
;
890 fra
.me
.REG
[1] = NIT_NULL
;
891 fra
.me
.REG
[2] = NIT_NULL
;
892 fra
.me
.REG
[3] = NIT_NULL
;
893 fra
.me
.REG
[4] = NIT_NULL
;
896 /* ./compiling//compiling_global.nit:119 */
898 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
900 fra
.me
.REG
[3] = BOX_NativeString("const char *LOCATE_");
902 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
903 once_value_1
= fra
.me
.REG
[3];
904 register_static_object(&once_value_1
);
905 } else fra
.me
.REG
[3] = once_value_1
;
906 fra
.me
.REG
[3] = fra
.me
.REG
[3];
907 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
908 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
909 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
910 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
912 fra
.me
.REG
[3] = BOX_NativeString(" = \"");
914 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
915 once_value_2
= fra
.me
.REG
[3];
916 register_static_object(&once_value_2
);
917 } else fra
.me
.REG
[3] = once_value_2
;
918 fra
.me
.REG
[3] = fra
.me
.REG
[3];
919 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
920 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
921 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
922 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
924 fra
.me
.REG
[3] = BOX_NativeString("\";");
926 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
927 once_value_3
= fra
.me
.REG
[3];
928 register_static_object(&once_value_3
);
929 } else fra
.me
.REG
[3] = once_value_3
;
930 fra
.me
.REG
[3] = fra
.me
.REG
[3];
931 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
932 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
933 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
934 /* ./compiling//compiling_global.nit:121 */
935 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
936 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
937 REGB0
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
938 if (UNTAG_Bool(REGB0
)) {
939 REGB0
= TAG_Bool(true);
941 fra
.me
.REG
[2] = CALL_table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
942 REGB1
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
945 if (UNTAG_Bool(REGB0
)) {
946 /* ./compiling//compiling_global.nit:122 */
949 /* ./compiling//compiling_global.nit:125 */
951 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
953 fra
.me
.REG
[3] = BOX_NativeString("const int SFT_");
955 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
956 once_value_5
= fra
.me
.REG
[3];
957 register_static_object(&once_value_5
);
958 } else fra
.me
.REG
[3] = once_value_5
;
959 fra
.me
.REG
[3] = fra
.me
.REG
[3];
960 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
961 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
962 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
963 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
965 fra
.me
.REG
[3] = BOX_NativeString("[");
967 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
968 once_value_6
= fra
.me
.REG
[3];
969 register_static_object(&once_value_6
);
970 } else fra
.me
.REG
[3] = once_value_6
;
971 fra
.me
.REG
[3] = fra
.me
.REG
[3];
972 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
973 fra
.me
.REG
[3] = CALL_table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
974 /* ./../lib/standard//collection//array.nit:23 */
975 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
976 if (UNTAG_Bool(REGB0
)) {
978 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
980 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
981 /* ./compiling//compiling_global.nit:125 */
982 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB0
)(REGB0
);
983 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
985 fra
.me
.REG
[3] = BOX_NativeString("] = {");
987 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
988 once_value_7
= fra
.me
.REG
[3];
989 register_static_object(&once_value_7
);
990 } else fra
.me
.REG
[3] = once_value_7
;
991 fra
.me
.REG
[3] = fra
.me
.REG
[3];
992 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
993 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
994 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
995 /* ./compiling//compiling_global.nit:126 */
996 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
997 /* ./compiling//compiling_global.nit:127 */
998 fra
.me
.REG
[0] = CALL_table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
999 /* ./../lib/standard//collection//array.nit:234 */
1001 /* ./../lib/standard//collection//array.nit:235 */
1002 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1003 if (UNTAG_Bool(REGB1
)) {
1005 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1007 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1008 /* ./../lib/standard//collection//array.nit:236 */
1009 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[0]);
1010 /* ./../lib/standard//collection//array.nit:237 */
1012 /* ./../lib/standard//collection//array.nit:23 */
1013 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1014 if (UNTAG_Bool(REGB1
)) {
1016 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1018 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1019 /* ./../lib/standard//kernel.nit:212 */
1020 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1021 /* ./../lib/standard//collection//array.nit:237 */
1022 if (UNTAG_Bool(REGB1
)) {
1023 /* ./../lib/standard//collection//array.nit:238 */
1024 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1025 if (UNTAG_Bool(REGB1
)) {
1026 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1028 /* ./../lib/standard//collection//array.nit:654 */
1029 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1030 /* ./compiling//compiling_global.nit:128 */
1031 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1032 fra
.me
.REG
[4] = CALL_compiling_global___ModuleTableElt___value(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1033 if (!once_value_8
) {
1034 fra
.me
.REG
[3] = BOX_NativeString(",");
1036 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
1037 once_value_8
= fra
.me
.REG
[3];
1038 register_static_object(&once_value_8
);
1039 } else fra
.me
.REG
[3] = once_value_8
;
1040 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1041 fra
.me
.REG
[3] = CALL_string___String_____plus(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1042 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1043 /* ./../lib/standard//collection//array.nit:239 */
1045 /* ./../lib/standard//kernel.nit:215 */
1046 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1047 /* ./../lib/standard//collection//array.nit:239 */
1050 /* ./../lib/standard//collection//array.nit:237 */
1055 /* ./compiling//compiling_global.nit:130 */
1056 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1057 /* ./compiling//compiling_global.nit:131 */
1058 if (!once_value_10
) {
1059 fra
.me
.REG
[2] = BOX_NativeString("};");
1061 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1062 once_value_10
= fra
.me
.REG
[2];
1063 register_static_object(&once_value_10
);
1064 } else fra
.me
.REG
[2] = once_value_10
;
1065 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1066 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1068 stack_frame_head
= fra
.me
.prev
;
1071 void compiling_global___AbsTableElt___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1072 struct {struct stack_frame_t me
;} fra
;
1074 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1075 fra
.me
.file
= LOCATE_compiling_global
;
1077 fra
.me
.meth
= LOCATE_compiling_global___AbsTableElt___compile_macros
;
1078 fra
.me
.has_broke
= 0;
1079 fra
.me
.REG_size
= 0;
1080 /* ./compiling//compiling_global.nit:138 */
1081 nit_abort("Deferred method called", NULL
, LOCATE_compiling_global
, 138);
1082 stack_frame_head
= fra
.me
.prev
;
1085 val_t
compiling_global___TableElt___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1086 struct {struct stack_frame_t me
;} fra
;
1088 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1089 fra
.me
.file
= LOCATE_compiling_global
;
1091 fra
.me
.meth
= LOCATE_compiling_global___TableElt___compile_to_c
;
1092 fra
.me
.has_broke
= 0;
1093 fra
.me
.REG_size
= 0;
1094 /* ./compiling//compiling_global.nit:143 */
1095 nit_abort("Deferred method called", NULL
, LOCATE_compiling_global
, 143);
1096 stack_frame_head
= fra
.me
.prev
;
1099 val_t
compiling_global___ModuleTableElt___value(val_t p0
, val_t p1
){
1100 struct {struct stack_frame_t me
;} fra
;
1102 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1103 fra
.me
.file
= LOCATE_compiling_global
;
1105 fra
.me
.meth
= LOCATE_compiling_global___ModuleTableElt___value
;
1106 fra
.me
.has_broke
= 0;
1107 fra
.me
.REG_size
= 0;
1108 /* ./compiling//compiling_global.nit:148 */
1109 nit_abort("Deferred method called", NULL
, LOCATE_compiling_global
, 148);
1110 stack_frame_head
= fra
.me
.prev
;
1113 val_t
compiling_global___ModuleTableEltGroup___value(val_t p0
, val_t p1
){
1114 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1117 static val_t once_value_1
; /* Once value */
1118 static val_t once_value_2
; /* Once value */
1119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1120 fra
.me
.file
= LOCATE_compiling_global
;
1122 fra
.me
.meth
= LOCATE_compiling_global___ModuleTableEltGroup___value
;
1123 fra
.me
.has_broke
= 0;
1124 fra
.me
.REG_size
= 4;
1125 fra
.me
.REG
[0] = NIT_NULL
;
1126 fra
.me
.REG
[1] = NIT_NULL
;
1127 fra
.me
.REG
[2] = NIT_NULL
;
1128 fra
.me
.REG
[3] = NIT_NULL
;
1131 /* ./compiling//compiling_global.nit:153 */
1133 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1134 if (!once_value_1
) {
1135 fra
.me
.REG
[3] = BOX_NativeString("");
1137 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1138 once_value_1
= fra
.me
.REG
[3];
1139 register_static_object(&once_value_1
);
1140 } else fra
.me
.REG
[3] = once_value_1
;
1141 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1142 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1143 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1144 fra
.me
.REG
[0] = CALL_table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1145 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1146 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1147 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1148 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1149 if (!once_value_2
) {
1150 fra
.me
.REG
[0] = BOX_NativeString(" /* Group of ? */");
1151 REGB0
= TAG_Int(17);
1152 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1153 once_value_2
= fra
.me
.REG
[0];
1154 register_static_object(&once_value_2
);
1155 } else fra
.me
.REG
[0] = once_value_2
;
1156 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1157 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1158 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1161 stack_frame_head
= fra
.me
.prev
;
1162 return fra
.me
.REG
[2];
1164 void compiling_global___ModuleTableEltGroup___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1165 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1170 static val_t once_value_1
; /* Once value */
1171 static val_t once_value_2
; /* Once value */
1172 static val_t once_value_3
; /* Once value */
1173 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1174 fra
.me
.file
= LOCATE_compiling_global
;
1176 fra
.me
.meth
= LOCATE_compiling_global___ModuleTableEltGroup___compile_macros
;
1177 fra
.me
.has_broke
= 0;
1178 fra
.me
.REG_size
= 7;
1179 fra
.me
.REG
[0] = NIT_NULL
;
1180 fra
.me
.REG
[1] = NIT_NULL
;
1181 fra
.me
.REG
[2] = NIT_NULL
;
1182 fra
.me
.REG
[3] = NIT_NULL
;
1183 fra
.me
.REG
[4] = NIT_NULL
;
1184 fra
.me
.REG
[5] = NIT_NULL
;
1185 fra
.me
.REG
[6] = NIT_NULL
;
1189 /* ./compiling//compiling_global.nit:156 */
1191 /* ./compiling//compiling_global.nit:157 */
1192 fra
.me
.REG
[0] = CALL_table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1193 /* ./../lib/standard//collection//array.nit:234 */
1195 /* ./../lib/standard//collection//array.nit:235 */
1196 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1197 if (UNTAG_Bool(REGB2
)) {
1199 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1201 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1202 /* ./../lib/standard//collection//array.nit:236 */
1203 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[0]);
1204 /* ./../lib/standard//collection//array.nit:237 */
1206 /* ./../lib/standard//collection//array.nit:23 */
1207 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1208 if (UNTAG_Bool(REGB2
)) {
1210 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1212 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1213 /* ./../lib/standard//kernel.nit:212 */
1214 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1215 /* ./../lib/standard//collection//array.nit:237 */
1216 if (UNTAG_Bool(REGB2
)) {
1217 /* ./../lib/standard//collection//array.nit:238 */
1218 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1219 if (UNTAG_Bool(REGB2
)) {
1220 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1222 /* ./../lib/standard//collection//array.nit:654 */
1223 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
1224 /* ./compiling//compiling_global.nit:158 */
1226 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
1227 if (!once_value_1
) {
1228 fra
.me
.REG
[6] = BOX_NativeString("");
1230 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
1231 once_value_1
= fra
.me
.REG
[6];
1232 register_static_object(&once_value_1
);
1233 } else fra
.me
.REG
[6] = once_value_1
;
1234 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1235 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1236 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1237 if (!once_value_2
) {
1238 fra
.me
.REG
[6] = BOX_NativeString(" + ");
1240 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
1241 once_value_2
= fra
.me
.REG
[6];
1242 register_static_object(&once_value_2
);
1243 } else fra
.me
.REG
[6] = once_value_2
;
1244 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1245 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1246 fra
.me
.REG
[6] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1247 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1248 if (!once_value_3
) {
1249 fra
.me
.REG
[6] = BOX_NativeString("");
1251 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
1252 once_value_3
= fra
.me
.REG
[6];
1253 register_static_object(&once_value_3
);
1254 } else fra
.me
.REG
[6] = once_value_3
;
1255 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1256 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1257 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1258 CALL_compiling_global___AbsTableElt___compile_macros(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
1259 /* ./compiling//compiling_global.nit:159 */
1261 /* ./../lib/standard//kernel.nit:215 */
1262 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1263 /* ./compiling//compiling_global.nit:159 */
1265 /* ./../lib/standard//collection//array.nit:239 */
1267 /* ./../lib/standard//kernel.nit:215 */
1268 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1269 /* ./../lib/standard//collection//array.nit:239 */
1272 /* ./../lib/standard//collection//array.nit:237 */
1277 stack_frame_head
= fra
.me
.prev
;
1280 void compiling_global___TableEltMeth___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1281 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1284 static val_t once_value_1
; /* Once value */
1285 static val_t once_value_2
; /* Once value */
1286 static val_t once_value_3
; /* Once value */
1287 static val_t once_value_4
; /* Once value */
1288 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1289 fra
.me
.file
= LOCATE_compiling_global
;
1291 fra
.me
.meth
= LOCATE_compiling_global___TableEltMeth___compile_macros
;
1292 fra
.me
.has_broke
= 0;
1293 fra
.me
.REG_size
= 5;
1294 fra
.me
.REG
[0] = NIT_NULL
;
1295 fra
.me
.REG
[1] = NIT_NULL
;
1296 fra
.me
.REG
[2] = NIT_NULL
;
1297 fra
.me
.REG
[3] = NIT_NULL
;
1298 fra
.me
.REG
[4] = NIT_NULL
;
1302 /* ./compiling//compiling_global.nit:167 */
1303 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1304 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1305 /* ./compiling//compiling_global.nit:168 */
1307 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1308 if (!once_value_1
) {
1309 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1311 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1312 once_value_1
= fra
.me
.REG
[4];
1313 register_static_object(&once_value_1
);
1314 } else fra
.me
.REG
[4] = once_value_1
;
1315 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1316 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1317 fra
.me
.REG
[4] = CALL_compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1318 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1319 if (!once_value_2
) {
1320 fra
.me
.REG
[4] = BOX_NativeString("(recv) ((");
1322 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1323 once_value_2
= fra
.me
.REG
[4];
1324 register_static_object(&once_value_2
);
1325 } else fra
.me
.REG
[4] = once_value_2
;
1326 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1327 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1328 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1329 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1330 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1331 if (!once_value_3
) {
1332 fra
.me
.REG
[0] = BOX_NativeString("_t)CALL((recv), (");
1333 REGB0
= TAG_Int(17);
1334 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1335 once_value_3
= fra
.me
.REG
[0];
1336 register_static_object(&once_value_3
);
1337 } else fra
.me
.REG
[0] = once_value_3
;
1338 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1339 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1340 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1341 if (!once_value_4
) {
1342 fra
.me
.REG
[2] = BOX_NativeString(")))");
1344 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1345 once_value_4
= fra
.me
.REG
[2];
1346 register_static_object(&once_value_4
);
1347 } else fra
.me
.REG
[2] = once_value_4
;
1348 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1349 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1350 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1351 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1352 stack_frame_head
= fra
.me
.prev
;
1355 val_t
compiling_global___TableEltMeth___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1356 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1358 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1359 fra
.me
.file
= LOCATE_compiling_global
;
1361 fra
.me
.meth
= LOCATE_compiling_global___TableEltMeth___compile_to_c
;
1362 fra
.me
.has_broke
= 0;
1363 fra
.me
.REG_size
= 3;
1364 fra
.me
.REG
[0] = NIT_NULL
;
1365 fra
.me
.REG
[1] = NIT_NULL
;
1366 fra
.me
.REG
[2] = NIT_NULL
;
1370 /* ./compiling//compiling_global.nit:173 */
1371 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1372 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1373 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1374 /* ./compiling//compiling_global.nit:174 */
1375 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1378 stack_frame_head
= fra
.me
.prev
;
1379 return fra
.me
.REG
[0];
1381 void compiling_global___TableEltSuper___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1382 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1385 static val_t once_value_1
; /* Once value */
1386 static val_t once_value_2
; /* Once value */
1387 static val_t once_value_3
; /* Once value */
1388 static val_t once_value_4
; /* Once value */
1389 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1390 fra
.me
.file
= LOCATE_compiling_global
;
1392 fra
.me
.meth
= LOCATE_compiling_global___TableEltSuper___compile_macros
;
1393 fra
.me
.has_broke
= 0;
1394 fra
.me
.REG_size
= 5;
1395 fra
.me
.REG
[0] = NIT_NULL
;
1396 fra
.me
.REG
[1] = NIT_NULL
;
1397 fra
.me
.REG
[2] = NIT_NULL
;
1398 fra
.me
.REG
[3] = NIT_NULL
;
1399 fra
.me
.REG
[4] = NIT_NULL
;
1403 /* ./compiling//compiling_global.nit:181 */
1404 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1405 /* ./compiling//compiling_global.nit:182 */
1407 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1408 if (!once_value_1
) {
1409 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1411 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1412 once_value_1
= fra
.me
.REG
[4];
1413 register_static_object(&once_value_1
);
1414 } else fra
.me
.REG
[4] = once_value_1
;
1415 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1416 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1417 fra
.me
.REG
[4] = CALL_compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1418 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1419 if (!once_value_2
) {
1420 fra
.me
.REG
[4] = BOX_NativeString("(recv) ((");
1422 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1423 once_value_2
= fra
.me
.REG
[4];
1424 register_static_object(&once_value_2
);
1425 } else fra
.me
.REG
[4] = once_value_2
;
1426 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1427 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1428 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1429 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1430 if (!once_value_3
) {
1431 fra
.me
.REG
[0] = BOX_NativeString("_t)CALL((recv), (");
1432 REGB0
= TAG_Int(17);
1433 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1434 once_value_3
= fra
.me
.REG
[0];
1435 register_static_object(&once_value_3
);
1436 } else fra
.me
.REG
[0] = once_value_3
;
1437 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1438 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1439 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1440 if (!once_value_4
) {
1441 fra
.me
.REG
[2] = BOX_NativeString(")))");
1443 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1444 once_value_4
= fra
.me
.REG
[2];
1445 register_static_object(&once_value_4
);
1446 } else fra
.me
.REG
[2] = once_value_4
;
1447 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1448 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1449 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1450 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1451 stack_frame_head
= fra
.me
.prev
;
1454 val_t
compiling_global___TableEltSuper___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1455 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1461 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1462 fra
.me
.file
= LOCATE_compiling_global
;
1464 fra
.me
.meth
= LOCATE_compiling_global___TableEltSuper___compile_to_c
;
1465 fra
.me
.has_broke
= 0;
1466 fra
.me
.REG_size
= 7;
1467 fra
.me
.REG
[0] = NIT_NULL
;
1468 fra
.me
.REG
[1] = NIT_NULL
;
1469 fra
.me
.REG
[2] = NIT_NULL
;
1470 fra
.me
.REG
[3] = NIT_NULL
;
1471 fra
.me
.REG
[4] = NIT_NULL
;
1472 fra
.me
.REG
[5] = NIT_NULL
;
1473 fra
.me
.REG
[6] = NIT_NULL
;
1477 /* ./compiling//compiling_global.nit:187 */
1478 fra
.me
.REG
[1] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1479 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1480 /* ./compiling//compiling_global.nit:188 */
1481 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1482 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1483 /* ./compiling//compiling_global.nit:189 */
1484 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1485 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1486 /* ./compiling//compiling_global.nit:190 */
1487 REGB0
= TAG_Bool(false);
1488 /* ./../lib/standard//collection//array.nit:234 */
1490 /* ./../lib/standard//collection//array.nit:235 */
1491 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1492 if (UNTAG_Bool(REGB2
)) {
1494 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1496 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1497 /* ./../lib/standard//collection//array.nit:236 */
1498 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[3]);
1499 /* ./../lib/standard//collection//array.nit:237 */
1501 /* ./../lib/standard//collection//array.nit:23 */
1502 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1503 if (UNTAG_Bool(REGB2
)) {
1505 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1507 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1508 /* ./../lib/standard//kernel.nit:212 */
1509 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1510 /* ./../lib/standard//collection//array.nit:237 */
1511 if (UNTAG_Bool(REGB2
)) {
1512 /* ./../lib/standard//collection//array.nit:238 */
1513 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1514 if (UNTAG_Bool(REGB2
)) {
1515 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1517 /* ./../lib/standard//collection//array.nit:654 */
1518 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1519 /* ./compiling//compiling_global.nit:193 */
1520 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[1]));
1521 if (UNTAG_Bool(REGB2
)) {
1523 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
1526 if (UNTAG_Bool(REGB2
)) {
1527 /* ./compiling//compiling_global.nit:194 */
1528 REGB2
= TAG_Bool(true);
1531 /* ./compiling//compiling_global.nit:195 */
1532 if (UNTAG_Bool(REGB0
)) {
1533 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1534 REGB2
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1536 REGB3
= TAG_Bool(false);
1539 if (UNTAG_Bool(REGB2
)) {
1540 /* ./compiling//compiling_global.nit:196 */
1541 REGB2
= CALL_abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1542 if (UNTAG_Bool(REGB2
)) {
1543 /* ./compiling//compiling_global.nit:198 */
1544 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1545 fra
.me
.REG
[5] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1550 /* ./../lib/standard//collection//array.nit:239 */
1552 /* ./../lib/standard//kernel.nit:215 */
1553 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1554 /* ./../lib/standard//collection//array.nit:239 */
1557 /* ./../lib/standard//collection//array.nit:237 */
1562 /* ./compiling//compiling_global.nit:202 */
1563 nit_abort("Aborted", NULL
, LOCATE_compiling_global
, 202);
1565 stack_frame_head
= fra
.me
.prev
;
1566 return fra
.me
.REG
[5];
1568 void compiling_global___TableEltAttr___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1569 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1572 static val_t once_value_1
; /* Once value */
1573 static val_t once_value_2
; /* Once value */
1574 static val_t once_value_3
; /* Once value */
1575 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1576 fra
.me
.file
= LOCATE_compiling_global
;
1578 fra
.me
.meth
= LOCATE_compiling_global___TableEltAttr___compile_macros
;
1579 fra
.me
.has_broke
= 0;
1580 fra
.me
.REG_size
= 5;
1581 fra
.me
.REG
[0] = NIT_NULL
;
1582 fra
.me
.REG
[1] = NIT_NULL
;
1583 fra
.me
.REG
[2] = NIT_NULL
;
1584 fra
.me
.REG
[3] = NIT_NULL
;
1585 fra
.me
.REG
[4] = NIT_NULL
;
1589 /* ./compiling//compiling_global.nit:209 */
1590 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1591 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1592 /* ./compiling//compiling_global.nit:210 */
1594 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1595 if (!once_value_1
) {
1596 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1598 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1599 once_value_1
= fra
.me
.REG
[4];
1600 register_static_object(&once_value_1
);
1601 } else fra
.me
.REG
[4] = once_value_1
;
1602 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1603 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1604 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1605 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1606 if (!once_value_2
) {
1607 fra
.me
.REG
[0] = BOX_NativeString("(recv) ATTR(recv, (");
1608 REGB0
= TAG_Int(19);
1609 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1610 once_value_2
= fra
.me
.REG
[0];
1611 register_static_object(&once_value_2
);
1612 } else fra
.me
.REG
[0] = once_value_2
;
1613 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1614 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1615 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1616 if (!once_value_3
) {
1617 fra
.me
.REG
[2] = BOX_NativeString("))");
1619 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1620 once_value_3
= fra
.me
.REG
[2];
1621 register_static_object(&once_value_3
);
1622 } else fra
.me
.REG
[2] = once_value_3
;
1623 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1624 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1625 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1626 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1627 stack_frame_head
= fra
.me
.prev
;
1630 val_t
compiling_global___TableEltAttr___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1631 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1634 static val_t once_value_1
; /* Once value */
1635 static val_t once_value_2
; /* Once value */
1636 static val_t once_value_3
; /* Once value */
1637 static val_t once_value_4
; /* Once value */
1638 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1639 fra
.me
.file
= LOCATE_compiling_global
;
1641 fra
.me
.meth
= LOCATE_compiling_global___TableEltAttr___compile_to_c
;
1642 fra
.me
.has_broke
= 0;
1643 fra
.me
.REG_size
= 6;
1644 fra
.me
.REG
[0] = NIT_NULL
;
1645 fra
.me
.REG
[1] = NIT_NULL
;
1646 fra
.me
.REG
[2] = NIT_NULL
;
1647 fra
.me
.REG
[3] = NIT_NULL
;
1648 fra
.me
.REG
[4] = NIT_NULL
;
1649 fra
.me
.REG
[5] = NIT_NULL
;
1653 /* ./compiling//compiling_global.nit:215 */
1654 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1655 /* ./compiling//compiling_global.nit:216 */
1656 fra
.me
.REG
[3] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1657 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1658 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1659 /* ./compiling//compiling_global.nit:217 */
1661 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
1662 if (!once_value_1
) {
1663 fra
.me
.REG
[5] = BOX_NativeString("/* ");
1665 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1666 once_value_1
= fra
.me
.REG
[5];
1667 register_static_object(&once_value_1
);
1668 } else fra
.me
.REG
[5] = once_value_1
;
1669 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1670 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1671 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1672 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1673 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1674 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1675 if (!once_value_2
) {
1676 fra
.me
.REG
[0] = BOX_NativeString(": Attribute ");
1677 REGB0
= TAG_Int(12);
1678 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1679 once_value_2
= fra
.me
.REG
[0];
1680 register_static_object(&once_value_2
);
1681 } else fra
.me
.REG
[0] = once_value_2
;
1682 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1683 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1684 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1685 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1686 if (!once_value_3
) {
1687 fra
.me
.REG
[2] = BOX_NativeString("::");
1689 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1690 once_value_3
= fra
.me
.REG
[2];
1691 register_static_object(&once_value_3
);
1692 } else fra
.me
.REG
[2] = once_value_3
;
1693 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1694 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1695 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1696 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1697 if (!once_value_4
) {
1698 fra
.me
.REG
[3] = BOX_NativeString(" */");
1700 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1701 once_value_4
= fra
.me
.REG
[3];
1702 register_static_object(&once_value_4
);
1703 } else fra
.me
.REG
[3] = once_value_4
;
1704 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1705 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1706 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1709 stack_frame_head
= fra
.me
.prev
;
1710 return fra
.me
.REG
[4];
1712 val_t
compiling_global___AbsTableEltClass___symbol(val_t p0
){
1713 struct {struct stack_frame_t me
;} fra
;
1715 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1716 fra
.me
.file
= LOCATE_compiling_global
;
1718 fra
.me
.meth
= LOCATE_compiling_global___AbsTableEltClass___symbol
;
1719 fra
.me
.has_broke
= 0;
1720 fra
.me
.REG_size
= 0;
1721 /* ./compiling//compiling_global.nit:222 */
1722 nit_abort("Deferred method called", NULL
, LOCATE_compiling_global
, 222);
1723 stack_frame_head
= fra
.me
.prev
;
1726 void compiling_global___AbsTableEltClass___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1727 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1730 static val_t once_value_1
; /* Once value */
1731 static val_t once_value_2
; /* Once value */
1732 static val_t once_value_3
; /* Once value */
1733 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1734 fra
.me
.file
= LOCATE_compiling_global
;
1736 fra
.me
.meth
= LOCATE_compiling_global___AbsTableEltClass___compile_macros
;
1737 fra
.me
.has_broke
= 0;
1738 fra
.me
.REG_size
= 5;
1739 fra
.me
.REG
[0] = NIT_NULL
;
1740 fra
.me
.REG
[1] = NIT_NULL
;
1741 fra
.me
.REG
[2] = NIT_NULL
;
1742 fra
.me
.REG
[3] = NIT_NULL
;
1743 fra
.me
.REG
[4] = NIT_NULL
;
1747 /* ./compiling//compiling_global.nit:227 */
1749 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1750 if (!once_value_1
) {
1751 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1753 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1754 once_value_1
= fra
.me
.REG
[4];
1755 register_static_object(&once_value_1
);
1756 } else fra
.me
.REG
[4] = once_value_1
;
1757 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1758 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1759 fra
.me
.REG
[0] = CALL_compiling_global___AbsTableEltClass___symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1760 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1761 if (!once_value_2
) {
1762 fra
.me
.REG
[0] = BOX_NativeString(" (");
1764 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1765 once_value_2
= fra
.me
.REG
[0];
1766 register_static_object(&once_value_2
);
1767 } else fra
.me
.REG
[0] = once_value_2
;
1768 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1769 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1770 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1771 if (!once_value_3
) {
1772 fra
.me
.REG
[2] = BOX_NativeString(")");
1774 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1775 once_value_3
= fra
.me
.REG
[2];
1776 register_static_object(&once_value_3
);
1777 } else fra
.me
.REG
[2] = once_value_3
;
1778 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1779 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1780 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1781 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1782 stack_frame_head
= fra
.me
.prev
;
1785 val_t
compiling_global___TableEltClassId___symbol(val_t p0
){
1786 struct {struct stack_frame_t me
;} fra
;
1788 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1789 fra
.me
.file
= LOCATE_compiling_global
;
1791 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassId___symbol
;
1792 fra
.me
.has_broke
= 0;
1793 fra
.me
.REG_size
= 1;
1794 fra
.me
.REG
[0] = NIT_NULL
;
1796 /* ./compiling//compiling_global.nit:232 */
1797 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1798 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1799 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1802 stack_frame_head
= fra
.me
.prev
;
1803 return fra
.me
.REG
[0];
1805 val_t
compiling_global___TableEltClassId___value(val_t p0
, val_t p1
){
1806 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1809 static val_t once_value_1
; /* Once value */
1810 static val_t once_value_2
; /* Once value */
1811 static val_t once_value_3
; /* Once value */
1812 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1813 fra
.me
.file
= LOCATE_compiling_global
;
1815 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassId___value
;
1816 fra
.me
.has_broke
= 0;
1817 fra
.me
.REG_size
= 4;
1818 fra
.me
.REG
[0] = NIT_NULL
;
1819 fra
.me
.REG
[1] = NIT_NULL
;
1820 fra
.me
.REG
[2] = NIT_NULL
;
1821 fra
.me
.REG
[3] = NIT_NULL
;
1824 /* ./compiling//compiling_global.nit:236 */
1826 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1827 if (!once_value_1
) {
1828 fra
.me
.REG
[3] = BOX_NativeString("");
1830 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1831 once_value_1
= fra
.me
.REG
[3];
1832 register_static_object(&once_value_1
);
1833 } else fra
.me
.REG
[3] = once_value_1
;
1834 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1835 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1836 fra
.me
.REG
[1] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1837 fra
.me
.REG
[3] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1838 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1839 fra
.me
.REG
[3] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1840 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1841 if (UNTAG_Bool(REGB0
)) {
1842 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 236);
1844 REGB0
= CALL_table_computation___CompiledClass___id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1845 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1846 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1847 if (!once_value_2
) {
1848 fra
.me
.REG
[3] = BOX_NativeString(" /* Id of ");
1849 REGB0
= TAG_Int(10);
1850 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1851 once_value_2
= fra
.me
.REG
[3];
1852 register_static_object(&once_value_2
);
1853 } else fra
.me
.REG
[3] = once_value_2
;
1854 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1855 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1856 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1857 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1858 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1859 if (!once_value_3
) {
1860 fra
.me
.REG
[0] = BOX_NativeString(" */");
1862 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1863 once_value_3
= fra
.me
.REG
[0];
1864 register_static_object(&once_value_3
);
1865 } else fra
.me
.REG
[0] = once_value_3
;
1866 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1867 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1868 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1871 stack_frame_head
= fra
.me
.prev
;
1872 return fra
.me
.REG
[2];
1874 val_t
compiling_global___TableEltClassInitTable___symbol(val_t p0
){
1875 struct {struct stack_frame_t me
;} fra
;
1877 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1878 fra
.me
.file
= LOCATE_compiling_global
;
1880 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassInitTable___symbol
;
1881 fra
.me
.has_broke
= 0;
1882 fra
.me
.REG_size
= 1;
1883 fra
.me
.REG
[0] = NIT_NULL
;
1885 /* ./compiling//compiling_global.nit:241 */
1886 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1887 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1888 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1891 stack_frame_head
= fra
.me
.prev
;
1892 return fra
.me
.REG
[0];
1894 val_t
compiling_global___TableEltClassInitTable___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1895 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1901 static val_t once_value_3
; /* Once value */
1902 static val_t once_value_4
; /* Once value */
1903 static val_t once_value_5
; /* Once value */
1904 static val_t once_value_6
; /* Once value */
1905 static val_t once_value_7
; /* Once value */
1906 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1907 fra
.me
.file
= LOCATE_compiling_global
;
1909 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassInitTable___compile_to_c
;
1910 fra
.me
.has_broke
= 0;
1911 fra
.me
.REG_size
= 7;
1912 fra
.me
.REG
[0] = NIT_NULL
;
1913 fra
.me
.REG
[1] = NIT_NULL
;
1914 fra
.me
.REG
[2] = NIT_NULL
;
1915 fra
.me
.REG
[3] = NIT_NULL
;
1916 fra
.me
.REG
[4] = NIT_NULL
;
1917 fra
.me
.REG
[5] = NIT_NULL
;
1918 fra
.me
.REG
[6] = NIT_NULL
;
1922 /* ./compiling//compiling_global.nit:245 */
1923 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1924 /* ./compiling//compiling_global.nit:246 */
1925 fra
.me
.REG
[3] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1926 fra
.me
.REG
[4] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1927 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1928 fra
.me
.REG
[4] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1929 /* ./compiling//compiling_global.nit:247 */
1930 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1931 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___reverse_linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1932 /* ./compiling//compiling_global.nit:248 */
1934 /* ./compiling//compiling_global.nit:249 */
1936 /* ./../lib/standard//collection//array.nit:243 */
1937 fra
.me
.REG
[5] = fra
.me
.REG
[3];
1939 /* ./../lib/standard//collection//array.nit:245 */
1941 /* ./../lib/standard//kernel.nit:213 */
1942 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
1943 /* ./../lib/standard//collection//array.nit:245 */
1944 if (UNTAG_Bool(REGB2
)) {
1945 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1946 if (UNTAG_Bool(REGB2
)) {
1948 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
1950 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1951 /* ./../lib/standard//kernel.nit:212 */
1952 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1954 /* ./../lib/standard//collection//array.nit:245 */
1955 REGB3
= TAG_Bool(false);
1958 if (UNTAG_Bool(REGB2
)) {
1960 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
1962 /* ./../lib/standard//collection//array.nit:246 */
1963 fra
.me
.REG
[5] = ATTR_array___Array____items(fra
.me
.REG
[5]);
1964 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1965 if (UNTAG_Bool(REGB2
)) {
1966 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
1968 /* ./../lib/standard//collection//array.nit:654 */
1969 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1970 /* ./../lib/standard//collection//array.nit:246 */
1973 /* ./compiling//compiling_global.nit:249 */
1974 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1975 if (UNTAG_Bool(REGB1
)) {
1976 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 249);
1978 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1979 fra
.me
.REG
[6] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1980 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1981 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[6]));
1982 if (UNTAG_Bool(REGB1
)) {
1984 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1987 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1988 if (UNTAG_Bool(REGB1
)) {
1989 /* ./compiling//compiling_global.nit:250 */
1991 /* ./../lib/standard//kernel.nit:215 */
1992 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1993 /* ./compiling//compiling_global.nit:250 */
1996 /* ./compiling//compiling_global.nit:249 */
2001 /* ./compiling//compiling_global.nit:252 */
2003 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
2004 if (!once_value_3
) {
2005 fra
.me
.REG
[6] = BOX_NativeString("");
2007 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
2008 once_value_3
= fra
.me
.REG
[6];
2009 register_static_object(&once_value_3
);
2010 } else fra
.me
.REG
[6] = once_value_3
;
2011 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2012 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2013 fra
.me
.REG
[6] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2014 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2015 if (!once_value_4
) {
2016 fra
.me
.REG
[6] = BOX_NativeString(" /* ");
2018 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
2019 once_value_4
= fra
.me
.REG
[6];
2020 register_static_object(&once_value_4
);
2021 } else fra
.me
.REG
[6] = once_value_4
;
2022 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2023 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2024 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2025 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2026 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2027 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2028 if (!once_value_5
) {
2029 fra
.me
.REG
[0] = BOX_NativeString(": ");
2031 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2032 once_value_5
= fra
.me
.REG
[0];
2033 register_static_object(&once_value_5
);
2034 } else fra
.me
.REG
[0] = once_value_5
;
2035 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2036 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2037 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2038 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2039 if (!once_value_6
) {
2040 fra
.me
.REG
[2] = BOX_NativeString(" < ");
2042 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2043 once_value_6
= fra
.me
.REG
[2];
2044 register_static_object(&once_value_6
);
2045 } else fra
.me
.REG
[2] = once_value_6
;
2046 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2047 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2048 fra
.me
.REG
[4] = CALL_table_computation___CompiledClass___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2049 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2050 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2051 if (!once_value_7
) {
2052 fra
.me
.REG
[4] = BOX_NativeString(": superclass init_table position */");
2053 REGB0
= TAG_Int(35);
2054 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2055 once_value_7
= fra
.me
.REG
[4];
2056 register_static_object(&once_value_7
);
2057 } else fra
.me
.REG
[4] = once_value_7
;
2058 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2059 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2060 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2063 stack_frame_head
= fra
.me
.prev
;
2064 return fra
.me
.REG
[3];
2066 val_t
compiling_global___TableEltClassColor___symbol(val_t p0
){
2067 struct {struct stack_frame_t me
;} fra
;
2069 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2070 fra
.me
.file
= LOCATE_compiling_global
;
2072 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassColor___symbol
;
2073 fra
.me
.has_broke
= 0;
2074 fra
.me
.REG_size
= 1;
2075 fra
.me
.REG
[0] = NIT_NULL
;
2077 /* ./compiling//compiling_global.nit:257 */
2078 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2079 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2080 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2083 stack_frame_head
= fra
.me
.prev
;
2084 return fra
.me
.REG
[0];
2086 val_t
compiling_global___TableEltClassColor___value(val_t p0
, val_t p1
){
2087 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2090 static val_t once_value_1
; /* Once value */
2091 static val_t once_value_2
; /* Once value */
2092 static val_t once_value_3
; /* Once value */
2093 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2094 fra
.me
.file
= LOCATE_compiling_global
;
2096 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassColor___value
;
2097 fra
.me
.has_broke
= 0;
2098 fra
.me
.REG_size
= 4;
2099 fra
.me
.REG
[0] = NIT_NULL
;
2100 fra
.me
.REG
[1] = NIT_NULL
;
2101 fra
.me
.REG
[2] = NIT_NULL
;
2102 fra
.me
.REG
[3] = NIT_NULL
;
2105 /* ./compiling//compiling_global.nit:261 */
2107 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2108 if (!once_value_1
) {
2109 fra
.me
.REG
[3] = BOX_NativeString("");
2111 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2112 once_value_1
= fra
.me
.REG
[3];
2113 register_static_object(&once_value_1
);
2114 } else fra
.me
.REG
[3] = once_value_1
;
2115 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2116 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2117 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2118 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2119 fra
.me
.REG
[1] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2120 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2121 if (!once_value_2
) {
2122 fra
.me
.REG
[1] = BOX_NativeString(" /* Color of ");
2123 REGB0
= TAG_Int(13);
2124 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
2125 once_value_2
= fra
.me
.REG
[1];
2126 register_static_object(&once_value_2
);
2127 } else fra
.me
.REG
[1] = once_value_2
;
2128 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2129 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2130 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2131 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2132 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2133 if (!once_value_3
) {
2134 fra
.me
.REG
[0] = BOX_NativeString(" */");
2136 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2137 once_value_3
= fra
.me
.REG
[0];
2138 register_static_object(&once_value_3
);
2139 } else fra
.me
.REG
[0] = once_value_3
;
2140 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2141 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2142 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2145 stack_frame_head
= fra
.me
.prev
;
2146 return fra
.me
.REG
[2];
2148 val_t
compiling_global___TableEltClassColor___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2149 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2152 static val_t once_value_1
; /* Once value */
2153 static val_t once_value_2
; /* Once value */
2154 static val_t once_value_3
; /* Once value */
2155 static val_t once_value_4
; /* Once value */
2156 static val_t once_value_5
; /* Once value */
2157 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2158 fra
.me
.file
= LOCATE_compiling_global
;
2160 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassColor___compile_to_c
;
2161 fra
.me
.has_broke
= 0;
2162 fra
.me
.REG_size
= 6;
2163 fra
.me
.REG
[0] = NIT_NULL
;
2164 fra
.me
.REG
[1] = NIT_NULL
;
2165 fra
.me
.REG
[2] = NIT_NULL
;
2166 fra
.me
.REG
[3] = NIT_NULL
;
2167 fra
.me
.REG
[4] = NIT_NULL
;
2168 fra
.me
.REG
[5] = NIT_NULL
;
2172 /* ./compiling//compiling_global.nit:266 */
2173 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2174 /* ./compiling//compiling_global.nit:267 */
2175 fra
.me
.REG
[3] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2176 fra
.me
.REG
[4] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2177 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2178 fra
.me
.REG
[4] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2179 /* ./compiling//compiling_global.nit:268 */
2181 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2182 if (!once_value_1
) {
2183 fra
.me
.REG
[5] = BOX_NativeString("");
2185 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2186 once_value_1
= fra
.me
.REG
[5];
2187 register_static_object(&once_value_1
);
2188 } else fra
.me
.REG
[5] = once_value_1
;
2189 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2190 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2191 REGB0
= CALL_table_computation___CompiledClass___id(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2192 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2193 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2194 if (!once_value_2
) {
2195 fra
.me
.REG
[5] = BOX_NativeString(" /* ");
2197 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2198 once_value_2
= fra
.me
.REG
[5];
2199 register_static_object(&once_value_2
);
2200 } else fra
.me
.REG
[5] = once_value_2
;
2201 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2202 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2203 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2204 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2205 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2206 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2207 if (!once_value_3
) {
2208 fra
.me
.REG
[0] = BOX_NativeString(": ");
2210 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2211 once_value_3
= fra
.me
.REG
[0];
2212 register_static_object(&once_value_3
);
2213 } else fra
.me
.REG
[0] = once_value_3
;
2214 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2215 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2216 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2217 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2218 if (!once_value_4
) {
2219 fra
.me
.REG
[2] = BOX_NativeString(" < ");
2221 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2222 once_value_4
= fra
.me
.REG
[2];
2223 register_static_object(&once_value_4
);
2224 } else fra
.me
.REG
[2] = once_value_4
;
2225 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2226 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2227 fra
.me
.REG
[4] = CALL_table_computation___CompiledClass___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2228 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2229 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2230 if (!once_value_5
) {
2231 fra
.me
.REG
[4] = BOX_NativeString(": superclass typecheck marker */");
2232 REGB0
= TAG_Int(32);
2233 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2234 once_value_5
= fra
.me
.REG
[4];
2235 register_static_object(&once_value_5
);
2236 } else fra
.me
.REG
[4] = once_value_5
;
2237 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2238 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2239 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2242 stack_frame_head
= fra
.me
.prev
;
2243 return fra
.me
.REG
[3];
2245 val_t
compiling_global___TableEltComposite___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2246 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2248 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2249 fra
.me
.file
= LOCATE_compiling_global
;
2251 fra
.me
.meth
= LOCATE_compiling_global___TableEltComposite___compile_to_c
;
2252 fra
.me
.has_broke
= 0;
2253 fra
.me
.REG_size
= 3;
2254 fra
.me
.REG
[0] = NIT_NULL
;
2255 fra
.me
.REG
[1] = NIT_NULL
;
2256 fra
.me
.REG
[2] = NIT_NULL
;
2260 /* ./compiling//compiling_global.nit:273 */
2261 nit_abort("Aborted", NULL
, LOCATE_compiling_global
, 273);
2262 stack_frame_head
= fra
.me
.prev
;
2265 val_t
compiling_global___TableEltClassSelfId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2266 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2269 static val_t once_value_1
; /* Once value */
2270 static val_t once_value_2
; /* Once value */
2271 static val_t once_value_3
; /* Once value */
2272 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2273 fra
.me
.file
= LOCATE_compiling_global
;
2275 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassSelfId___compile_to_c
;
2276 fra
.me
.has_broke
= 0;
2277 fra
.me
.REG_size
= 5;
2278 fra
.me
.REG
[0] = NIT_NULL
;
2279 fra
.me
.REG
[1] = NIT_NULL
;
2280 fra
.me
.REG
[2] = NIT_NULL
;
2281 fra
.me
.REG
[3] = NIT_NULL
;
2282 fra
.me
.REG
[4] = NIT_NULL
;
2286 /* ./compiling//compiling_global.nit:279 */
2287 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2288 /* ./compiling//compiling_global.nit:280 */
2290 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2291 if (!once_value_1
) {
2292 fra
.me
.REG
[4] = BOX_NativeString("");
2294 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2295 once_value_1
= fra
.me
.REG
[4];
2296 register_static_object(&once_value_1
);
2297 } else fra
.me
.REG
[4] = once_value_1
;
2298 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2299 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2300 fra
.me
.REG
[4] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2301 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2302 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2303 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2304 if (UNTAG_Bool(REGB0
)) {
2305 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 280);
2307 REGB0
= CALL_table_computation___CompiledClass___id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2308 fra
.me
.REG
[2] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2309 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2310 if (!once_value_2
) {
2311 fra
.me
.REG
[2] = BOX_NativeString(" /* ");
2313 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2314 once_value_2
= fra
.me
.REG
[2];
2315 register_static_object(&once_value_2
);
2316 } else fra
.me
.REG
[2] = once_value_2
;
2317 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2318 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2319 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2320 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2321 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2322 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2323 if (!once_value_3
) {
2324 fra
.me
.REG
[0] = BOX_NativeString(": Identity */");
2325 REGB0
= TAG_Int(13);
2326 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2327 once_value_3
= fra
.me
.REG
[0];
2328 register_static_object(&once_value_3
);
2329 } else fra
.me
.REG
[0] = once_value_3
;
2330 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2331 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2332 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2335 stack_frame_head
= fra
.me
.prev
;
2336 return fra
.me
.REG
[3];
2338 val_t
compiling_global___TableEltClassObjectSize___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2339 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2344 static val_t once_value_1
; /* Once value */
2345 static val_t once_value_3
; /* Once value */
2346 static val_t once_value_4
; /* Once value */
2347 static val_t once_value_5
; /* Once value */
2348 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2349 fra
.me
.file
= LOCATE_compiling_global
;
2351 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassObjectSize___compile_to_c
;
2352 fra
.me
.has_broke
= 0;
2353 fra
.me
.REG_size
= 5;
2354 fra
.me
.REG
[0] = NIT_NULL
;
2355 fra
.me
.REG
[1] = NIT_NULL
;
2356 fra
.me
.REG
[2] = NIT_NULL
;
2357 fra
.me
.REG
[3] = NIT_NULL
;
2358 fra
.me
.REG
[4] = NIT_NULL
;
2362 /* ./compiling//compiling_global.nit:287 */
2364 /* ./compiling//compiling_global.nit:288 */
2365 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2366 /* ./compiling//compiling_global.nit:289 */
2367 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2368 if (!once_value_1
) {
2369 fra
.me
.REG
[4] = BOX_NativeString("NativeArray");
2370 REGB1
= TAG_Int(11);
2371 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
2372 once_value_1
= fra
.me
.REG
[4];
2373 register_static_object(&once_value_1
);
2374 } else fra
.me
.REG
[4] = once_value_1
;
2375 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2376 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2377 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
2378 if (UNTAG_Bool(REGB1
)) {
2380 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2383 if (UNTAG_Bool(REGB1
)) {
2384 /* ./compiling//compiling_global.nit:290 */
2386 /* ./../lib/standard//kernel.nit:216 */
2387 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
2388 /* ./compiling//compiling_global.nit:290 */
2391 /* ./compiling//compiling_global.nit:292 */
2392 fra
.me
.REG
[4] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2393 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2394 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2395 /* ./compiling//compiling_global.nit:293 */
2396 fra
.me
.REG
[2] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2397 /* ./../lib/standard//collection//array.nit:234 */
2399 /* ./../lib/standard//collection//array.nit:235 */
2400 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2401 if (UNTAG_Bool(REGB2
)) {
2403 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
2405 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2406 /* ./../lib/standard//collection//array.nit:236 */
2407 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[2]);
2408 /* ./../lib/standard//collection//array.nit:237 */
2410 /* ./../lib/standard//collection//array.nit:23 */
2411 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2412 if (UNTAG_Bool(REGB2
)) {
2414 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
2416 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2417 /* ./../lib/standard//kernel.nit:212 */
2418 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
2419 /* ./../lib/standard//collection//array.nit:237 */
2420 if (UNTAG_Bool(REGB2
)) {
2421 /* ./../lib/standard//collection//array.nit:238 */
2422 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2423 if (UNTAG_Bool(REGB2
)) {
2424 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
2426 /* ./../lib/standard//collection//array.nit:654 */
2427 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
2428 /* ./compiling//compiling_global.nit:295 */
2430 /* ./../lib/standard//kernel.nit:215 */
2431 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2432 /* ./compiling//compiling_global.nit:295 */
2434 /* ./../lib/standard//collection//array.nit:239 */
2436 /* ./../lib/standard//kernel.nit:215 */
2437 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
2438 /* ./../lib/standard//collection//array.nit:239 */
2441 /* ./../lib/standard//collection//array.nit:237 */
2447 /* ./compiling//compiling_global.nit:298 */
2449 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
2450 if (!once_value_3
) {
2451 fra
.me
.REG
[2] = BOX_NativeString("");
2453 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB1
);
2454 once_value_3
= fra
.me
.REG
[2];
2455 register_static_object(&once_value_3
);
2456 } else fra
.me
.REG
[2] = once_value_3
;
2457 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2458 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2459 fra
.me
.REG
[2] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2460 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2461 if (!once_value_4
) {
2462 fra
.me
.REG
[2] = BOX_NativeString(" /* ");
2464 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2465 once_value_4
= fra
.me
.REG
[2];
2466 register_static_object(&once_value_4
);
2467 } else fra
.me
.REG
[2] = once_value_4
;
2468 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2469 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2470 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2471 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2472 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2473 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2474 if (!once_value_5
) {
2475 fra
.me
.REG
[0] = BOX_NativeString(": Object size (-1 if a NativeArray)*/");
2476 REGB0
= TAG_Int(37);
2477 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2478 once_value_5
= fra
.me
.REG
[0];
2479 register_static_object(&once_value_5
);
2480 } else fra
.me
.REG
[0] = once_value_5
;
2481 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2482 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2483 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2486 stack_frame_head
= fra
.me
.prev
;
2487 return fra
.me
.REG
[4];
2489 val_t
compiling_global___TableEltObjectId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2490 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2493 static val_t once_value_1
; /* Once value */
2494 static val_t once_value_2
; /* Once value */
2495 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2496 fra
.me
.file
= LOCATE_compiling_global
;
2498 fra
.me
.meth
= LOCATE_compiling_global___TableEltObjectId___compile_to_c
;
2499 fra
.me
.has_broke
= 0;
2500 fra
.me
.REG_size
= 4;
2501 fra
.me
.REG
[0] = NIT_NULL
;
2502 fra
.me
.REG
[1] = NIT_NULL
;
2503 fra
.me
.REG
[2] = NIT_NULL
;
2504 fra
.me
.REG
[3] = NIT_NULL
;
2508 /* ./compiling//compiling_global.nit:305 */
2509 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2510 /* ./compiling//compiling_global.nit:306 */
2512 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2513 if (!once_value_1
) {
2514 fra
.me
.REG
[3] = BOX_NativeString("/* ");
2516 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2517 once_value_1
= fra
.me
.REG
[3];
2518 register_static_object(&once_value_1
);
2519 } else fra
.me
.REG
[3] = once_value_1
;
2520 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2521 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2522 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2523 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2524 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2525 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2526 if (!once_value_2
) {
2527 fra
.me
.REG
[0] = BOX_NativeString(": Object_id */");
2528 REGB0
= TAG_Int(14);
2529 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2530 once_value_2
= fra
.me
.REG
[0];
2531 register_static_object(&once_value_2
);
2532 } else fra
.me
.REG
[0] = once_value_2
;
2533 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2534 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2535 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2538 stack_frame_head
= fra
.me
.prev
;
2539 return fra
.me
.REG
[2];
2541 val_t
compiling_global___TableEltVftPointer___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2542 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2545 static val_t once_value_1
; /* Once value */
2546 static val_t once_value_2
; /* Once value */
2547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2548 fra
.me
.file
= LOCATE_compiling_global
;
2550 fra
.me
.meth
= LOCATE_compiling_global___TableEltVftPointer___compile_to_c
;
2551 fra
.me
.has_broke
= 0;
2552 fra
.me
.REG_size
= 4;
2553 fra
.me
.REG
[0] = NIT_NULL
;
2554 fra
.me
.REG
[1] = NIT_NULL
;
2555 fra
.me
.REG
[2] = NIT_NULL
;
2556 fra
.me
.REG
[3] = NIT_NULL
;
2560 /* ./compiling//compiling_global.nit:313 */
2561 fra
.me
.REG
[1] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2562 /* ./compiling//compiling_global.nit:314 */
2564 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2565 if (!once_value_1
) {
2566 fra
.me
.REG
[3] = BOX_NativeString("/* ");
2568 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2569 once_value_1
= fra
.me
.REG
[3];
2570 register_static_object(&once_value_1
);
2571 } else fra
.me
.REG
[3] = once_value_1
;
2572 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2573 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2574 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2575 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2576 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2577 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2578 if (!once_value_2
) {
2579 fra
.me
.REG
[0] = BOX_NativeString(": Pointer to the classtable */");
2580 REGB0
= TAG_Int(30);
2581 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2582 once_value_2
= fra
.me
.REG
[0];
2583 register_static_object(&once_value_2
);
2584 } else fra
.me
.REG
[0] = once_value_2
;
2585 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2586 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2587 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2590 stack_frame_head
= fra
.me
.prev
;
2591 return fra
.me
.REG
[2];
2593 void compiling_global___MMLocalClass___declare_tables_to_c(val_t p0
, val_t p1
){
2594 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2598 static val_t once_value_1
; /* Once value */
2599 static val_t once_value_2
; /* Once value */
2600 static val_t once_value_3
; /* Once value */
2601 static val_t once_value_4
; /* Once value */
2602 static val_t once_value_5
; /* Once value */
2603 static val_t once_value_6
; /* Once value */
2604 static val_t once_value_7
; /* Once value */
2605 static val_t once_value_8
; /* Once value */
2606 static val_t once_value_9
; /* Once value */
2607 static val_t once_value_10
; /* Once value */
2608 static val_t once_value_11
; /* Once value */
2609 static val_t once_value_12
; /* Once value */
2610 static val_t once_value_13
; /* Once value */
2611 static val_t once_value_14
; /* Once value */
2612 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2613 fra
.me
.file
= LOCATE_compiling_global
;
2615 fra
.me
.meth
= LOCATE_compiling_global___MMLocalClass___declare_tables_to_c
;
2616 fra
.me
.has_broke
= 0;
2617 fra
.me
.REG_size
= 6;
2618 fra
.me
.REG
[0] = NIT_NULL
;
2619 fra
.me
.REG
[1] = NIT_NULL
;
2620 fra
.me
.REG
[2] = NIT_NULL
;
2621 fra
.me
.REG
[3] = NIT_NULL
;
2622 fra
.me
.REG
[4] = NIT_NULL
;
2623 fra
.me
.REG
[5] = NIT_NULL
;
2626 /* ./compiling//compiling_global.nit:324 */
2627 if (!once_value_1
) {
2628 fra
.me
.REG
[2] = BOX_NativeString("");
2630 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2631 once_value_1
= fra
.me
.REG
[2];
2632 register_static_object(&once_value_1
);
2633 } else fra
.me
.REG
[2] = once_value_1
;
2634 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2635 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2636 /* ./compiling//compiling_global.nit:325 */
2637 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2638 /* ./compiling//compiling_global.nit:326 */
2640 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2641 if (!once_value_2
) {
2642 fra
.me
.REG
[4] = BOX_NativeString("extern const classtable_elt_t VFT_");
2643 REGB0
= TAG_Int(34);
2644 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2645 once_value_2
= fra
.me
.REG
[4];
2646 register_static_object(&once_value_2
);
2647 } else fra
.me
.REG
[4] = once_value_2
;
2648 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2649 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2650 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2651 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2652 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2653 if (!once_value_3
) {
2654 fra
.me
.REG
[4] = BOX_NativeString("[];");
2656 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2657 once_value_3
= fra
.me
.REG
[4];
2658 register_static_object(&once_value_3
);
2659 } else fra
.me
.REG
[4] = once_value_3
;
2660 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2661 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2662 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2663 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2664 /* ./compiling//compiling_global.nit:327 */
2665 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2666 if (UNTAG_Bool(REGB0
)) {
2668 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2669 if (UNTAG_Bool(REGB1
)) {
2670 REGB1
= TAG_Bool(false);
2673 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2677 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2678 if (UNTAG_Bool(REGB0
)) {
2679 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2680 if (UNTAG_Bool(REGB0
)) {
2681 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 327);
2683 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2684 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2686 REGB1
= TAG_Bool(false);
2689 if (UNTAG_Bool(REGB0
)) {
2690 /* ./compiling//compiling_global.nit:328 */
2691 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2692 if (UNTAG_Bool(REGB0
)) {
2693 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 328);
2695 fra
.me
.REG
[2] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2696 /* ./compiling//compiling_global.nit:329 */
2698 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2699 if (!once_value_4
) {
2700 fra
.me
.REG
[4] = BOX_NativeString("struct TBOX_");
2701 REGB0
= TAG_Int(12);
2702 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2703 once_value_4
= fra
.me
.REG
[4];
2704 register_static_object(&once_value_4
);
2705 } else fra
.me
.REG
[4] = once_value_4
;
2706 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2707 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2708 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2709 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2710 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2711 if (!once_value_5
) {
2712 fra
.me
.REG
[4] = BOX_NativeString("");
2714 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2715 once_value_5
= fra
.me
.REG
[4];
2716 register_static_object(&once_value_5
);
2717 } else fra
.me
.REG
[4] = once_value_5
;
2718 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2719 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2720 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2721 /* ./compiling//compiling_global.nit:330 */
2723 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2724 if (!once_value_6
) {
2725 fra
.me
.REG
[5] = BOX_NativeString("");
2727 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2728 once_value_6
= fra
.me
.REG
[5];
2729 register_static_object(&once_value_6
);
2730 } else fra
.me
.REG
[5] = once_value_6
;
2731 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2732 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2733 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2734 if (!once_value_7
) {
2735 fra
.me
.REG
[5] = BOX_NativeString(" { const classtable_elt_t * vft; bigint object_id; ");
2736 REGB0
= TAG_Int(51);
2737 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2738 once_value_7
= fra
.me
.REG
[5];
2739 register_static_object(&once_value_7
);
2740 } else fra
.me
.REG
[5] = once_value_7
;
2741 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2742 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2743 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2744 if (!once_value_8
) {
2745 fra
.me
.REG
[5] = BOX_NativeString(" val;};");
2747 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2748 once_value_8
= fra
.me
.REG
[5];
2749 register_static_object(&once_value_8
);
2750 } else fra
.me
.REG
[5] = once_value_8
;
2751 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2752 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2753 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2754 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2755 /* ./compiling//compiling_global.nit:331 */
2757 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2758 if (!once_value_9
) {
2759 fra
.me
.REG
[5] = BOX_NativeString("val_t BOX_");
2760 REGB0
= TAG_Int(10);
2761 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2762 once_value_9
= fra
.me
.REG
[5];
2763 register_static_object(&once_value_9
);
2764 } else fra
.me
.REG
[5] = once_value_9
;
2765 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2766 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2767 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2768 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2769 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2770 if (!once_value_10
) {
2771 fra
.me
.REG
[5] = BOX_NativeString("(");
2773 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2774 once_value_10
= fra
.me
.REG
[5];
2775 register_static_object(&once_value_10
);
2776 } else fra
.me
.REG
[5] = once_value_10
;
2777 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2778 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2779 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2780 if (!once_value_11
) {
2781 fra
.me
.REG
[2] = BOX_NativeString(" val);");
2783 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2784 once_value_11
= fra
.me
.REG
[2];
2785 register_static_object(&once_value_11
);
2786 } else fra
.me
.REG
[2] = once_value_11
;
2787 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2788 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2789 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2790 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2791 /* ./compiling//compiling_global.nit:332 */
2793 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2794 if (!once_value_12
) {
2795 fra
.me
.REG
[2] = BOX_NativeString("#define UNBOX_");
2796 REGB0
= TAG_Int(14);
2797 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2798 once_value_12
= fra
.me
.REG
[2];
2799 register_static_object(&once_value_12
);
2800 } else fra
.me
.REG
[2] = once_value_12
;
2801 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2802 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2803 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2804 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2805 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2806 if (!once_value_13
) {
2807 fra
.me
.REG
[0] = BOX_NativeString("(x) (((");
2809 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2810 once_value_13
= fra
.me
.REG
[0];
2811 register_static_object(&once_value_13
);
2812 } else fra
.me
.REG
[0] = once_value_13
;
2813 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2814 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2815 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2816 if (!once_value_14
) {
2817 fra
.me
.REG
[3] = BOX_NativeString(" *)(VAL2OBJ(x)))->val)");
2818 REGB0
= TAG_Int(22);
2819 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2820 once_value_14
= fra
.me
.REG
[3];
2821 register_static_object(&once_value_14
);
2822 } else fra
.me
.REG
[3] = once_value_14
;
2823 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2824 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2825 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2826 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2828 stack_frame_head
= fra
.me
.prev
;
2831 void compiling_global___MMLocalClass___compile_tables_to_c(val_t p0
, val_t p1
){
2832 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
2838 static val_t once_value_1
; /* Once value */
2839 static val_t once_value_2
; /* Once value */
2840 static val_t once_value_3
; /* Once value */
2841 static val_t once_value_4
; /* Once value */
2842 static val_t once_value_5
; /* Once value */
2843 static val_t once_value_6
; /* Once value */
2844 static val_t once_value_8
; /* Once value */
2845 static val_t once_value_9
; /* Once value */
2846 static val_t once_value_10
; /* Once value */
2847 static val_t once_value_12
; /* Once value */
2848 static val_t once_value_13
; /* Once value */
2849 static val_t once_value_14
; /* Once value */
2850 static val_t once_value_15
; /* Once value */
2851 static val_t once_value_16
; /* Once value */
2852 static val_t once_value_17
; /* Once value */
2853 static val_t once_value_18
; /* Once value */
2854 static val_t once_value_19
; /* Once value */
2855 static val_t once_value_20
; /* Once value */
2856 static val_t once_value_21
; /* Once value */
2857 static val_t once_value_22
; /* Once value */
2858 static val_t once_value_23
; /* Once value */
2859 static val_t once_value_24
; /* Once value */
2860 static val_t once_value_25
; /* Once value */
2861 static val_t once_value_26
; /* Once value */
2862 static val_t once_value_27
; /* Once value */
2863 static val_t once_value_28
; /* Once value */
2864 static val_t once_value_29
; /* Once value */
2865 static val_t once_value_30
; /* Once value */
2866 static val_t once_value_31
; /* Once value */
2867 static val_t once_value_32
; /* Once value */
2868 static val_t once_value_33
; /* Once value */
2869 static val_t once_value_34
; /* Once value */
2870 static val_t once_value_35
; /* Once value */
2871 static val_t once_value_36
; /* Once value */
2872 static val_t once_value_37
; /* Once value */
2873 static val_t once_value_38
; /* Once value */
2874 static val_t once_value_39
; /* Once value */
2875 static val_t once_value_40
; /* Once value */
2876 static val_t once_value_41
; /* Once value */
2877 static val_t once_value_42
; /* Once value */
2878 static val_t once_value_43
; /* Once value */
2879 static val_t once_value_44
; /* Once value */
2880 static val_t once_value_45
; /* Once value */
2881 static val_t once_value_46
; /* Once value */
2882 static val_t once_value_47
; /* Once value */
2883 static val_t once_value_48
; /* Once value */
2884 static val_t once_value_49
; /* Once value */
2885 static val_t once_value_50
; /* Once value */
2886 static val_t once_value_62
; /* Once value */
2887 static val_t once_value_63
; /* Once value */
2888 static val_t once_value_64
; /* Once value */
2889 static val_t once_value_65
; /* Once value */
2890 static val_t once_value_66
; /* Once value */
2891 static val_t once_value_67
; /* Once value */
2892 static val_t once_value_68
; /* Once value */
2893 static val_t once_value_69
; /* Once value */
2894 static val_t once_value_70
; /* Once value */
2895 static val_t once_value_71
; /* Once value */
2896 static val_t once_value_72
; /* Once value */
2897 static val_t once_value_73
; /* Once value */
2898 static val_t once_value_74
; /* Once value */
2899 static val_t once_value_75
; /* Once value */
2900 static val_t once_value_76
; /* Once value */
2901 static val_t once_value_77
; /* Once value */
2902 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2903 fra
.me
.file
= LOCATE_compiling_global
;
2905 fra
.me
.meth
= LOCATE_compiling_global___MMLocalClass___compile_tables_to_c
;
2906 fra
.me
.has_broke
= 0;
2907 fra
.me
.REG_size
= 9;
2908 fra
.me
.REG
[0] = NIT_NULL
;
2909 fra
.me
.REG
[1] = NIT_NULL
;
2910 fra
.me
.REG
[2] = NIT_NULL
;
2911 fra
.me
.REG
[3] = NIT_NULL
;
2912 fra
.me
.REG
[4] = NIT_NULL
;
2913 fra
.me
.REG
[5] = NIT_NULL
;
2914 fra
.me
.REG
[6] = NIT_NULL
;
2915 fra
.me
.REG
[7] = NIT_NULL
;
2916 fra
.me
.REG
[8] = NIT_NULL
;
2919 /* ./compiling//compiling_global.nit:339 */
2920 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2921 fra
.me
.REG
[2] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2922 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2923 fra
.me
.REG
[3] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2924 /* ./compiling//compiling_global.nit:340 */
2925 fra
.me
.REG
[2] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2926 /* ./../lib/standard//collection//array.nit:23 */
2927 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2928 if (UNTAG_Bool(REGB0
)) {
2930 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
2932 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2933 /* ./compiling//compiling_global.nit:342 */
2934 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2935 fra
.me
.REG
[4] = CALL_table_computation___Program___table_information(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2936 REGB1
= CALL_table_computation___TableInformation___max_class_table_length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2937 /* ./../lib/standard//collection//array.nit:23 */
2938 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2939 if (UNTAG_Bool(REGB2
)) {
2941 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
2943 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2944 /* ./../lib/standard//kernel.nit:214 */
2945 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
2946 /* ./compiling//compiling_global.nit:342 */
2947 if (UNTAG_Bool(REGB2
)) {
2948 /* ./compiling//compiling_global.nit:343 */
2949 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2950 fra
.me
.REG
[4] = CALL_table_computation___Program___table_information(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2951 REGB2
= CALL_table_computation___TableInformation___max_class_table_length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2954 /* ./compiling//compiling_global.nit:346 */
2956 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
2957 if (!once_value_1
) {
2958 fra
.me
.REG
[5] = BOX_NativeString("const classtable_elt_t VFT_");
2959 REGB2
= TAG_Int(27);
2960 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
2961 once_value_1
= fra
.me
.REG
[5];
2962 register_static_object(&once_value_1
);
2963 } else fra
.me
.REG
[5] = once_value_1
;
2964 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2965 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2966 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2967 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2968 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2969 if (!once_value_2
) {
2970 fra
.me
.REG
[5] = BOX_NativeString("[");
2972 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
2973 once_value_2
= fra
.me
.REG
[5];
2974 register_static_object(&once_value_2
);
2975 } else fra
.me
.REG
[5] = once_value_2
;
2976 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2977 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2978 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2979 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2980 if (!once_value_3
) {
2981 fra
.me
.REG
[5] = BOX_NativeString("] = {");
2983 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
2984 once_value_3
= fra
.me
.REG
[5];
2985 register_static_object(&once_value_3
);
2986 } else fra
.me
.REG
[5] = once_value_3
;
2987 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2988 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2989 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2990 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2991 /* ./compiling//compiling_global.nit:347 */
2992 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2993 /* ./../lib/standard//collection//array.nit:231 */
2994 fra
.me
.REG
[4] = fra
.me
.REG
[2];
2995 /* ./../lib/standard//collection//array.nit:234 */
2997 /* ./../lib/standard//collection//array.nit:235 */
2998 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
2999 if (UNTAG_Bool(REGB1
)) {
3001 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
3003 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
3004 /* ./../lib/standard//collection//array.nit:236 */
3005 fra
.me
.REG
[5] = ATTR_array___Array____items(fra
.me
.REG
[4]);
3006 /* ./../lib/standard//collection//array.nit:237 */
3008 /* ./../lib/standard//collection//array.nit:23 */
3009 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
3010 if (UNTAG_Bool(REGB1
)) {
3012 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
3014 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
3015 /* ./../lib/standard//kernel.nit:212 */
3016 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
3017 /* ./../lib/standard//collection//array.nit:237 */
3018 if (UNTAG_Bool(REGB1
)) {
3019 /* ./../lib/standard//collection//array.nit:238 */
3020 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3021 if (UNTAG_Bool(REGB1
)) {
3022 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
3024 /* ./../lib/standard//collection//array.nit:654 */
3025 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB2
)];
3026 /* ./compiling//compiling_global.nit:349 */
3027 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3028 if (UNTAG_Bool(REGB1
)) {
3030 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3031 if (UNTAG_Bool(REGB3
)) {
3032 REGB3
= TAG_Bool(false);
3035 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
3039 if (UNTAG_Bool(REGB1
)) {
3040 /* ./compiling//compiling_global.nit:350 */
3041 if (!once_value_4
) {
3042 fra
.me
.REG
[7] = BOX_NativeString("{0} /* Class Hole :( */,");
3043 REGB1
= TAG_Int(24);
3044 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
3045 once_value_4
= fra
.me
.REG
[7];
3046 register_static_object(&once_value_4
);
3047 } else fra
.me
.REG
[7] = once_value_4
;
3048 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3049 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3051 /* ./compiling//compiling_global.nit:352 */
3053 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3054 if (!once_value_5
) {
3055 fra
.me
.REG
[8] = BOX_NativeString("{(bigint) ");
3056 REGB1
= TAG_Int(10);
3057 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3058 once_value_5
= fra
.me
.REG
[8];
3059 register_static_object(&once_value_5
);
3060 } else fra
.me
.REG
[8] = once_value_5
;
3061 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3062 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3063 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3064 if (UNTAG_Bool(REGB1
)) {
3065 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 352);
3067 fra
.me
.REG
[6] = CALL_compiling_global___TableElt___compile_to_c(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1], fra
.me
.REG
[0]);
3068 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3069 if (!once_value_6
) {
3070 fra
.me
.REG
[6] = BOX_NativeString("},");
3072 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
3073 once_value_6
= fra
.me
.REG
[6];
3074 register_static_object(&once_value_6
);
3075 } else fra
.me
.REG
[6] = once_value_6
;
3076 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3077 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3078 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3079 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3081 /* ./../lib/standard//collection//array.nit:239 */
3083 /* ./../lib/standard//kernel.nit:215 */
3084 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
3085 /* ./../lib/standard//collection//array.nit:239 */
3088 /* ./../lib/standard//collection//array.nit:237 */
3093 /* ./../lib/standard//collection//array.nit:23 */
3094 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3095 if (UNTAG_Bool(REGB2
)) {
3097 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
3099 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3100 /* ./../lib/standard//kernel.nit:214 */
3101 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB2
));
3102 /* ./compiling//compiling_global.nit:355 */
3103 if (UNTAG_Bool(REGB2
)) {
3104 /* ./compiling//compiling_global.nit:356 */
3105 if (!once_value_8
) {
3106 fra
.me
.REG
[5] = BOX_NativeString("{0},");
3108 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3109 once_value_8
= fra
.me
.REG
[5];
3110 register_static_object(&once_value_8
);
3111 } else fra
.me
.REG
[5] = once_value_8
;
3112 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3113 /* ./../lib/standard//collection//array.nit:23 */
3114 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3115 if (UNTAG_Bool(REGB2
)) {
3117 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
3119 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3120 /* ./../lib/standard//kernel.nit:217 */
3121 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
3122 /* ./compiling//compiling_global.nit:356 */
3123 fra
.me
.REG
[5] = CALL_string___String_____star(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB2
);
3124 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3126 /* ./compiling//compiling_global.nit:358 */
3127 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3128 /* ./compiling//compiling_global.nit:359 */
3129 if (!once_value_9
) {
3130 fra
.me
.REG
[5] = BOX_NativeString("};");
3132 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3133 once_value_9
= fra
.me
.REG
[5];
3134 register_static_object(&once_value_9
);
3135 } else fra
.me
.REG
[5] = once_value_9
;
3136 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3137 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3138 /* ./compiling//compiling_global.nit:360 */
3139 fra
.me
.REG
[3] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3140 /* ./../lib/standard//collection//array.nit:231 */
3141 fra
.me
.REG
[5] = fra
.me
.REG
[3];
3142 /* ./../lib/standard//collection//array.nit:234 */
3144 /* ./../lib/standard//collection//array.nit:235 */
3145 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
3146 if (UNTAG_Bool(REGB0
)) {
3148 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
3150 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
3151 /* ./../lib/standard//collection//array.nit:236 */
3152 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[5]);
3153 /* ./../lib/standard//collection//array.nit:237 */
3155 /* ./../lib/standard//collection//array.nit:23 */
3156 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
3157 if (UNTAG_Bool(REGB0
)) {
3159 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
3161 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
3162 /* ./../lib/standard//kernel.nit:212 */
3163 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
3164 /* ./../lib/standard//collection//array.nit:237 */
3165 if (UNTAG_Bool(REGB0
)) {
3166 /* ./../lib/standard//collection//array.nit:238 */
3167 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3168 if (UNTAG_Bool(REGB0
)) {
3169 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
3171 /* ./../lib/standard//collection//array.nit:654 */
3172 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB2
)];
3173 /* ./compiling//compiling_global.nit:362 */
3174 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3175 if (UNTAG_Bool(REGB0
)) {
3177 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3178 if (UNTAG_Bool(REGB1
)) {
3179 REGB1
= TAG_Bool(false);
3182 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3186 if (UNTAG_Bool(REGB0
)) {
3187 /* ./compiling//compiling_global.nit:363 */
3188 if (!once_value_10
) {
3189 fra
.me
.REG
[7] = BOX_NativeString("/* Instance Hole :( */");
3190 REGB0
= TAG_Int(22);
3191 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
3192 once_value_10
= fra
.me
.REG
[7];
3193 register_static_object(&once_value_10
);
3194 } else fra
.me
.REG
[7] = once_value_10
;
3195 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3196 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3198 /* ./compiling//compiling_global.nit:365 */
3199 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3200 if (UNTAG_Bool(REGB0
)) {
3201 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 365);
3203 fra
.me
.REG
[4] = CALL_compiling_global___TableElt___compile_to_c(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[0]);
3204 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3206 /* ./../lib/standard//collection//array.nit:239 */
3208 /* ./../lib/standard//kernel.nit:215 */
3209 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
3210 /* ./../lib/standard//collection//array.nit:239 */
3213 /* ./../lib/standard//collection//array.nit:237 */
3218 /* ./compiling//compiling_global.nit:369 */
3219 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3220 /* ./compiling//compiling_global.nit:370 */
3221 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3222 if (!once_value_12
) {
3223 fra
.me
.REG
[4] = BOX_NativeString("NativeArray");
3224 REGB2
= TAG_Int(11);
3225 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3226 once_value_12
= fra
.me
.REG
[4];
3227 register_static_object(&once_value_12
);
3228 } else fra
.me
.REG
[4] = once_value_12
;
3229 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3230 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3231 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[4]));
3232 if (UNTAG_Bool(REGB2
)) {
3234 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3237 if (UNTAG_Bool(REGB2
)) {
3238 /* ./compiling//compiling_global.nit:371 */
3239 if (!once_value_13
) {
3240 fra
.me
.REG
[4] = BOX_NativeString("val_t NEW_NativeArray(size_t length, size_t size) {");
3241 REGB2
= TAG_Int(51);
3242 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3243 once_value_13
= fra
.me
.REG
[4];
3244 register_static_object(&once_value_13
);
3245 } else fra
.me
.REG
[4] = once_value_13
;
3246 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3247 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3248 /* ./compiling//compiling_global.nit:372 */
3249 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3250 /* ./compiling//compiling_global.nit:373 */
3251 if (!once_value_14
) {
3252 fra
.me
.REG
[4] = BOX_NativeString("Nit_NativeArray array;");
3253 REGB2
= TAG_Int(22);
3254 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3255 once_value_14
= fra
.me
.REG
[4];
3256 register_static_object(&once_value_14
);
3257 } else fra
.me
.REG
[4] = once_value_14
;
3258 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3259 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3260 /* ./compiling//compiling_global.nit:374 */
3261 if (!once_value_15
) {
3262 fra
.me
.REG
[4] = BOX_NativeString("array = (Nit_NativeArray)alloc(sizeof(struct Nit_NativeArray) + ((length - 1) * size));");
3263 REGB2
= TAG_Int(87);
3264 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3265 once_value_15
= fra
.me
.REG
[4];
3266 register_static_object(&once_value_15
);
3267 } else fra
.me
.REG
[4] = once_value_15
;
3268 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3269 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3270 /* ./compiling//compiling_global.nit:375 */
3272 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
3273 if (!once_value_16
) {
3274 fra
.me
.REG
[5] = BOX_NativeString("array->vft = (classtable_elt_t*)VFT_");
3275 REGB2
= TAG_Int(36);
3276 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3277 once_value_16
= fra
.me
.REG
[5];
3278 register_static_object(&once_value_16
);
3279 } else fra
.me
.REG
[5] = once_value_16
;
3280 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3281 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3282 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3283 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3284 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3285 if (!once_value_17
) {
3286 fra
.me
.REG
[5] = BOX_NativeString(";");
3288 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3289 once_value_17
= fra
.me
.REG
[5];
3290 register_static_object(&once_value_17
);
3291 } else fra
.me
.REG
[5] = once_value_17
;
3292 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3293 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3294 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3295 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3296 /* ./compiling//compiling_global.nit:376 */
3297 if (!once_value_18
) {
3298 fra
.me
.REG
[4] = BOX_NativeString("array->object_id = object_id_counter;");
3299 REGB2
= TAG_Int(37);
3300 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3301 once_value_18
= fra
.me
.REG
[4];
3302 register_static_object(&once_value_18
);
3303 } else fra
.me
.REG
[4] = once_value_18
;
3304 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3305 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3306 /* ./compiling//compiling_global.nit:377 */
3307 if (!once_value_19
) {
3308 fra
.me
.REG
[4] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
3309 REGB2
= TAG_Int(42);
3310 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3311 once_value_19
= fra
.me
.REG
[4];
3312 register_static_object(&once_value_19
);
3313 } else fra
.me
.REG
[4] = once_value_19
;
3314 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3315 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3316 /* ./compiling//compiling_global.nit:378 */
3317 if (!once_value_20
) {
3318 fra
.me
.REG
[4] = BOX_NativeString("array->size = length;");
3319 REGB2
= TAG_Int(21);
3320 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3321 once_value_20
= fra
.me
.REG
[4];
3322 register_static_object(&once_value_20
);
3323 } else fra
.me
.REG
[4] = once_value_20
;
3324 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3325 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3326 /* ./compiling//compiling_global.nit:379 */
3327 if (!once_value_21
) {
3328 fra
.me
.REG
[4] = BOX_NativeString("return OBJ2VAL(array);");
3329 REGB2
= TAG_Int(22);
3330 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3331 once_value_21
= fra
.me
.REG
[4];
3332 register_static_object(&once_value_21
);
3333 } else fra
.me
.REG
[4] = once_value_21
;
3334 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3335 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3336 /* ./compiling//compiling_global.nit:380 */
3337 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3338 /* ./compiling//compiling_global.nit:381 */
3339 if (!once_value_22
) {
3340 fra
.me
.REG
[4] = BOX_NativeString("}");
3342 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3343 once_value_22
= fra
.me
.REG
[4];
3344 register_static_object(&once_value_22
);
3345 } else fra
.me
.REG
[4] = once_value_22
;
3346 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3347 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3349 /* ./compiling//compiling_global.nit:382 */
3350 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3351 if (UNTAG_Bool(REGB2
)) {
3353 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3354 if (UNTAG_Bool(REGB0
)) {
3355 REGB0
= TAG_Bool(false);
3358 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3362 if (UNTAG_Bool(REGB2
)) {
3363 /* ./compiling//compiling_global.nit:385 */
3365 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
3366 if (!once_value_23
) {
3367 fra
.me
.REG
[5] = BOX_NativeString("INIT_ATTRIBUTES__");
3368 REGB2
= TAG_Int(17);
3369 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3370 once_value_23
= fra
.me
.REG
[5];
3371 register_static_object(&once_value_23
);
3372 } else fra
.me
.REG
[5] = once_value_23
;
3373 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3374 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3375 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3376 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3377 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3378 if (!once_value_24
) {
3379 fra
.me
.REG
[5] = BOX_NativeString("");
3381 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3382 once_value_24
= fra
.me
.REG
[5];
3383 register_static_object(&once_value_24
);
3384 } else fra
.me
.REG
[5] = once_value_24
;
3385 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3386 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3387 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3388 /* ./compiling//compiling_global.nit:386 */
3389 fra
.me
.REG
[5] = CALL_program___MMLocalClass___init_var_iroutine(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3391 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3392 if (!once_value_25
) {
3393 fra
.me
.REG
[6] = BOX_NativeString("init var of ");
3394 REGB2
= TAG_Int(12);
3395 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3396 once_value_25
= fra
.me
.REG
[6];
3397 register_static_object(&once_value_25
);
3398 } else fra
.me
.REG
[6] = once_value_25
;
3399 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3400 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3401 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3402 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3403 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3404 if (!once_value_26
) {
3405 fra
.me
.REG
[6] = BOX_NativeString("");
3407 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3408 once_value_26
= fra
.me
.REG
[6];
3409 register_static_object(&once_value_26
);
3410 } else fra
.me
.REG
[6] = once_value_26
;
3411 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3412 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3413 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3414 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3415 if (UNTAG_Bool(REGB2
)) {
3416 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 386);
3418 fra
.me
.REG
[7] = CALL_compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[7], NIT_NULL
, NIT_NULL
);
3419 /* ./compiling//compiling_global.nit:387 */
3420 fra
.me
.REG
[5] = CALL_compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3421 /* ./compiling//compiling_global.nit:388 */
3422 fra
.me
.REG
[6] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3423 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3424 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3425 /* ./compiling//compiling_global.nit:389 */
3426 fra
.me
.REG
[6] = CALL_program___MMLocalClass___init_var_iroutine(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3427 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3428 if (UNTAG_Bool(REGB2
)) {
3429 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 389);
3431 CALL_compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[7]);
3432 /* ./compiling//compiling_global.nit:390 */
3433 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3434 /* ./compiling//compiling_global.nit:391 */
3435 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3436 /* ./compiling//compiling_global.nit:392 */
3437 if (!once_value_27
) {
3438 fra
.me
.REG
[5] = BOX_NativeString("}");
3440 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3441 once_value_27
= fra
.me
.REG
[5];
3442 register_static_object(&once_value_27
);
3443 } else fra
.me
.REG
[5] = once_value_27
;
3444 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3445 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3446 /* ./compiling//compiling_global.nit:396 */
3448 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
3449 if (!once_value_28
) {
3450 fra
.me
.REG
[7] = BOX_NativeString("val_t NEW_");
3451 REGB2
= TAG_Int(10);
3452 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3453 once_value_28
= fra
.me
.REG
[7];
3454 register_static_object(&once_value_28
);
3455 } else fra
.me
.REG
[7] = once_value_28
;
3456 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3457 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3458 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3459 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3460 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3461 if (!once_value_29
) {
3462 fra
.me
.REG
[7] = BOX_NativeString("(void);");
3464 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3465 once_value_29
= fra
.me
.REG
[7];
3466 register_static_object(&once_value_29
);
3467 } else fra
.me
.REG
[7] = once_value_29
;
3468 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3469 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3470 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3471 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3472 /* ./compiling//compiling_global.nit:397 */
3474 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
3475 if (!once_value_30
) {
3476 fra
.me
.REG
[7] = BOX_NativeString("val_t NEW_");
3477 REGB2
= TAG_Int(10);
3478 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3479 once_value_30
= fra
.me
.REG
[7];
3480 register_static_object(&once_value_30
);
3481 } else fra
.me
.REG
[7] = once_value_30
;
3482 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3483 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3484 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3485 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3486 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3487 if (!once_value_31
) {
3488 fra
.me
.REG
[7] = BOX_NativeString("(void)");
3490 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3491 once_value_31
= fra
.me
.REG
[7];
3492 register_static_object(&once_value_31
);
3493 } else fra
.me
.REG
[7] = once_value_31
;
3494 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3495 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3496 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3497 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3498 /* ./compiling//compiling_global.nit:398 */
3499 if (!once_value_32
) {
3500 fra
.me
.REG
[5] = BOX_NativeString("{");
3502 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3503 once_value_32
= fra
.me
.REG
[5];
3504 register_static_object(&once_value_32
);
3505 } else fra
.me
.REG
[5] = once_value_32
;
3506 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3507 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3508 /* ./compiling//compiling_global.nit:399 */
3509 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3510 /* ./compiling//compiling_global.nit:400 */
3511 if (!once_value_33
) {
3512 fra
.me
.REG
[5] = BOX_NativeString("obj_t obj;");
3513 REGB2
= TAG_Int(10);
3514 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3515 once_value_33
= fra
.me
.REG
[5];
3516 register_static_object(&once_value_33
);
3517 } else fra
.me
.REG
[5] = once_value_33
;
3518 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3519 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3520 /* ./compiling//compiling_global.nit:401 */
3522 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
3523 if (!once_value_34
) {
3524 fra
.me
.REG
[7] = BOX_NativeString("obj = alloc(sizeof(val_t) * ");
3525 REGB2
= TAG_Int(28);
3526 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3527 once_value_34
= fra
.me
.REG
[7];
3528 register_static_object(&once_value_34
);
3529 } else fra
.me
.REG
[7] = once_value_34
;
3530 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3531 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3532 /* ./../lib/standard//collection//array.nit:23 */
3533 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3534 if (UNTAG_Bool(REGB2
)) {
3536 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
3538 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3539 /* ./compiling//compiling_global.nit:401 */
3540 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB2
)(REGB2
);
3541 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3542 if (!once_value_35
) {
3543 fra
.me
.REG
[3] = BOX_NativeString(");");
3545 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3546 once_value_35
= fra
.me
.REG
[3];
3547 register_static_object(&once_value_35
);
3548 } else fra
.me
.REG
[3] = once_value_35
;
3549 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3550 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3551 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3552 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3553 /* ./compiling//compiling_global.nit:402 */
3555 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
3556 if (!once_value_36
) {
3557 fra
.me
.REG
[3] = BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_");
3558 REGB2
= TAG_Int(34);
3559 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3560 once_value_36
= fra
.me
.REG
[3];
3561 register_static_object(&once_value_36
);
3562 } else fra
.me
.REG
[3] = once_value_36
;
3563 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3564 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3565 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3566 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3567 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3568 if (!once_value_37
) {
3569 fra
.me
.REG
[3] = BOX_NativeString(";");
3571 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3572 once_value_37
= fra
.me
.REG
[3];
3573 register_static_object(&once_value_37
);
3574 } else fra
.me
.REG
[3] = once_value_37
;
3575 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3576 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3577 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3578 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3579 /* ./compiling//compiling_global.nit:403 */
3580 if (!once_value_38
) {
3581 fra
.me
.REG
[5] = BOX_NativeString("obj[1].object_id = object_id_counter;");
3582 REGB2
= TAG_Int(37);
3583 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3584 once_value_38
= fra
.me
.REG
[5];
3585 register_static_object(&once_value_38
);
3586 } else fra
.me
.REG
[5] = once_value_38
;
3587 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3588 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3589 /* ./compiling//compiling_global.nit:404 */
3590 if (!once_value_39
) {
3591 fra
.me
.REG
[5] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
3592 REGB2
= TAG_Int(42);
3593 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3594 once_value_39
= fra
.me
.REG
[5];
3595 register_static_object(&once_value_39
);
3596 } else fra
.me
.REG
[5] = once_value_39
;
3597 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3598 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3599 /* ./compiling//compiling_global.nit:405 */
3600 if (!once_value_40
) {
3601 fra
.me
.REG
[5] = BOX_NativeString("return OBJ2VAL(obj);");
3602 REGB2
= TAG_Int(20);
3603 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3604 once_value_40
= fra
.me
.REG
[5];
3605 register_static_object(&once_value_40
);
3606 } else fra
.me
.REG
[5] = once_value_40
;
3607 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3608 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3609 /* ./compiling//compiling_global.nit:406 */
3610 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3611 /* ./compiling//compiling_global.nit:407 */
3612 if (!once_value_41
) {
3613 fra
.me
.REG
[5] = BOX_NativeString("}");
3615 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3616 once_value_41
= fra
.me
.REG
[5];
3617 register_static_object(&once_value_41
);
3618 } else fra
.me
.REG
[5] = once_value_41
;
3619 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3620 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3621 /* ./compiling//compiling_global.nit:411 */
3623 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
3624 if (!once_value_42
) {
3625 fra
.me
.REG
[3] = BOX_NativeString("CHECKNEW_");
3627 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3628 once_value_42
= fra
.me
.REG
[3];
3629 register_static_object(&once_value_42
);
3630 } else fra
.me
.REG
[3] = once_value_42
;
3631 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3632 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3633 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3634 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3635 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3636 if (!once_value_43
) {
3637 fra
.me
.REG
[3] = BOX_NativeString("");
3639 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3640 once_value_43
= fra
.me
.REG
[3];
3641 register_static_object(&once_value_43
);
3642 } else fra
.me
.REG
[3] = once_value_43
;
3643 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3644 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3645 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3646 /* ./compiling//compiling_global.nit:412 */
3647 fra
.me
.REG
[3] = CALL_program___MMLocalClass___checknew_iroutine(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3649 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3650 if (!once_value_44
) {
3651 fra
.me
.REG
[4] = BOX_NativeString("check new ");
3652 REGB2
= TAG_Int(10);
3653 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3654 once_value_44
= fra
.me
.REG
[4];
3655 register_static_object(&once_value_44
);
3656 } else fra
.me
.REG
[4] = once_value_44
;
3657 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3658 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
3659 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3660 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3661 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
3662 if (!once_value_45
) {
3663 fra
.me
.REG
[4] = BOX_NativeString("");
3665 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3666 once_value_45
= fra
.me
.REG
[4];
3667 register_static_object(&once_value_45
);
3668 } else fra
.me
.REG
[4] = once_value_45
;
3669 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3670 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
3671 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3672 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3673 if (UNTAG_Bool(REGB2
)) {
3674 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 412);
3676 fra
.me
.REG
[7] = CALL_compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[7], NIT_NULL
, NIT_NULL
);
3677 /* ./compiling//compiling_global.nit:413 */
3678 fra
.me
.REG
[3] = CALL_compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3679 /* ./compiling//compiling_global.nit:414 */
3680 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3681 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3682 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3683 /* ./compiling//compiling_global.nit:415 */
3684 fra
.me
.REG
[4] = CALL_program___MMLocalClass___checknew_iroutine(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3685 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3686 if (UNTAG_Bool(REGB2
)) {
3687 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 415);
3689 CALL_compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[7]);
3690 /* ./compiling//compiling_global.nit:416 */
3691 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3692 /* ./compiling//compiling_global.nit:417 */
3693 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3694 /* ./compiling//compiling_global.nit:418 */
3695 if (!once_value_46
) {
3696 fra
.me
.REG
[3] = BOX_NativeString("}");
3698 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3699 once_value_46
= fra
.me
.REG
[3];
3700 register_static_object(&once_value_46
);
3701 } else fra
.me
.REG
[3] = once_value_46
;
3702 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3703 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3704 /* ./compiling//compiling_global.nit:421 */
3705 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3706 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3707 REGB2
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3709 /* ./../lib/standard//kernel.nit:215 */
3710 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
3711 /* ./compiling//compiling_global.nit:422 */
3713 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB2
);
3714 if (!once_value_47
) {
3715 fra
.me
.REG
[7] = BOX_NativeString("int init_table[");
3716 REGB2
= TAG_Int(15);
3717 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3718 once_value_47
= fra
.me
.REG
[7];
3719 register_static_object(&once_value_47
);
3720 } else fra
.me
.REG
[7] = once_value_47
;
3721 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3722 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3723 fra
.me
.REG
[7] = CALL_string___Object___to_s(REGB0
)(REGB0
);
3724 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3725 if (!once_value_48
) {
3726 fra
.me
.REG
[7] = BOX_NativeString("] = {0");
3728 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3729 once_value_48
= fra
.me
.REG
[7];
3730 register_static_object(&once_value_48
);
3731 } else fra
.me
.REG
[7] = once_value_48
;
3732 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3733 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3734 if (!once_value_49
) {
3735 fra
.me
.REG
[7] = BOX_NativeString(", 0");
3737 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3738 once_value_49
= fra
.me
.REG
[7];
3739 register_static_object(&once_value_49
);
3740 } else fra
.me
.REG
[7] = once_value_49
;
3741 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3743 /* ./../lib/standard//kernel.nit:217 */
3744 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
3745 /* ./compiling//compiling_global.nit:422 */
3746 fra
.me
.REG
[7] = CALL_string___String_____star(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB2
);
3747 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3748 if (!once_value_50
) {
3749 fra
.me
.REG
[7] = BOX_NativeString("};");
3751 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3752 once_value_50
= fra
.me
.REG
[7];
3753 register_static_object(&once_value_50
);
3754 } else fra
.me
.REG
[7] = once_value_50
;
3755 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3756 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3757 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3758 /* ./compiling//compiling_global.nit:424 */
3759 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3760 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[7])(fra
.me
.REG
[7], (&(fra
.me
)), ((fun_t
)OC_compiling_global___MMLocalClass___compile_tables_to_c_51
));
3762 /* ./compiling//compiling_global.nit:441 */
3763 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3764 if (UNTAG_Bool(REGB2
)) {
3765 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 441);
3767 REGB2
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3768 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3769 if (UNTAG_Bool(REGB2
)) {
3770 /* ./compiling//compiling_global.nit:442 */
3771 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3772 if (UNTAG_Bool(REGB2
)) {
3773 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 442);
3775 fra
.me
.REG
[2] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3776 /* ./compiling//compiling_global.nit:443 */
3778 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB2
);
3779 if (!once_value_62
) {
3780 fra
.me
.REG
[7] = BOX_NativeString("struct TBOX_");
3781 REGB2
= TAG_Int(12);
3782 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3783 once_value_62
= fra
.me
.REG
[7];
3784 register_static_object(&once_value_62
);
3785 } else fra
.me
.REG
[7] = once_value_62
;
3786 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3787 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3788 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3789 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3790 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3791 if (!once_value_63
) {
3792 fra
.me
.REG
[7] = BOX_NativeString("");
3794 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3795 once_value_63
= fra
.me
.REG
[7];
3796 register_static_object(&once_value_63
);
3797 } else fra
.me
.REG
[7] = once_value_63
;
3798 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3799 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
3800 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3801 /* ./compiling//compiling_global.nit:444 */
3803 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3804 if (!once_value_64
) {
3805 fra
.me
.REG
[5] = BOX_NativeString("val_t BOX_");
3806 REGB2
= TAG_Int(10);
3807 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3808 once_value_64
= fra
.me
.REG
[5];
3809 register_static_object(&once_value_64
);
3810 } else fra
.me
.REG
[5] = once_value_64
;
3811 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3812 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
3813 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3814 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3815 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
3816 if (!once_value_65
) {
3817 fra
.me
.REG
[5] = BOX_NativeString("(");
3819 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3820 once_value_65
= fra
.me
.REG
[5];
3821 register_static_object(&once_value_65
);
3822 } else fra
.me
.REG
[5] = once_value_65
;
3823 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3824 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
3825 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3826 if (!once_value_66
) {
3827 fra
.me
.REG
[2] = BOX_NativeString(" val) {");
3829 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3830 once_value_66
= fra
.me
.REG
[2];
3831 register_static_object(&once_value_66
);
3832 } else fra
.me
.REG
[2] = once_value_66
;
3833 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3834 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3835 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3836 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3837 /* ./compiling//compiling_global.nit:445 */
3838 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3839 /* ./compiling//compiling_global.nit:446 */
3841 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3842 if (!once_value_67
) {
3843 fra
.me
.REG
[2] = BOX_NativeString("");
3845 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3846 once_value_67
= fra
.me
.REG
[2];
3847 register_static_object(&once_value_67
);
3848 } else fra
.me
.REG
[2] = once_value_67
;
3849 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3850 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3851 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3852 if (!once_value_68
) {
3853 fra
.me
.REG
[2] = BOX_NativeString(" *box = (");
3855 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3856 once_value_68
= fra
.me
.REG
[2];
3857 register_static_object(&once_value_68
);
3858 } else fra
.me
.REG
[2] = once_value_68
;
3859 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3860 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3861 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3862 if (!once_value_69
) {
3863 fra
.me
.REG
[2] = BOX_NativeString("*)alloc(sizeof(");
3864 REGB2
= TAG_Int(15);
3865 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3866 once_value_69
= fra
.me
.REG
[2];
3867 register_static_object(&once_value_69
);
3868 } else fra
.me
.REG
[2] = once_value_69
;
3869 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3870 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3871 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3872 if (!once_value_70
) {
3873 fra
.me
.REG
[3] = BOX_NativeString("));");
3875 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3876 once_value_70
= fra
.me
.REG
[3];
3877 register_static_object(&once_value_70
);
3878 } else fra
.me
.REG
[3] = once_value_70
;
3879 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3880 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3881 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3882 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3883 /* ./compiling//compiling_global.nit:447 */
3885 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3886 if (!once_value_71
) {
3887 fra
.me
.REG
[3] = BOX_NativeString("box->vft = VFT_");
3888 REGB2
= TAG_Int(15);
3889 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3890 once_value_71
= fra
.me
.REG
[3];
3891 register_static_object(&once_value_71
);
3892 } else fra
.me
.REG
[3] = once_value_71
;
3893 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3894 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3895 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3896 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3897 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[0]);
3898 if (!once_value_72
) {
3899 fra
.me
.REG
[0] = BOX_NativeString(";");
3901 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB2
);
3902 once_value_72
= fra
.me
.REG
[0];
3903 register_static_object(&once_value_72
);
3904 } else fra
.me
.REG
[0] = once_value_72
;
3905 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3906 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[0]);
3907 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3908 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3909 /* ./compiling//compiling_global.nit:448 */
3910 if (!once_value_73
) {
3911 fra
.me
.REG
[7] = BOX_NativeString("box->val = val;");
3912 REGB2
= TAG_Int(15);
3913 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3914 once_value_73
= fra
.me
.REG
[7];
3915 register_static_object(&once_value_73
);
3916 } else fra
.me
.REG
[7] = once_value_73
;
3917 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3918 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3919 /* ./compiling//compiling_global.nit:449 */
3920 if (!once_value_74
) {
3921 fra
.me
.REG
[7] = BOX_NativeString("box->object_id = object_id_counter;");
3922 REGB2
= TAG_Int(35);
3923 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3924 once_value_74
= fra
.me
.REG
[7];
3925 register_static_object(&once_value_74
);
3926 } else fra
.me
.REG
[7] = once_value_74
;
3927 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3928 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3929 /* ./compiling//compiling_global.nit:450 */
3930 if (!once_value_75
) {
3931 fra
.me
.REG
[7] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
3932 REGB2
= TAG_Int(42);
3933 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3934 once_value_75
= fra
.me
.REG
[7];
3935 register_static_object(&once_value_75
);
3936 } else fra
.me
.REG
[7] = once_value_75
;
3937 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3938 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3939 /* ./compiling//compiling_global.nit:451 */
3940 if (!once_value_76
) {
3941 fra
.me
.REG
[7] = BOX_NativeString("return OBJ2VAL(box);");
3942 REGB2
= TAG_Int(20);
3943 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3944 once_value_76
= fra
.me
.REG
[7];
3945 register_static_object(&once_value_76
);
3946 } else fra
.me
.REG
[7] = once_value_76
;
3947 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3948 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3949 /* ./compiling//compiling_global.nit:452 */
3950 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3951 /* ./compiling//compiling_global.nit:453 */
3952 if (!once_value_77
) {
3953 fra
.me
.REG
[7] = BOX_NativeString("}");
3955 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3956 once_value_77
= fra
.me
.REG
[7];
3957 register_static_object(&once_value_77
);
3958 } else fra
.me
.REG
[7] = once_value_77
;
3959 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3960 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3964 stack_frame_head
= fra
.me
.prev
;
3967 void OC_compiling_global___MMLocalClass___compile_tables_to_c_51(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
3968 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3972 static val_t once_value_53
; /* Once value */
3973 static val_t once_value_54
; /* Once value */
3974 static val_t once_value_55
; /* Once value */
3975 static val_t once_value_56
; /* Once value */
3976 static val_t once_value_57
; /* Once value */
3977 static val_t once_value_58
; /* Once value */
3978 static val_t once_value_59
; /* Once value */
3979 static val_t once_value_60
; /* Once value */
3980 static val_t once_value_61
; /* Once value */
3981 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3982 fra
.me
.file
= LOCATE_compiling_global
;
3984 fra
.me
.meth
= LOCATE_compiling_global___MMLocalClass___compile_tables_to_c
;
3985 fra
.me
.has_broke
= 0;
3986 fra
.me
.REG_size
= 5;
3987 fra
.me
.REG
[0] = NIT_NULL
;
3988 fra
.me
.REG
[1] = NIT_NULL
;
3989 fra
.me
.REG
[2] = NIT_NULL
;
3990 fra
.me
.REG
[3] = NIT_NULL
;
3991 fra
.me
.REG
[4] = NIT_NULL
;
3992 fra
.me
.closure_ctx
= closctx_param
;
3993 fra
.me
.closure_funs
= CREG
;
3995 CREG
[0] = clos_fun0
;
3996 /* ./compiling//compiling_global.nit:425 */
3997 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
3998 /* ./compiling//compiling_global.nit:427 */
3999 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4000 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[0]);
4001 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4002 if (UNTAG_Bool(REGB0
)) {
4005 /* ./compiling//compiling_global.nit:428 */
4006 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
4007 if (UNTAG_Bool(REGB0
)) {
4009 nit_abort("Assert failed", NULL
, LOCATE_compiling_global
, 428);
4011 /* ./compiling//compiling_global.nit:430 */
4013 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
4014 if (!once_value_53
) {
4015 fra
.me
.REG
[2] = BOX_NativeString("NEW_");
4017 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4018 once_value_53
= fra
.me
.REG
[2];
4019 register_static_object(&once_value_53
);
4020 } else fra
.me
.REG
[2] = once_value_53
;
4021 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4022 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4023 fra
.me
.REG
[2] = CALL_string___Object___to_s(closctx
->REG
[0])(closctx
->REG
[0]);
4024 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4025 if (!once_value_54
) {
4026 fra
.me
.REG
[2] = BOX_NativeString("_");
4028 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4029 once_value_54
= fra
.me
.REG
[2];
4030 register_static_object(&once_value_54
);
4031 } else fra
.me
.REG
[2] = once_value_54
;
4032 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4033 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4034 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4035 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4036 fra
.me
.REG
[2] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4037 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4038 if (!once_value_55
) {
4039 fra
.me
.REG
[2] = BOX_NativeString("");
4041 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4042 once_value_55
= fra
.me
.REG
[2];
4043 register_static_object(&once_value_55
);
4044 } else fra
.me
.REG
[2] = once_value_55
;
4045 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4046 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4047 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4048 /* ./compiling//compiling_global.nit:431 */
4049 fra
.me
.REG
[2] = CALL_program___MMLocalClass___new_instance_iroutine(closctx
->REG
[0])(closctx
->REG
[0]);
4050 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4052 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
4053 if (!once_value_56
) {
4054 fra
.me
.REG
[4] = BOX_NativeString("new ");
4056 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4057 once_value_56
= fra
.me
.REG
[4];
4058 register_static_object(&once_value_56
);
4059 } else fra
.me
.REG
[4] = once_value_56
;
4060 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4061 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4062 fra
.me
.REG
[4] = CALL_string___Object___to_s(closctx
->REG
[0])(closctx
->REG
[0]);
4063 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4064 if (!once_value_57
) {
4065 fra
.me
.REG
[4] = BOX_NativeString(" ");
4067 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4068 once_value_57
= fra
.me
.REG
[4];
4069 register_static_object(&once_value_57
);
4070 } else fra
.me
.REG
[4] = once_value_57
;
4071 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4072 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4073 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4074 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4075 if (!once_value_58
) {
4076 fra
.me
.REG
[4] = BOX_NativeString("");
4078 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4079 once_value_58
= fra
.me
.REG
[4];
4080 register_static_object(&once_value_58
);
4081 } else fra
.me
.REG
[4] = once_value_58
;
4082 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4083 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4084 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4085 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4086 if (UNTAG_Bool(REGB0
)) {
4087 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 431);
4089 fra
.me
.REG
[3] = CALL_compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[2])(fra
.me
.REG
[2], closctx
->REG
[1], fra
.me
.REG
[1], fra
.me
.REG
[3], NIT_NULL
, NIT_NULL
);
4090 /* ./compiling//compiling_global.nit:432 */
4091 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___decl_writer(closctx
->REG
[1])(closctx
->REG
[1]);
4092 /* ./compiling//compiling_global.nit:433 */
4093 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___writer(closctx
->REG
[1])(closctx
->REG
[1]);
4094 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4095 CALL_compiling_base___CompilerVisitor___decl_writer__eq(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[4]);
4096 /* ./compiling//compiling_global.nit:434 */
4097 CALL_compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], closctx
->REG
[3]);
4098 /* ./compiling//compiling_global.nit:435 */
4099 fra
.me
.REG
[4] = CALL_program___MMLocalClass___new_instance_iroutine(closctx
->REG
[0])(closctx
->REG
[0]);
4100 fra
.me
.REG
[0] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4101 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4102 if (UNTAG_Bool(REGB0
)) {
4103 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 435);
4105 fra
.me
.REG
[3] = CALL_compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], fra
.me
.REG
[1], fra
.me
.REG
[3]);
4106 REGB0
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_String
, ID_String
)) /*cast String*/;
4107 if (UNTAG_Bool(REGB0
)) {
4109 nit_abort("Cast failed", NULL
, LOCATE_compiling_global
, 435);
4111 /* ./compiling//compiling_global.nit:436 */
4113 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
4114 if (!once_value_59
) {
4115 fra
.me
.REG
[0] = BOX_NativeString("return ");
4117 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4118 once_value_59
= fra
.me
.REG
[0];
4119 register_static_object(&once_value_59
);
4120 } else fra
.me
.REG
[0] = once_value_59
;
4121 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4122 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4123 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4124 if (!once_value_60
) {
4125 fra
.me
.REG
[3] = BOX_NativeString(";");
4127 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4128 once_value_60
= fra
.me
.REG
[3];
4129 register_static_object(&once_value_60
);
4130 } else fra
.me
.REG
[3] = once_value_60
;
4131 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4132 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4133 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4134 CALL_compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
4135 /* ./compiling//compiling_global.nit:437 */
4136 CALL_compiling_base___CompilerVisitor___decl_writer__eq(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
4137 /* ./compiling//compiling_global.nit:438 */
4138 CALL_compiling_base___CompilerVisitor___unindent(closctx
->REG
[1])(closctx
->REG
[1]);
4139 /* ./compiling//compiling_global.nit:439 */
4140 if (!once_value_61
) {
4141 fra
.me
.REG
[2] = BOX_NativeString("}");
4143 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4144 once_value_61
= fra
.me
.REG
[2];
4145 register_static_object(&once_value_61
);
4146 } else fra
.me
.REG
[2] = once_value_61
;
4147 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4148 CALL_compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
4150 stack_frame_head
= fra
.me
.prev
;
4153 void compiling_global___MMMethod___compile_property_to_c(val_t p0
, val_t p1
){
4154 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
4158 static val_t once_value_1
; /* Once value */
4159 static val_t once_value_2
; /* Once value */
4160 static val_t once_value_3
; /* Once value */
4161 static val_t once_value_4
; /* Once value */
4162 static val_t once_value_5
; /* Once value */
4163 static val_t once_value_6
; /* Once value */
4164 static val_t once_value_7
; /* Once value */
4165 static val_t once_value_8
; /* Once value */
4166 static val_t once_value_9
; /* Once value */
4167 static val_t once_value_10
; /* Once value */
4168 static val_t once_value_11
; /* Once value */
4169 static val_t once_value_12
; /* Once value */
4170 static val_t once_value_13
; /* Once value */
4171 static val_t once_value_14
; /* Once value */
4172 static val_t once_value_15
; /* Once value */
4173 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4174 fra
.me
.file
= LOCATE_compiling_global
;
4176 fra
.me
.meth
= LOCATE_compiling_global___MMMethod___compile_property_to_c
;
4177 fra
.me
.has_broke
= 0;
4178 fra
.me
.REG_size
= 9;
4179 fra
.me
.REG
[0] = NIT_NULL
;
4180 fra
.me
.REG
[1] = NIT_NULL
;
4181 fra
.me
.REG
[2] = NIT_NULL
;
4182 fra
.me
.REG
[3] = NIT_NULL
;
4183 fra
.me
.REG
[4] = NIT_NULL
;
4184 fra
.me
.REG
[5] = NIT_NULL
;
4185 fra
.me
.REG
[6] = NIT_NULL
;
4186 fra
.me
.REG
[7] = NIT_NULL
;
4187 fra
.me
.REG
[8] = NIT_NULL
;
4190 /* ./compiling//compiling_global.nit:461 */
4191 fra
.me
.REG
[2] = CALL_icode_base___MMMethod___iroutine(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4192 /* ./compiling//compiling_global.nit:462 */
4193 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4194 if (UNTAG_Bool(REGB0
)) {
4196 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4197 if (UNTAG_Bool(REGB1
)) {
4198 REGB1
= TAG_Bool(false);
4201 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4205 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4206 if (UNTAG_Bool(REGB0
)) {
4208 nit_abort("Assert failed", NULL
, LOCATE_compiling_global
, 462);
4210 /* ./compiling//compiling_global.nit:464 */
4211 fra
.me
.REG
[3] = NIT_NULL
;
4212 /* ./compiling//compiling_global.nit:465 */
4213 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4214 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4215 if (UNTAG_Bool(REGB0
)) {
4216 if (!once_value_1
) {
4217 fra
.me
.REG
[4] = BOX_NativeString("int* init_table");
4218 REGB0
= TAG_Int(15);
4219 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4220 once_value_1
= fra
.me
.REG
[4];
4221 register_static_object(&once_value_1
);
4222 } else fra
.me
.REG
[4] = once_value_1
;
4223 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4224 fra
.me
.REG
[3] = fra
.me
.REG
[4];
4226 /* ./compiling//compiling_global.nit:466 */
4227 fra
.me
.REG
[4] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4228 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4229 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4230 if (UNTAG_Bool(REGB0
)) {
4231 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 466);
4233 fra
.me
.REG
[3] = CALL_compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[3]);
4234 /* ./compiling//compiling_global.nit:467 */
4235 fra
.me
.REG
[5] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4236 /* ./compiling//compiling_global.nit:468 */
4237 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4238 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4239 CALL_compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4240 /* ./compiling//compiling_global.nit:469 */
4241 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4242 /* ./compiling//compiling_global.nit:470 */
4243 fra
.me
.REG
[6] = CALL_compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4244 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4245 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4246 /* ./compiling//compiling_global.nit:472 */
4247 fra
.me
.REG
[6] = NIT_NULL
;
4248 /* ./compiling//compiling_global.nit:473 */
4249 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4250 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4251 if (UNTAG_Bool(REGB0
)) {
4252 /* ./compiling//compiling_global.nit:474 */
4254 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
4255 if (!once_value_2
) {
4256 fra
.me
.REG
[8] = BOX_NativeString("itpos");
4258 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4259 once_value_2
= fra
.me
.REG
[8];
4260 register_static_object(&once_value_2
);
4261 } else fra
.me
.REG
[8] = once_value_2
;
4262 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4263 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4264 REGB0
= CALL_compiling_base___CompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4265 fra
.me
.REG
[8] = CALL_string___Object___to_s(REGB0
)(REGB0
);
4266 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4267 if (!once_value_3
) {
4268 fra
.me
.REG
[8] = BOX_NativeString("");
4270 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4271 once_value_3
= fra
.me
.REG
[8];
4272 register_static_object(&once_value_3
);
4273 } else fra
.me
.REG
[8] = once_value_3
;
4274 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4275 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4276 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4277 fra
.me
.REG
[6] = fra
.me
.REG
[7];
4278 /* ./compiling//compiling_global.nit:475 */
4280 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
4281 if (!once_value_4
) {
4282 fra
.me
.REG
[8] = BOX_NativeString("int ");
4284 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4285 once_value_4
= fra
.me
.REG
[8];
4286 register_static_object(&once_value_4
);
4287 } else fra
.me
.REG
[8] = once_value_4
;
4288 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4289 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4290 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4291 if (!once_value_5
) {
4292 fra
.me
.REG
[8] = BOX_NativeString(" = VAL2OBJ(");
4293 REGB0
= TAG_Int(11);
4294 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4295 once_value_5
= fra
.me
.REG
[8];
4296 register_static_object(&once_value_5
);
4297 } else fra
.me
.REG
[8] = once_value_5
;
4298 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4299 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4300 fra
.me
.REG
[8] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4301 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4302 if (!once_value_6
) {
4303 fra
.me
.REG
[8] = BOX_NativeString(")->vft[");
4305 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4306 once_value_6
= fra
.me
.REG
[8];
4307 register_static_object(&once_value_6
);
4308 } else fra
.me
.REG
[8] = once_value_6
;
4309 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4310 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4311 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4312 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4313 fra
.me
.REG
[8] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4314 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4315 if (!once_value_7
) {
4316 fra
.me
.REG
[8] = BOX_NativeString("].i;");
4318 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4319 once_value_7
= fra
.me
.REG
[8];
4320 register_static_object(&once_value_7
);
4321 } else fra
.me
.REG
[8] = once_value_7
;
4322 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4323 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4324 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4325 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4326 /* ./compiling//compiling_global.nit:476 */
4328 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
4329 if (!once_value_8
) {
4330 fra
.me
.REG
[8] = BOX_NativeString("if (init_table[");
4331 REGB0
= TAG_Int(15);
4332 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4333 once_value_8
= fra
.me
.REG
[8];
4334 register_static_object(&once_value_8
);
4335 } else fra
.me
.REG
[8] = once_value_8
;
4336 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4337 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4338 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4339 if (!once_value_9
) {
4340 fra
.me
.REG
[8] = BOX_NativeString("]) return;");
4341 REGB0
= TAG_Int(10);
4342 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4343 once_value_9
= fra
.me
.REG
[8];
4344 register_static_object(&once_value_9
);
4345 } else fra
.me
.REG
[8] = once_value_9
;
4346 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4347 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4348 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4349 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4351 /* ./compiling//compiling_global.nit:479 */
4352 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4353 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4354 if (UNTAG_Bool(REGB0
)) {
4355 nit_abort("Reciever is null", NULL
, LOCATE_compiling_global
, 479);
4357 fra
.me
.REG
[3] = CALL_compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
4358 /* ./compiling//compiling_global.nit:481 */
4359 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4360 if (UNTAG_Bool(REGB0
)) {
4362 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4363 if (UNTAG_Bool(REGB1
)) {
4364 REGB1
= TAG_Bool(false);
4367 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
4371 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4372 if (UNTAG_Bool(REGB0
)) {
4373 /* ./compiling//compiling_global.nit:482 */
4375 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4376 if (!once_value_10
) {
4377 fra
.me
.REG
[2] = BOX_NativeString("init_table[");
4378 REGB0
= TAG_Int(11);
4379 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4380 once_value_10
= fra
.me
.REG
[2];
4381 register_static_object(&once_value_10
);
4382 } else fra
.me
.REG
[2] = once_value_10
;
4383 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4384 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
4385 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4386 if (!once_value_11
) {
4387 fra
.me
.REG
[6] = BOX_NativeString("] = 1;");
4389 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4390 once_value_11
= fra
.me
.REG
[6];
4391 register_static_object(&once_value_11
);
4392 } else fra
.me
.REG
[6] = once_value_11
;
4393 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4394 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4395 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4396 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4398 /* ./compiling//compiling_global.nit:484 */
4399 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4400 if (UNTAG_Bool(REGB0
)) {
4402 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4403 if (UNTAG_Bool(REGB1
)) {
4404 REGB1
= TAG_Bool(false);
4407 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
4411 if (UNTAG_Bool(REGB0
)) {
4412 /* ./compiling//compiling_global.nit:485 */
4413 if (!once_value_12
) {
4414 fra
.me
.REG
[0] = BOX_NativeString("return;");
4416 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4417 once_value_12
= fra
.me
.REG
[0];
4418 register_static_object(&once_value_12
);
4419 } else fra
.me
.REG
[0] = once_value_12
;
4420 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4421 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4423 /* ./compiling//compiling_global.nit:487 */
4425 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4426 if (!once_value_13
) {
4427 fra
.me
.REG
[6] = BOX_NativeString("return ");
4429 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4430 once_value_13
= fra
.me
.REG
[6];
4431 register_static_object(&once_value_13
);
4432 } else fra
.me
.REG
[6] = once_value_13
;
4433 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4434 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4435 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4436 if (!once_value_14
) {
4437 fra
.me
.REG
[3] = BOX_NativeString(";");
4439 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4440 once_value_14
= fra
.me
.REG
[3];
4441 register_static_object(&once_value_14
);
4442 } else fra
.me
.REG
[3] = once_value_14
;
4443 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4444 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4445 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4446 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4448 /* ./compiling//compiling_global.nit:489 */
4449 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4450 /* ./compiling//compiling_global.nit:490 */
4451 if (!once_value_15
) {
4452 fra
.me
.REG
[0] = BOX_NativeString("}");
4454 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4455 once_value_15
= fra
.me
.REG
[0];
4456 register_static_object(&once_value_15
);
4457 } else fra
.me
.REG
[0] = once_value_15
;
4458 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4459 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4460 /* ./compiling//compiling_global.nit:492 */
4461 CALL_compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4462 /* ./compiling//compiling_global.nit:493 */
4463 CALL_compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4464 stack_frame_head
= fra
.me
.prev
;