1 /* This C file is generated by NIT to compile module compiling_global. */
2 #include "compiling_global._sep.h"
3 val_t
compiling_global___GlobalCompilerVisitor___program(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_compiling_global
;
10 fra
.me
.meth
= LOCATE_compiling_global___GlobalCompilerVisitor___program
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 REGB0
= TAG_Bool(ATTR_compiling_global___GlobalCompilerVisitor____program(fra
.me
.REG
[0])!=NIT_NULL
);
16 /* ./compiling//compiling_global.nit:25 */
17 if (UNTAG_Bool(REGB0
)) {
19 fprintf(stderr
, "Uninitialized attribute %s", "_program");
20 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 25);
23 fra
.me
.REG
[0] = ATTR_compiling_global___GlobalCompilerVisitor____program(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 void compiling_global___GlobalCompilerVisitor___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
28 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_GlobalCompilerVisitor
].i
;
29 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
31 if (init_table
[itpos0
]) return;
32 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
33 fra
.me
.file
= LOCATE_compiling_global
;
35 fra
.me
.meth
= LOCATE_compiling_global___GlobalCompilerVisitor___init
;
38 fra
.me
.REG
[0] = NIT_NULL
;
39 fra
.me
.REG
[1] = NIT_NULL
;
40 fra
.me
.REG
[2] = NIT_NULL
;
41 fra
.me
.REG
[3] = NIT_NULL
;
42 fra
.me
.REG
[4] = NIT_NULL
;
47 fra
.me
.REG
[4] = fra
.me
.REG
[0];
48 /* ./compiling//compiling_global.nit:29 */
49 CALL_compiling_base___CompilerVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
50 /* ./compiling//compiling_global.nit:30 */
51 ATTR_compiling_global___GlobalCompilerVisitor____program(fra
.me
.REG
[4]) = fra
.me
.REG
[3];
52 stack_frame_head
= fra
.me
.prev
;
53 init_table
[itpos0
] = 1;
56 void compiling_global___Program___compile_tables_to_c(val_t p0
, val_t p1
){
57 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
60 static val_t once_value_3
; /* Once value */
61 static val_t once_value_4
; /* Once value */
62 static val_t once_value_5
; /* Once value */
63 static val_t once_value_6
; /* Once value */
64 static val_t once_value_7
; /* Once value */
65 static val_t once_value_8
; /* Once value */
66 static val_t once_value_9
; /* Once value */
67 static val_t once_value_11
; /* Once value */
68 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
69 fra
.me
.file
= LOCATE_compiling_global
;
71 fra
.me
.meth
= LOCATE_compiling_global___Program___compile_tables_to_c
;
74 fra
.me
.REG
[0] = NIT_NULL
;
75 fra
.me
.REG
[1] = NIT_NULL
;
76 fra
.me
.REG
[2] = NIT_NULL
;
77 fra
.me
.REG
[3] = NIT_NULL
;
78 fra
.me
.REG
[4] = NIT_NULL
;
79 fra
.me
.REG
[5] = NIT_NULL
;
80 fra
.me
.REG
[6] = NIT_NULL
;
83 fra
.me
.REG
[2] = CALL_program___Program___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
84 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
85 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
86 /* ./compiling//compiling_global.nit:38 */
87 if (UNTAG_Bool(REGB0
)) {
88 fprintf(stderr
, "Reciever is null");
89 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 38);
92 fra
.me
.REG
[2] = CALL_partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
93 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
95 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
96 if (UNTAG_Bool(REGB0
)) {
97 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
98 /* ./compiling//compiling_global.nit:39 */
99 CALL_compiling_global___MMModule___compile_local_table_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
101 /* ./compiling//compiling_global.nit:38 */
104 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
107 fra
.me
.REG
[2] = CALL_program___Program___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
108 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
109 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
110 /* ./compiling//compiling_global.nit:42 */
112 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
113 if (UNTAG_Bool(REGB0
)) {
114 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
115 /* ./compiling//compiling_global.nit:43 */
116 CALL_compiling_global___MMLocalClass___compile_tables_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
118 /* ./compiling//compiling_global.nit:42 */
121 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
124 /* ./compiling//compiling_global.nit:45 */
126 fra
.me
.REG
[2] = BOX_NativeString("classtable_t TAG2VFT[4] = {NULL");
128 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
129 once_value_3
= fra
.me
.REG
[2];
130 register_static_object(&once_value_3
);
131 } else fra
.me
.REG
[2] = once_value_3
;
132 fra
.me
.REG
[2] = NEW_Buffer_string___Buffer___from(fra
.me
.REG
[2]);
134 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
135 /* ./compiling//compiling_global.nit:46 */
137 fra
.me
.REG
[4] = BOX_NativeString("Int");
139 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
140 once_value_4
= fra
.me
.REG
[4];
141 register_static_object(&once_value_4
);
142 } else fra
.me
.REG
[4] = once_value_4
;
143 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
145 fra
.me
.REG
[4] = BOX_NativeString("Char");
147 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
148 once_value_5
= fra
.me
.REG
[4];
149 register_static_object(&once_value_5
);
150 } else fra
.me
.REG
[4] = once_value_5
;
151 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
153 fra
.me
.REG
[4] = BOX_NativeString("Bool");
155 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
156 once_value_6
= fra
.me
.REG
[4];
157 register_static_object(&once_value_6
);
158 } else fra
.me
.REG
[4] = once_value_6
;
159 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
160 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
162 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
163 if (UNTAG_Bool(REGB0
)) {
164 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
165 fra
.me
.REG
[5] = CALL_program___Program___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
166 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
167 REGB0
= CALL_abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
168 /* ./compiling//compiling_global.nit:47 */
169 if (UNTAG_Bool(REGB0
)) {
171 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
172 /* ./compiling//compiling_global.nit:48 */
174 fra
.me
.REG
[5] = BOX_NativeString(", (const classtable_t)VFT_");
176 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
177 once_value_7
= fra
.me
.REG
[5];
178 register_static_object(&once_value_7
);
179 } else fra
.me
.REG
[5] = once_value_7
;
180 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[5]);
181 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[4]);
183 fra
.me
.REG
[4] = BOX_NativeString("");
185 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
186 once_value_8
= fra
.me
.REG
[4];
187 register_static_object(&once_value_8
);
188 } else fra
.me
.REG
[4] = once_value_8
;
189 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[4]);
190 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
191 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
193 /* ./compiling//compiling_global.nit:50 */
195 fra
.me
.REG
[6] = BOX_NativeString(", NULL");
197 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
198 once_value_9
= fra
.me
.REG
[6];
199 register_static_object(&once_value_9
);
200 } else fra
.me
.REG
[6] = once_value_9
;
201 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
204 /* ./compiling//compiling_global.nit:46 */
207 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
210 /* ./compiling//compiling_global.nit:53 */
211 if (!once_value_11
) {
212 fra
.me
.REG
[3] = BOX_NativeString("};");
214 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
215 once_value_11
= fra
.me
.REG
[3];
216 register_static_object(&once_value_11
);
217 } else fra
.me
.REG
[3] = once_value_11
;
218 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
220 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
221 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
222 /* ./compiling//compiling_global.nit:54 */
223 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
224 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
225 stack_frame_head
= fra
.me
.prev
;
228 void compiling_global___Program___compile_main_part(val_t p0
, val_t p1
){
229 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
233 static val_t once_value_1
; /* Once value */
234 static val_t once_value_2
; /* Once value */
235 static val_t once_value_3
; /* Once value */
236 static val_t once_value_4
; /* Once value */
237 static val_t once_value_5
; /* Once value */
238 static val_t once_value_6
; /* Once value */
239 static val_t once_value_7
; /* Once value */
240 static val_t once_value_8
; /* Once value */
241 static val_t once_value_9
; /* Once value */
242 static val_t once_value_10
; /* Once value */
243 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
244 fra
.me
.file
= LOCATE_compiling_global
;
246 fra
.me
.meth
= LOCATE_compiling_global___Program___compile_main_part
;
247 fra
.me
.has_broke
= 0;
249 fra
.me
.REG
[0] = NIT_NULL
;
250 fra
.me
.REG
[1] = NIT_NULL
;
251 fra
.me
.REG
[2] = NIT_NULL
;
252 fra
.me
.REG
[3] = NIT_NULL
;
256 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
257 /* ./compiling//compiling_global.nit:60 */
259 fra
.me
.REG
[3] = BOX_NativeString("int main(int argc, char **argv) {");
261 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
262 once_value_1
= fra
.me
.REG
[3];
263 register_static_object(&once_value_1
);
264 } else fra
.me
.REG
[3] = once_value_1
;
265 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
266 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
267 /* ./compiling//compiling_global.nit:61 */
268 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
270 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
271 /* ./compiling//compiling_global.nit:62 */
273 fra
.me
.REG
[3] = BOX_NativeString("prepare_signals();");
275 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
276 once_value_2
= fra
.me
.REG
[3];
277 register_static_object(&once_value_2
);
278 } else fra
.me
.REG
[3] = once_value_2
;
279 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
280 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
282 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
283 /* ./compiling//compiling_global.nit:63 */
285 fra
.me
.REG
[3] = BOX_NativeString("glob_argc = argc; glob_argv = argv;");
287 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
288 once_value_3
= fra
.me
.REG
[3];
289 register_static_object(&once_value_3
);
290 } else fra
.me
.REG
[3] = once_value_3
;
291 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
292 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
293 fra
.me
.REG
[2] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
294 fra
.me
.REG
[2] = CALL_program___Program___main_method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
295 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
296 /* ./compiling//compiling_global.nit:64 */
297 if (UNTAG_Bool(REGB0
)) {
299 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
300 if (UNTAG_Bool(REGB1
)) {
301 REGB1
= TAG_Bool(false);
304 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
308 if (UNTAG_Bool(REGB0
)) {
309 /* ./compiling//compiling_global.nit:65 */
311 fra
.me
.REG
[2] = BOX_NativeString("No main");
313 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
314 once_value_4
= fra
.me
.REG
[2];
315 register_static_object(&once_value_4
);
316 } else fra
.me
.REG
[2] = once_value_4
;
317 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
320 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
321 /* ./compiling//compiling_global.nit:67 */
323 fra
.me
.REG
[0] = BOX_NativeString("G_sys = NEW_Sys();");
325 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
326 once_value_5
= fra
.me
.REG
[0];
327 register_static_object(&once_value_5
);
328 } else fra
.me
.REG
[0] = once_value_5
;
329 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
330 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
332 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
333 /* ./compiling//compiling_global.nit:68 */
335 fra
.me
.REG
[0] = BOX_NativeString("register_static_object(&G_sys);");
337 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
338 once_value_6
= fra
.me
.REG
[0];
339 register_static_object(&once_value_6
);
340 } else fra
.me
.REG
[0] = once_value_6
;
341 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
342 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
344 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
346 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
347 /* ./compiling//compiling_global.nit:69 */
349 fra
.me
.REG
[3] = BOX_NativeString("");
351 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
352 once_value_7
= fra
.me
.REG
[3];
353 register_static_object(&once_value_7
);
354 } else fra
.me
.REG
[3] = once_value_7
;
355 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
356 fra
.me
.REG
[3] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
357 fra
.me
.REG
[3] = CALL_program___Program___main_method(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
358 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
359 if (UNTAG_Bool(REGB0
)) {
360 fprintf(stderr
, "Reciever is null");
361 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 69);
364 fra
.me
.REG
[3] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
365 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
367 fra
.me
.REG
[3] = BOX_NativeString("(G_sys);");
369 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
370 once_value_8
= fra
.me
.REG
[3];
371 register_static_object(&once_value_8
);
372 } else fra
.me
.REG
[3] = once_value_8
;
373 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
374 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
375 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
376 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
379 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
380 /* ./compiling//compiling_global.nit:71 */
382 fra
.me
.REG
[0] = BOX_NativeString("return 0;");
384 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
385 once_value_9
= fra
.me
.REG
[0];
386 register_static_object(&once_value_9
);
387 } else fra
.me
.REG
[0] = once_value_9
;
388 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
389 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
390 /* ./compiling//compiling_global.nit:72 */
391 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
393 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
394 /* ./compiling//compiling_global.nit:73 */
395 if (!once_value_10
) {
396 fra
.me
.REG
[0] = BOX_NativeString("}");
398 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
399 once_value_10
= fra
.me
.REG
[0];
400 register_static_object(&once_value_10
);
401 } else fra
.me
.REG
[0] = once_value_10
;
402 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
403 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
404 stack_frame_head
= fra
.me
.prev
;
407 void compiling_global___MMModule___declare_class_tables_to_c(val_t p0
, val_t p1
){
408 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
412 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
413 fra
.me
.file
= LOCATE_compiling_global
;
415 fra
.me
.meth
= LOCATE_compiling_global___MMModule___declare_class_tables_to_c
;
416 fra
.me
.has_broke
= 0;
418 fra
.me
.REG
[0] = NIT_NULL
;
419 fra
.me
.REG
[1] = NIT_NULL
;
420 fra
.me
.REG
[2] = NIT_NULL
;
421 fra
.me
.REG
[3] = NIT_NULL
;
422 fra
.me
.REG
[4] = NIT_NULL
;
425 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
426 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
427 /* ./compiling//compiling_global.nit:81 */
429 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
430 if (UNTAG_Bool(REGB0
)) {
431 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
432 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
433 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMGlobalClass___module(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
434 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[0]));
435 /* ./compiling//compiling_global.nit:82 */
436 if (UNTAG_Bool(REGB0
)) {
438 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
441 if (UNTAG_Bool(REGB0
)) {
442 /* ./compiling//compiling_global.nit:83 */
443 CALL_compiling_global___MMLocalClass___declare_tables_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
446 /* ./compiling//compiling_global.nit:81 */
449 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
452 stack_frame_head
= fra
.me
.prev
;
455 void compiling_global___MMModule___compile_mod_to_c(val_t p0
, val_t p1
){
456 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
460 static val_t once_value_1
; /* Once value */
461 static val_t once_value_2
; /* Once value */
462 static val_t once_value_3
; /* Once value */
463 static val_t once_value_4
; /* Once value */
464 static val_t once_value_5
; /* Once value */
465 static val_t once_value_6
; /* Once value */
466 static val_t once_value_7
; /* Once value */
467 static val_t once_value_8
; /* Once value */
468 static val_t once_value_9
; /* Once value */
469 static val_t once_value_12
; /* Once value */
470 static val_t once_value_13
; /* Once value */
471 static val_t once_value_15
; /* Once value */
472 static val_t once_value_16
; /* Once value */
473 static val_t once_value_17
; /* Once value */
474 static val_t once_value_18
; /* Once value */
475 static val_t once_value_19
; /* Once value */
476 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
477 fra
.me
.file
= LOCATE_compiling_global
;
479 fra
.me
.meth
= LOCATE_compiling_global___MMModule___compile_mod_to_c
;
480 fra
.me
.has_broke
= 0;
482 fra
.me
.REG
[0] = NIT_NULL
;
483 fra
.me
.REG
[1] = NIT_NULL
;
484 fra
.me
.REG
[2] = NIT_NULL
;
485 fra
.me
.REG
[3] = NIT_NULL
;
486 fra
.me
.REG
[4] = NIT_NULL
;
487 fra
.me
.REG
[5] = NIT_NULL
;
488 fra
.me
.REG
[6] = NIT_NULL
;
489 fra
.me
.REG
[7] = NIT_NULL
;
490 fra
.me
.REG
[8] = NIT_NULL
;
494 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
496 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
497 /* ./compiling//compiling_global.nit:91 */
499 fra
.me
.REG
[4] = BOX_NativeString("extern const char *LOCATE_");
501 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
502 once_value_1
= fra
.me
.REG
[4];
503 register_static_object(&once_value_1
);
504 } else fra
.me
.REG
[4] = once_value_1
;
505 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
506 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
507 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
508 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
510 fra
.me
.REG
[4] = BOX_NativeString(";");
512 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
513 once_value_2
= fra
.me
.REG
[4];
514 register_static_object(&once_value_2
);
515 } else fra
.me
.REG
[4] = once_value_2
;
516 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
517 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
518 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
519 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
520 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
521 REGB0
= CALL_compiling_base___ToolContext___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
522 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
523 /* ./compiling//compiling_global.nit:92 */
524 if (UNTAG_Bool(REGB0
)) {
526 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
528 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
529 /* ./compiling//compiling_global.nit:93 */
531 fra
.me
.REG
[4] = BOX_NativeString("extern const int SFT_");
533 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
534 once_value_3
= fra
.me
.REG
[4];
535 register_static_object(&once_value_3
);
536 } else fra
.me
.REG
[4] = once_value_3
;
537 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
538 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
539 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
540 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
542 fra
.me
.REG
[4] = BOX_NativeString("[];");
544 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
545 once_value_4
= fra
.me
.REG
[4];
546 register_static_object(&once_value_4
);
547 } else fra
.me
.REG
[4] = once_value_4
;
548 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
549 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
550 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
551 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
554 fra
.me
.REG
[2] = CALL_table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
555 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
556 /* ./compiling//compiling_global.nit:96 */
558 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
559 if (UNTAG_Bool(REGB1
)) {
560 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
561 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
562 REGB1
= CALL_compiling_base___ToolContext___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
563 /* ./compiling//compiling_global.nit:98 */
564 if (UNTAG_Bool(REGB1
)) {
566 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
567 /* ./compiling//compiling_global.nit:99 */
569 fra
.me
.REG
[5] = BOX_NativeString("");
571 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
572 once_value_5
= fra
.me
.REG
[5];
573 register_static_object(&once_value_5
);
574 } else fra
.me
.REG
[5] = once_value_5
;
575 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
576 fra
.me
.REG
[5] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
577 fra
.me
.REG
[5] = CALL_compiling_global___ModuleTableElt___value(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
578 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
580 fra
.me
.REG
[5] = BOX_NativeString("");
582 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
583 once_value_6
= fra
.me
.REG
[5];
584 register_static_object(&once_value_6
);
585 } else fra
.me
.REG
[5] = once_value_6
;
586 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
587 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
590 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB1
);
591 /* ./compiling//compiling_global.nit:101 */
593 fra
.me
.REG
[6] = BOX_NativeString("SFT_");
595 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
596 once_value_7
= fra
.me
.REG
[6];
597 register_static_object(&once_value_7
);
598 } else fra
.me
.REG
[6] = once_value_7
;
599 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
600 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
601 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
602 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
604 fra
.me
.REG
[6] = BOX_NativeString("[");
606 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
607 once_value_8
= fra
.me
.REG
[6];
608 register_static_object(&once_value_8
);
609 } else fra
.me
.REG
[6] = once_value_8
;
610 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
611 fra
.me
.REG
[6] = CALL_string___Object___to_s(REGB0
)(REGB0
);
612 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
614 fra
.me
.REG
[6] = BOX_NativeString("]");
616 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
617 once_value_9
= fra
.me
.REG
[6];
618 register_static_object(&once_value_9
);
619 } else fra
.me
.REG
[6] = once_value_9
;
620 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
621 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
622 fra
.me
.REG
[4] = fra
.me
.REG
[5];
624 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
626 /* ./compiling//compiling_global.nit:102 */
628 /* ./compiling//compiling_global.nit:104 */
629 CALL_compiling_global___AbsTableElt___compile_macros(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[4]);
631 /* ./compiling//compiling_global.nit:96 */
634 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
637 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
638 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
639 /* ./compiling//compiling_global.nit:106 */
641 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
642 if (UNTAG_Bool(REGB0
)) {
643 fra
.me
.REG
[2] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
644 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
645 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
646 /* ./compiling//compiling_global.nit:107 */
647 if (UNTAG_Bool(REGB0
)) {
650 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
651 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
652 /* ./compiling//compiling_global.nit:108 */
654 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
655 if (UNTAG_Bool(REGB0
)) {
656 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
657 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
658 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
659 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[6],fra
.me
.REG
[2]));
660 /* ./compiling//compiling_global.nit:110 */
661 if (UNTAG_Bool(REGB0
)) {
663 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
666 if (UNTAG_Bool(REGB0
)) {
667 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[5], COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
669 REGB1
= TAG_Bool(false);
672 if (UNTAG_Bool(REGB0
)) {
673 /* ./compiling//compiling_global.nit:111 */
674 CALL_compiling_global___MMMethod___compile_property_to_c(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
676 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
677 /* ./compiling//compiling_global.nit:113 */
678 if (UNTAG_Bool(REGB0
)) {
679 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
681 fra
.me
.REG
[6] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
682 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
683 /* ./compiling//compiling_global.nit:116 */
684 if (UNTAG_Bool(REGB1
)) {
685 fprintf(stderr
, "Reciever is null");
686 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 116);
689 REGB1
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
690 fra
.me
.REG
[6] = NEW_Range_range___Range___without_last(REGB0
, REGB1
);
691 fra
.me
.REG
[6] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
693 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
694 if (UNTAG_Bool(REGB1
)) {
695 REGB1
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
697 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
698 /* ./compiling//compiling_global.nit:117 */
699 if (!once_value_12
) {
700 fra
.me
.REG
[8] = BOX_NativeString("val_t p");
702 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
703 once_value_12
= fra
.me
.REG
[8];
704 register_static_object(&once_value_12
);
705 } else fra
.me
.REG
[8] = once_value_12
;
706 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
707 fra
.me
.REG
[8] = CALL_string___Object___to_s(REGB1
)(REGB1
);
708 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
709 if (!once_value_13
) {
710 fra
.me
.REG
[8] = BOX_NativeString("");
712 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
713 once_value_13
= fra
.me
.REG
[8];
714 register_static_object(&once_value_13
);
715 } else fra
.me
.REG
[8] = once_value_13
;
716 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
717 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
718 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[7]);
720 /* ./compiling//compiling_global.nit:116 */
723 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
727 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
729 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
730 /* ./compiling//compiling_global.nit:119 */
731 if (!once_value_15
) {
732 fra
.me
.REG
[8] = BOX_NativeString("val_t NEW_");
734 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
735 once_value_15
= fra
.me
.REG
[8];
736 register_static_object(&once_value_15
);
737 } else fra
.me
.REG
[8] = once_value_15
;
738 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
739 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
740 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
741 if (!once_value_16
) {
742 fra
.me
.REG
[8] = BOX_NativeString("_");
744 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
745 once_value_16
= fra
.me
.REG
[8];
746 register_static_object(&once_value_16
);
747 } else fra
.me
.REG
[8] = once_value_16
;
748 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
749 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
750 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
751 fra
.me
.REG
[5] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
752 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
753 if (!once_value_17
) {
754 fra
.me
.REG
[5] = BOX_NativeString("(");
756 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
757 once_value_17
= fra
.me
.REG
[5];
758 register_static_object(&once_value_17
);
759 } else fra
.me
.REG
[5] = once_value_17
;
760 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
761 if (!once_value_18
) {
762 fra
.me
.REG
[5] = BOX_NativeString(", ");
764 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
765 once_value_18
= fra
.me
.REG
[5];
766 register_static_object(&once_value_18
);
767 } else fra
.me
.REG
[5] = once_value_18
;
768 fra
.me
.REG
[5] = CALL_string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
769 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
770 if (!once_value_19
) {
771 fra
.me
.REG
[5] = BOX_NativeString(");");
773 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
774 once_value_19
= fra
.me
.REG
[5];
775 register_static_object(&once_value_19
);
776 } else fra
.me
.REG
[5] = once_value_19
;
777 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
778 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
779 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
780 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
783 /* ./compiling//compiling_global.nit:108 */
786 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
791 /* ./compiling//compiling_global.nit:106 */
794 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
797 stack_frame_head
= fra
.me
.prev
;
800 void compiling_global___MMModule___compile_local_table_to_c(val_t p0
, val_t p1
){
801 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
805 static val_t once_value_1
; /* Once value */
806 static val_t once_value_2
; /* Once value */
807 static val_t once_value_3
; /* Once value */
808 static val_t once_value_5
; /* Once value */
809 static val_t once_value_6
; /* Once value */
810 static val_t once_value_7
; /* Once value */
811 static val_t once_value_8
; /* Once value */
812 static val_t once_value_10
; /* Once value */
813 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
814 fra
.me
.file
= LOCATE_compiling_global
;
816 fra
.me
.meth
= LOCATE_compiling_global___MMModule___compile_local_table_to_c
;
817 fra
.me
.has_broke
= 0;
819 fra
.me
.REG
[0] = NIT_NULL
;
820 fra
.me
.REG
[1] = NIT_NULL
;
821 fra
.me
.REG
[2] = NIT_NULL
;
822 fra
.me
.REG
[3] = NIT_NULL
;
823 fra
.me
.REG
[4] = NIT_NULL
;
827 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
829 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
830 /* ./compiling//compiling_global.nit:128 */
832 fra
.me
.REG
[4] = BOX_NativeString("const char *LOCATE_");
834 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
835 once_value_1
= fra
.me
.REG
[4];
836 register_static_object(&once_value_1
);
837 } else fra
.me
.REG
[4] = once_value_1
;
838 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
839 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
840 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
841 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
843 fra
.me
.REG
[4] = BOX_NativeString(" = \"");
845 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
846 once_value_2
= fra
.me
.REG
[4];
847 register_static_object(&once_value_2
);
848 } else fra
.me
.REG
[4] = once_value_2
;
849 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
850 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
851 fra
.me
.REG
[4] = CALL_location___Location___file(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
852 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
854 fra
.me
.REG
[4] = BOX_NativeString("\";");
856 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
857 once_value_3
= fra
.me
.REG
[4];
858 register_static_object(&once_value_3
);
859 } else fra
.me
.REG
[4] = once_value_3
;
860 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
861 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
862 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
863 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
864 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
865 REGB0
= CALL_compiling_base___ToolContext___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
866 /* ./compiling//compiling_global.nit:130 */
867 if (UNTAG_Bool(REGB0
)) {
868 REGB0
= TAG_Bool(true);
870 fra
.me
.REG
[2] = CALL_table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
871 REGB1
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
874 if (UNTAG_Bool(REGB0
)) {
875 /* ./compiling//compiling_global.nit:131 */
879 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
881 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
882 /* ./compiling//compiling_global.nit:134 */
884 fra
.me
.REG
[4] = BOX_NativeString("const int SFT_");
886 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
887 once_value_5
= fra
.me
.REG
[4];
888 register_static_object(&once_value_5
);
889 } else fra
.me
.REG
[4] = once_value_5
;
890 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
891 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
892 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
893 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
895 fra
.me
.REG
[4] = BOX_NativeString("[");
897 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
898 once_value_6
= fra
.me
.REG
[4];
899 register_static_object(&once_value_6
);
900 } else fra
.me
.REG
[4] = once_value_6
;
901 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
902 fra
.me
.REG
[4] = CALL_table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
903 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
904 /* ./../lib/standard//collection//array.nit:23 */
905 if (UNTAG_Bool(REGB0
)) {
907 fprintf(stderr
, "Uninitialized attribute %s", "_length");
908 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
911 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
912 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
913 /* ./compiling//compiling_global.nit:134 */
914 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
916 fra
.me
.REG
[4] = BOX_NativeString("] = {");
918 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
919 once_value_7
= fra
.me
.REG
[4];
920 register_static_object(&once_value_7
);
921 } else fra
.me
.REG
[4] = once_value_7
;
922 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
923 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
924 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
925 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
926 /* ./compiling//compiling_global.nit:135 */
927 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
928 fra
.me
.REG
[0] = CALL_table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
929 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
930 /* ./compiling//compiling_global.nit:136 */
932 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
933 if (UNTAG_Bool(REGB0
)) {
934 fra
.me
.REG
[2] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
936 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
937 fra
.me
.REG
[4] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
938 fra
.me
.REG
[4] = CALL_compiling_global___ModuleTableElt___value(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
939 /* ./compiling//compiling_global.nit:137 */
941 fra
.me
.REG
[2] = BOX_NativeString(",");
943 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
944 once_value_8
= fra
.me
.REG
[2];
945 register_static_object(&once_value_8
);
946 } else fra
.me
.REG
[2] = once_value_8
;
947 fra
.me
.REG
[2] = CALL_string___String_____plus(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
948 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
949 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
951 /* ./compiling//compiling_global.nit:136 */
954 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
957 /* ./compiling//compiling_global.nit:139 */
958 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
960 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
961 /* ./compiling//compiling_global.nit:140 */
962 if (!once_value_10
) {
963 fra
.me
.REG
[3] = BOX_NativeString("};");
965 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
966 once_value_10
= fra
.me
.REG
[3];
967 register_static_object(&once_value_10
);
968 } else fra
.me
.REG
[3] = once_value_10
;
969 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
970 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
972 stack_frame_head
= fra
.me
.prev
;
975 void compiling_global___AbsTableElt___compile_macros(val_t p0
, val_t p1
, val_t p2
){
976 struct {struct stack_frame_t me
;} fra
;
978 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
979 fra
.me
.file
= LOCATE_compiling_global
;
981 fra
.me
.meth
= LOCATE_compiling_global___AbsTableElt___compile_macros
;
982 fra
.me
.has_broke
= 0;
984 /* ./compiling//compiling_global.nit:147 */
985 fprintf(stderr
, "Deferred method called");
986 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 147);
988 stack_frame_head
= fra
.me
.prev
;
991 val_t
compiling_global___TableElt___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
992 struct {struct stack_frame_t me
;} fra
;
994 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
995 fra
.me
.file
= LOCATE_compiling_global
;
997 fra
.me
.meth
= LOCATE_compiling_global___TableElt___compile_to_c
;
998 fra
.me
.has_broke
= 0;
1000 /* ./compiling//compiling_global.nit:152 */
1001 fprintf(stderr
, "Deferred method called");
1002 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 152);
1004 stack_frame_head
= fra
.me
.prev
;
1007 val_t
compiling_global___ModuleTableElt___value(val_t p0
, val_t p1
){
1008 struct {struct stack_frame_t me
;} fra
;
1010 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1011 fra
.me
.file
= LOCATE_compiling_global
;
1013 fra
.me
.meth
= LOCATE_compiling_global___ModuleTableElt___value
;
1014 fra
.me
.has_broke
= 0;
1015 fra
.me
.REG_size
= 0;
1016 /* ./compiling//compiling_global.nit:157 */
1017 fprintf(stderr
, "Deferred method called");
1018 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 157);
1020 stack_frame_head
= fra
.me
.prev
;
1023 void compiling_global___ModuleTableEltGroup___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1024 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1028 static val_t once_value_1
; /* Once value */
1029 static val_t once_value_2
; /* Once value */
1030 static val_t once_value_3
; /* Once value */
1031 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1032 fra
.me
.file
= LOCATE_compiling_global
;
1034 fra
.me
.meth
= LOCATE_compiling_global___ModuleTableEltGroup___compile_macros
;
1035 fra
.me
.has_broke
= 0;
1036 fra
.me
.REG_size
= 6;
1037 fra
.me
.REG
[0] = NIT_NULL
;
1038 fra
.me
.REG
[1] = NIT_NULL
;
1039 fra
.me
.REG
[2] = NIT_NULL
;
1040 fra
.me
.REG
[3] = NIT_NULL
;
1041 fra
.me
.REG
[4] = NIT_NULL
;
1042 fra
.me
.REG
[5] = NIT_NULL
;
1047 fra
.me
.REG
[0] = CALL_table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1048 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1049 /* ./compiling//compiling_global.nit:166 */
1051 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1052 if (UNTAG_Bool(REGB1
)) {
1053 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1055 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
1056 /* ./compiling//compiling_global.nit:167 */
1057 if (!once_value_1
) {
1058 fra
.me
.REG
[5] = BOX_NativeString("");
1060 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
1061 once_value_1
= fra
.me
.REG
[5];
1062 register_static_object(&once_value_1
);
1063 } else fra
.me
.REG
[5] = once_value_1
;
1064 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1065 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1066 if (!once_value_2
) {
1067 fra
.me
.REG
[5] = BOX_NativeString(" + ");
1069 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
1070 once_value_2
= fra
.me
.REG
[5];
1071 register_static_object(&once_value_2
);
1072 } else fra
.me
.REG
[5] = once_value_2
;
1073 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1074 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1075 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1076 if (!once_value_3
) {
1077 fra
.me
.REG
[5] = BOX_NativeString("");
1079 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
1080 once_value_3
= fra
.me
.REG
[5];
1081 register_static_object(&once_value_3
);
1082 } else fra
.me
.REG
[5] = once_value_3
;
1083 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1084 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1085 CALL_compiling_global___AbsTableElt___compile_macros(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[4]);
1087 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1089 /* ./compiling//compiling_global.nit:168 */
1091 /* ./compiling//compiling_global.nit:166 */
1094 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1097 stack_frame_head
= fra
.me
.prev
;
1100 val_t
compiling_global___ModuleTableEltGroup___value(val_t p0
, val_t p1
){
1101 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1104 static val_t once_value_1
; /* Once value */
1105 static val_t once_value_2
; /* Once value */
1106 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1107 fra
.me
.file
= LOCATE_compiling_global
;
1109 fra
.me
.meth
= LOCATE_compiling_global___ModuleTableEltGroup___value
;
1110 fra
.me
.has_broke
= 0;
1111 fra
.me
.REG_size
= 4;
1112 fra
.me
.REG
[0] = NIT_NULL
;
1113 fra
.me
.REG
[1] = NIT_NULL
;
1114 fra
.me
.REG
[2] = NIT_NULL
;
1115 fra
.me
.REG
[3] = NIT_NULL
;
1119 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1120 /* ./compiling//compiling_global.nit:162 */
1121 if (!once_value_1
) {
1122 fra
.me
.REG
[3] = BOX_NativeString("");
1124 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1125 once_value_1
= fra
.me
.REG
[3];
1126 register_static_object(&once_value_1
);
1127 } else fra
.me
.REG
[3] = once_value_1
;
1128 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1129 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1130 fra
.me
.REG
[0] = CALL_table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1131 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1132 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1133 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1134 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1135 if (!once_value_2
) {
1136 fra
.me
.REG
[0] = BOX_NativeString(" /* Group of ? */");
1137 REGB0
= TAG_Int(17);
1138 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1139 once_value_2
= fra
.me
.REG
[0];
1140 register_static_object(&once_value_2
);
1141 } else fra
.me
.REG
[0] = once_value_2
;
1142 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1143 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1146 stack_frame_head
= fra
.me
.prev
;
1147 return fra
.me
.REG
[2];
1149 void compiling_global___TableEltMeth___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1150 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1153 static val_t once_value_1
; /* Once value */
1154 static val_t once_value_2
; /* Once value */
1155 static val_t once_value_3
; /* Once value */
1156 static val_t once_value_4
; /* Once value */
1157 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1158 fra
.me
.file
= LOCATE_compiling_global
;
1160 fra
.me
.meth
= LOCATE_compiling_global___TableEltMeth___compile_macros
;
1161 fra
.me
.has_broke
= 0;
1162 fra
.me
.REG_size
= 6;
1163 fra
.me
.REG
[0] = NIT_NULL
;
1164 fra
.me
.REG
[1] = NIT_NULL
;
1165 fra
.me
.REG
[2] = NIT_NULL
;
1166 fra
.me
.REG
[3] = NIT_NULL
;
1167 fra
.me
.REG
[4] = NIT_NULL
;
1168 fra
.me
.REG
[5] = NIT_NULL
;
1172 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1173 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1175 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1177 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
1178 /* ./compiling//compiling_global.nit:177 */
1179 if (!once_value_1
) {
1180 fra
.me
.REG
[5] = BOX_NativeString("#define ");
1182 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1183 once_value_1
= fra
.me
.REG
[5];
1184 register_static_object(&once_value_1
);
1185 } else fra
.me
.REG
[5] = once_value_1
;
1186 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1187 fra
.me
.REG
[5] = CALL_compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1188 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1189 if (!once_value_2
) {
1190 fra
.me
.REG
[5] = BOX_NativeString("(recv) ((");
1192 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1193 once_value_2
= fra
.me
.REG
[5];
1194 register_static_object(&once_value_2
);
1195 } else fra
.me
.REG
[5] = once_value_2
;
1196 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1197 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1198 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1199 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1200 if (!once_value_3
) {
1201 fra
.me
.REG
[0] = BOX_NativeString("_t)CALL((recv), (");
1202 REGB0
= TAG_Int(17);
1203 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1204 once_value_3
= fra
.me
.REG
[0];
1205 register_static_object(&once_value_3
);
1206 } else fra
.me
.REG
[0] = once_value_3
;
1207 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1208 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1209 if (!once_value_4
) {
1210 fra
.me
.REG
[2] = BOX_NativeString(")))");
1212 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1213 once_value_4
= fra
.me
.REG
[2];
1214 register_static_object(&once_value_4
);
1215 } else fra
.me
.REG
[2] = once_value_4
;
1216 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1217 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1218 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1219 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1220 stack_frame_head
= fra
.me
.prev
;
1223 val_t
compiling_global___TableEltMeth___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1224 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1226 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1227 fra
.me
.file
= LOCATE_compiling_global
;
1229 fra
.me
.meth
= LOCATE_compiling_global___TableEltMeth___compile_to_c
;
1230 fra
.me
.has_broke
= 0;
1231 fra
.me
.REG_size
= 3;
1232 fra
.me
.REG
[0] = NIT_NULL
;
1233 fra
.me
.REG
[1] = NIT_NULL
;
1234 fra
.me
.REG
[2] = NIT_NULL
;
1238 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1239 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1240 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1241 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1242 /* ./compiling//compiling_global.nit:183 */
1245 stack_frame_head
= fra
.me
.prev
;
1246 return fra
.me
.REG
[0];
1248 void compiling_global___TableEltSuper___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1249 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1252 static val_t once_value_1
; /* Once value */
1253 static val_t once_value_2
; /* Once value */
1254 static val_t once_value_3
; /* Once value */
1255 static val_t once_value_4
; /* Once value */
1256 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1257 fra
.me
.file
= LOCATE_compiling_global
;
1259 fra
.me
.meth
= LOCATE_compiling_global___TableEltSuper___compile_macros
;
1260 fra
.me
.has_broke
= 0;
1261 fra
.me
.REG_size
= 6;
1262 fra
.me
.REG
[0] = NIT_NULL
;
1263 fra
.me
.REG
[1] = NIT_NULL
;
1264 fra
.me
.REG
[2] = NIT_NULL
;
1265 fra
.me
.REG
[3] = NIT_NULL
;
1266 fra
.me
.REG
[4] = NIT_NULL
;
1267 fra
.me
.REG
[5] = NIT_NULL
;
1271 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1273 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1275 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
1276 /* ./compiling//compiling_global.nit:191 */
1277 if (!once_value_1
) {
1278 fra
.me
.REG
[5] = BOX_NativeString("#define ");
1280 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1281 once_value_1
= fra
.me
.REG
[5];
1282 register_static_object(&once_value_1
);
1283 } else fra
.me
.REG
[5] = once_value_1
;
1284 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1285 fra
.me
.REG
[5] = CALL_compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1286 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1287 if (!once_value_2
) {
1288 fra
.me
.REG
[5] = BOX_NativeString("(recv) ((");
1290 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1291 once_value_2
= fra
.me
.REG
[5];
1292 register_static_object(&once_value_2
);
1293 } else fra
.me
.REG
[5] = once_value_2
;
1294 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1295 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1296 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1297 if (!once_value_3
) {
1298 fra
.me
.REG
[0] = BOX_NativeString("_t)CALL((recv), (");
1299 REGB0
= TAG_Int(17);
1300 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1301 once_value_3
= fra
.me
.REG
[0];
1302 register_static_object(&once_value_3
);
1303 } else fra
.me
.REG
[0] = once_value_3
;
1304 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1305 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1306 if (!once_value_4
) {
1307 fra
.me
.REG
[2] = BOX_NativeString(")))");
1309 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1310 once_value_4
= fra
.me
.REG
[2];
1311 register_static_object(&once_value_4
);
1312 } else fra
.me
.REG
[2] = once_value_4
;
1313 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1314 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1315 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1316 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1317 stack_frame_head
= fra
.me
.prev
;
1320 val_t
compiling_global___TableEltSuper___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1321 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1326 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1327 fra
.me
.file
= LOCATE_compiling_global
;
1329 fra
.me
.meth
= LOCATE_compiling_global___TableEltSuper___compile_to_c
;
1330 fra
.me
.has_broke
= 0;
1331 fra
.me
.REG_size
= 6;
1332 fra
.me
.REG
[0] = NIT_NULL
;
1333 fra
.me
.REG
[1] = NIT_NULL
;
1334 fra
.me
.REG
[2] = NIT_NULL
;
1335 fra
.me
.REG
[3] = NIT_NULL
;
1336 fra
.me
.REG
[4] = NIT_NULL
;
1337 fra
.me
.REG
[5] = NIT_NULL
;
1341 fra
.me
.REG
[1] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1342 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1343 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1344 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1345 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1346 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1347 REGB0
= TAG_Bool(false);
1348 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1349 /* ./compiling//compiling_global.nit:200 */
1351 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1352 if (UNTAG_Bool(REGB1
)) {
1353 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1354 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[1]));
1355 /* ./compiling//compiling_global.nit:202 */
1356 if (UNTAG_Bool(REGB1
)) {
1358 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1361 if (UNTAG_Bool(REGB1
)) {
1362 REGB1
= TAG_Bool(true);
1364 /* ./compiling//compiling_global.nit:203 */
1366 /* ./compiling//compiling_global.nit:204 */
1367 if (UNTAG_Bool(REGB0
)) {
1368 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1369 REGB1
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1371 REGB2
= TAG_Bool(false);
1374 if (UNTAG_Bool(REGB1
)) {
1375 REGB1
= CALL_abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1376 /* ./compiling//compiling_global.nit:205 */
1377 if (UNTAG_Bool(REGB1
)) {
1378 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1379 fra
.me
.REG
[4] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1380 /* ./compiling//compiling_global.nit:207 */
1386 /* ./compiling//compiling_global.nit:200 */
1389 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1392 /* ./compiling//compiling_global.nit:211 */
1393 fprintf(stderr
, "Aborted");
1394 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 211);
1397 stack_frame_head
= fra
.me
.prev
;
1398 return fra
.me
.REG
[4];
1400 void compiling_global___TableEltAttr___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1401 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1404 static val_t once_value_1
; /* Once value */
1405 static val_t once_value_2
; /* Once value */
1406 static val_t once_value_3
; /* Once value */
1407 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1408 fra
.me
.file
= LOCATE_compiling_global
;
1410 fra
.me
.meth
= LOCATE_compiling_global___TableEltAttr___compile_macros
;
1411 fra
.me
.has_broke
= 0;
1412 fra
.me
.REG_size
= 6;
1413 fra
.me
.REG
[0] = NIT_NULL
;
1414 fra
.me
.REG
[1] = NIT_NULL
;
1415 fra
.me
.REG
[2] = NIT_NULL
;
1416 fra
.me
.REG
[3] = NIT_NULL
;
1417 fra
.me
.REG
[4] = NIT_NULL
;
1418 fra
.me
.REG
[5] = NIT_NULL
;
1422 fra
.me
.REG
[0] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1423 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1425 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1427 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
1428 /* ./compiling//compiling_global.nit:219 */
1429 if (!once_value_1
) {
1430 fra
.me
.REG
[5] = BOX_NativeString("#define ");
1432 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1433 once_value_1
= fra
.me
.REG
[5];
1434 register_static_object(&once_value_1
);
1435 } else fra
.me
.REG
[5] = once_value_1
;
1436 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1437 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1438 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1439 if (!once_value_2
) {
1440 fra
.me
.REG
[0] = BOX_NativeString("(recv) ATTR(recv, (");
1441 REGB0
= TAG_Int(19);
1442 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1443 once_value_2
= fra
.me
.REG
[0];
1444 register_static_object(&once_value_2
);
1445 } else fra
.me
.REG
[0] = once_value_2
;
1446 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1447 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1448 if (!once_value_3
) {
1449 fra
.me
.REG
[2] = BOX_NativeString("))");
1451 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1452 once_value_3
= fra
.me
.REG
[2];
1453 register_static_object(&once_value_3
);
1454 } else fra
.me
.REG
[2] = once_value_3
;
1455 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1456 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1457 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1458 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1459 stack_frame_head
= fra
.me
.prev
;
1462 val_t
compiling_global___TableEltAttr___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1463 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1466 static val_t once_value_1
; /* Once value */
1467 static val_t once_value_2
; /* Once value */
1468 static val_t once_value_3
; /* Once value */
1469 static val_t once_value_4
; /* Once value */
1470 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1471 fra
.me
.file
= LOCATE_compiling_global
;
1473 fra
.me
.meth
= LOCATE_compiling_global___TableEltAttr___compile_to_c
;
1474 fra
.me
.has_broke
= 0;
1475 fra
.me
.REG_size
= 6;
1476 fra
.me
.REG
[0] = NIT_NULL
;
1477 fra
.me
.REG
[1] = NIT_NULL
;
1478 fra
.me
.REG
[2] = NIT_NULL
;
1479 fra
.me
.REG
[3] = NIT_NULL
;
1480 fra
.me
.REG
[4] = NIT_NULL
;
1481 fra
.me
.REG
[5] = NIT_NULL
;
1485 fra
.me
.REG
[1] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1486 fra
.me
.REG
[3] = CALL_table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1487 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1488 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1490 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
1491 /* ./compiling//compiling_global.nit:226 */
1492 if (!once_value_1
) {
1493 fra
.me
.REG
[5] = BOX_NativeString("/* ");
1495 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1496 once_value_1
= fra
.me
.REG
[5];
1497 register_static_object(&once_value_1
);
1498 } else fra
.me
.REG
[5] = once_value_1
;
1499 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1500 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1501 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1502 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1503 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1504 if (!once_value_2
) {
1505 fra
.me
.REG
[0] = BOX_NativeString(": Attribute ");
1506 REGB0
= TAG_Int(12);
1507 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1508 once_value_2
= fra
.me
.REG
[0];
1509 register_static_object(&once_value_2
);
1510 } else fra
.me
.REG
[0] = once_value_2
;
1511 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1512 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1513 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1514 if (!once_value_3
) {
1515 fra
.me
.REG
[2] = BOX_NativeString("::");
1517 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1518 once_value_3
= fra
.me
.REG
[2];
1519 register_static_object(&once_value_3
);
1520 } else fra
.me
.REG
[2] = once_value_3
;
1521 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1522 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1523 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1524 if (!once_value_4
) {
1525 fra
.me
.REG
[3] = BOX_NativeString(" */");
1527 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1528 once_value_4
= fra
.me
.REG
[3];
1529 register_static_object(&once_value_4
);
1530 } else fra
.me
.REG
[3] = once_value_4
;
1531 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1532 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1535 stack_frame_head
= fra
.me
.prev
;
1536 return fra
.me
.REG
[4];
1538 void compiling_global___AbsTableEltClass___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1539 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1542 static val_t once_value_1
; /* Once value */
1543 static val_t once_value_2
; /* Once value */
1544 static val_t once_value_3
; /* Once value */
1545 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1546 fra
.me
.file
= LOCATE_compiling_global
;
1548 fra
.me
.meth
= LOCATE_compiling_global___AbsTableEltClass___compile_macros
;
1549 fra
.me
.has_broke
= 0;
1550 fra
.me
.REG_size
= 6;
1551 fra
.me
.REG
[0] = NIT_NULL
;
1552 fra
.me
.REG
[1] = NIT_NULL
;
1553 fra
.me
.REG
[2] = NIT_NULL
;
1554 fra
.me
.REG
[3] = NIT_NULL
;
1555 fra
.me
.REG
[4] = NIT_NULL
;
1556 fra
.me
.REG
[5] = NIT_NULL
;
1561 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1563 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
1564 /* ./compiling//compiling_global.nit:236 */
1565 if (!once_value_1
) {
1566 fra
.me
.REG
[5] = BOX_NativeString("#define ");
1568 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1569 once_value_1
= fra
.me
.REG
[5];
1570 register_static_object(&once_value_1
);
1571 } else fra
.me
.REG
[5] = once_value_1
;
1572 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1573 fra
.me
.REG
[0] = CALL_compiling_global___AbsTableEltClass___symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1574 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1575 if (!once_value_2
) {
1576 fra
.me
.REG
[0] = BOX_NativeString(" (");
1578 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1579 once_value_2
= fra
.me
.REG
[0];
1580 register_static_object(&once_value_2
);
1581 } else fra
.me
.REG
[0] = once_value_2
;
1582 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1583 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1584 if (!once_value_3
) {
1585 fra
.me
.REG
[2] = BOX_NativeString(")");
1587 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1588 once_value_3
= fra
.me
.REG
[2];
1589 register_static_object(&once_value_3
);
1590 } else fra
.me
.REG
[2] = once_value_3
;
1591 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1592 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1593 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1594 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1595 stack_frame_head
= fra
.me
.prev
;
1598 val_t
compiling_global___AbsTableEltClass___symbol(val_t p0
){
1599 struct {struct stack_frame_t me
;} fra
;
1601 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1602 fra
.me
.file
= LOCATE_compiling_global
;
1604 fra
.me
.meth
= LOCATE_compiling_global___AbsTableEltClass___symbol
;
1605 fra
.me
.has_broke
= 0;
1606 fra
.me
.REG_size
= 0;
1607 /* ./compiling//compiling_global.nit:231 */
1608 fprintf(stderr
, "Deferred method called");
1609 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 231);
1611 stack_frame_head
= fra
.me
.prev
;
1614 val_t
compiling_global___TableEltClassId___value(val_t p0
, val_t p1
){
1615 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1618 static val_t once_value_1
; /* Once value */
1619 static val_t once_value_2
; /* Once value */
1620 static val_t once_value_3
; /* Once value */
1621 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1622 fra
.me
.file
= LOCATE_compiling_global
;
1624 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassId___value
;
1625 fra
.me
.has_broke
= 0;
1626 fra
.me
.REG_size
= 4;
1627 fra
.me
.REG
[0] = NIT_NULL
;
1628 fra
.me
.REG
[1] = NIT_NULL
;
1629 fra
.me
.REG
[2] = NIT_NULL
;
1630 fra
.me
.REG
[3] = NIT_NULL
;
1634 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1635 /* ./compiling//compiling_global.nit:245 */
1636 if (!once_value_1
) {
1637 fra
.me
.REG
[3] = BOX_NativeString("");
1639 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1640 once_value_1
= fra
.me
.REG
[3];
1641 register_static_object(&once_value_1
);
1642 } else fra
.me
.REG
[3] = once_value_1
;
1643 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1644 fra
.me
.REG
[1] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1645 fra
.me
.REG
[3] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1646 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1647 fra
.me
.REG
[3] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1648 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1649 if (UNTAG_Bool(REGB0
)) {
1650 fprintf(stderr
, "Reciever is null");
1651 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 245);
1654 REGB0
= CALL_table_computation___CompiledClass___id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1655 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1656 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1657 if (!once_value_2
) {
1658 fra
.me
.REG
[3] = BOX_NativeString(" /* Id of ");
1659 REGB0
= TAG_Int(10);
1660 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1661 once_value_2
= fra
.me
.REG
[3];
1662 register_static_object(&once_value_2
);
1663 } else fra
.me
.REG
[3] = once_value_2
;
1664 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1665 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1666 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1667 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1668 if (!once_value_3
) {
1669 fra
.me
.REG
[0] = BOX_NativeString(" */");
1671 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1672 once_value_3
= fra
.me
.REG
[0];
1673 register_static_object(&once_value_3
);
1674 } else fra
.me
.REG
[0] = once_value_3
;
1675 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1676 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1679 stack_frame_head
= fra
.me
.prev
;
1680 return fra
.me
.REG
[2];
1682 val_t
compiling_global___TableEltClassId___symbol(val_t p0
){
1683 struct {struct stack_frame_t me
;} fra
;
1685 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1686 fra
.me
.file
= LOCATE_compiling_global
;
1688 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassId___symbol
;
1689 fra
.me
.has_broke
= 0;
1690 fra
.me
.REG_size
= 1;
1691 fra
.me
.REG
[0] = NIT_NULL
;
1693 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1694 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1695 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1696 /* ./compiling//compiling_global.nit:241 */
1699 stack_frame_head
= fra
.me
.prev
;
1700 return fra
.me
.REG
[0];
1702 val_t
compiling_global___TableEltClassInitTable___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1703 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1709 static val_t once_value_3
; /* Once value */
1710 static val_t once_value_4
; /* Once value */
1711 static val_t once_value_5
; /* Once value */
1712 static val_t once_value_6
; /* Once value */
1713 static val_t once_value_7
; /* Once value */
1714 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1715 fra
.me
.file
= LOCATE_compiling_global
;
1717 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassInitTable___compile_to_c
;
1718 fra
.me
.has_broke
= 0;
1719 fra
.me
.REG_size
= 7;
1720 fra
.me
.REG
[0] = NIT_NULL
;
1721 fra
.me
.REG
[1] = NIT_NULL
;
1722 fra
.me
.REG
[2] = NIT_NULL
;
1723 fra
.me
.REG
[3] = NIT_NULL
;
1724 fra
.me
.REG
[4] = NIT_NULL
;
1725 fra
.me
.REG
[5] = NIT_NULL
;
1726 fra
.me
.REG
[6] = NIT_NULL
;
1730 fra
.me
.REG
[1] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1731 fra
.me
.REG
[3] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1732 fra
.me
.REG
[4] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1733 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1734 fra
.me
.REG
[4] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1735 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1736 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___reverse_linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1738 /* ./compiling//compiling_global.nit:258 */
1740 fra
.me
.REG
[5] = fra
.me
.REG
[3];
1743 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
1744 /* ./../lib/standard//collection//array.nit:233 */
1745 if (UNTAG_Bool(REGB2
)) {
1746 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1747 if (UNTAG_Bool(REGB2
)) {
1749 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1750 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1753 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1754 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1755 /* ./../lib/standard//collection//array.nit:233 */
1757 REGB3
= TAG_Bool(false);
1760 if (UNTAG_Bool(REGB2
)) {
1762 fprintf(stderr
, "Assert %s failed", "'index'");
1763 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1766 fra
.me
.REG
[5] = ATTR_array___Array____items(fra
.me
.REG
[5]);
1767 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1768 /* ./../lib/standard//collection//array.nit:234 */
1769 if (UNTAG_Bool(REGB2
)) {
1770 fprintf(stderr
, "Reciever is null");
1771 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
1774 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1775 /* ./../lib/standard//collection//array.nit:234 */
1778 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1779 /* ./compiling//compiling_global.nit:258 */
1780 if (UNTAG_Bool(REGB1
)) {
1781 fprintf(stderr
, "Reciever is null");
1782 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 258);
1785 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1786 fra
.me
.REG
[6] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1787 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1788 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[6]));
1789 if (UNTAG_Bool(REGB1
)) {
1791 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1794 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1795 if (UNTAG_Bool(REGB1
)) {
1797 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1799 /* ./compiling//compiling_global.nit:259 */
1801 /* ./compiling//compiling_global.nit:258 */
1807 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
1808 /* ./compiling//compiling_global.nit:261 */
1809 if (!once_value_3
) {
1810 fra
.me
.REG
[6] = BOX_NativeString("");
1812 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
1813 once_value_3
= fra
.me
.REG
[6];
1814 register_static_object(&once_value_3
);
1815 } else fra
.me
.REG
[6] = once_value_3
;
1816 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1817 fra
.me
.REG
[6] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1818 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1819 if (!once_value_4
) {
1820 fra
.me
.REG
[6] = BOX_NativeString(" /* ");
1822 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1823 once_value_4
= fra
.me
.REG
[6];
1824 register_static_object(&once_value_4
);
1825 } else fra
.me
.REG
[6] = once_value_4
;
1826 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1827 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1828 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1829 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1830 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1831 if (!once_value_5
) {
1832 fra
.me
.REG
[0] = BOX_NativeString(": ");
1834 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1835 once_value_5
= fra
.me
.REG
[0];
1836 register_static_object(&once_value_5
);
1837 } else fra
.me
.REG
[0] = once_value_5
;
1838 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1839 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1840 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1841 if (!once_value_6
) {
1842 fra
.me
.REG
[2] = BOX_NativeString(" < ");
1844 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1845 once_value_6
= fra
.me
.REG
[2];
1846 register_static_object(&once_value_6
);
1847 } else fra
.me
.REG
[2] = once_value_6
;
1848 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1849 fra
.me
.REG
[4] = CALL_table_computation___CompiledClass___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1850 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1851 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1852 if (!once_value_7
) {
1853 fra
.me
.REG
[4] = BOX_NativeString(": superclass init_table position */");
1854 REGB0
= TAG_Int(35);
1855 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1856 once_value_7
= fra
.me
.REG
[4];
1857 register_static_object(&once_value_7
);
1858 } else fra
.me
.REG
[4] = once_value_7
;
1859 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1860 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1863 stack_frame_head
= fra
.me
.prev
;
1864 return fra
.me
.REG
[3];
1866 val_t
compiling_global___TableEltClassInitTable___symbol(val_t p0
){
1867 struct {struct stack_frame_t me
;} fra
;
1869 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1870 fra
.me
.file
= LOCATE_compiling_global
;
1872 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassInitTable___symbol
;
1873 fra
.me
.has_broke
= 0;
1874 fra
.me
.REG_size
= 1;
1875 fra
.me
.REG
[0] = NIT_NULL
;
1877 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1878 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1879 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1880 /* ./compiling//compiling_global.nit:250 */
1883 stack_frame_head
= fra
.me
.prev
;
1884 return fra
.me
.REG
[0];
1886 val_t
compiling_global___TableEltClassColor___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1887 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1890 static val_t once_value_1
; /* Once value */
1891 static val_t once_value_2
; /* Once value */
1892 static val_t once_value_3
; /* Once value */
1893 static val_t once_value_4
; /* Once value */
1894 static val_t once_value_5
; /* Once value */
1895 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1896 fra
.me
.file
= LOCATE_compiling_global
;
1898 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassColor___compile_to_c
;
1899 fra
.me
.has_broke
= 0;
1900 fra
.me
.REG_size
= 6;
1901 fra
.me
.REG
[0] = NIT_NULL
;
1902 fra
.me
.REG
[1] = NIT_NULL
;
1903 fra
.me
.REG
[2] = NIT_NULL
;
1904 fra
.me
.REG
[3] = NIT_NULL
;
1905 fra
.me
.REG
[4] = NIT_NULL
;
1906 fra
.me
.REG
[5] = NIT_NULL
;
1910 fra
.me
.REG
[1] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1911 fra
.me
.REG
[3] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1912 fra
.me
.REG
[4] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1913 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1914 fra
.me
.REG
[4] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1916 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1917 /* ./compiling//compiling_global.nit:277 */
1918 if (!once_value_1
) {
1919 fra
.me
.REG
[5] = BOX_NativeString("");
1921 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1922 once_value_1
= fra
.me
.REG
[5];
1923 register_static_object(&once_value_1
);
1924 } else fra
.me
.REG
[5] = once_value_1
;
1925 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1926 REGB0
= CALL_table_computation___CompiledClass___id(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1927 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1928 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1929 if (!once_value_2
) {
1930 fra
.me
.REG
[5] = BOX_NativeString(" /* ");
1932 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1933 once_value_2
= fra
.me
.REG
[5];
1934 register_static_object(&once_value_2
);
1935 } else fra
.me
.REG
[5] = once_value_2
;
1936 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1937 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1938 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1939 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
1940 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1941 if (!once_value_3
) {
1942 fra
.me
.REG
[0] = BOX_NativeString(": ");
1944 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1945 once_value_3
= fra
.me
.REG
[0];
1946 register_static_object(&once_value_3
);
1947 } else fra
.me
.REG
[0] = once_value_3
;
1948 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1949 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1950 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1951 if (!once_value_4
) {
1952 fra
.me
.REG
[2] = BOX_NativeString(" < ");
1954 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1955 once_value_4
= fra
.me
.REG
[2];
1956 register_static_object(&once_value_4
);
1957 } else fra
.me
.REG
[2] = once_value_4
;
1958 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1959 fra
.me
.REG
[4] = CALL_table_computation___CompiledClass___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1960 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1961 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1962 if (!once_value_5
) {
1963 fra
.me
.REG
[4] = BOX_NativeString(": superclass typecheck marker */");
1964 REGB0
= TAG_Int(32);
1965 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1966 once_value_5
= fra
.me
.REG
[4];
1967 register_static_object(&once_value_5
);
1968 } else fra
.me
.REG
[4] = once_value_5
;
1969 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1970 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1973 stack_frame_head
= fra
.me
.prev
;
1974 return fra
.me
.REG
[3];
1976 val_t
compiling_global___TableEltClassColor___symbol(val_t p0
){
1977 struct {struct stack_frame_t me
;} fra
;
1979 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1980 fra
.me
.file
= LOCATE_compiling_global
;
1982 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassColor___symbol
;
1983 fra
.me
.has_broke
= 0;
1984 fra
.me
.REG_size
= 1;
1985 fra
.me
.REG
[0] = NIT_NULL
;
1987 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1988 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1989 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1990 /* ./compiling//compiling_global.nit:266 */
1993 stack_frame_head
= fra
.me
.prev
;
1994 return fra
.me
.REG
[0];
1996 val_t
compiling_global___TableEltClassColor___value(val_t p0
, val_t p1
){
1997 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2000 static val_t once_value_1
; /* Once value */
2001 static val_t once_value_2
; /* Once value */
2002 static val_t once_value_3
; /* Once value */
2003 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2004 fra
.me
.file
= LOCATE_compiling_global
;
2006 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassColor___value
;
2007 fra
.me
.has_broke
= 0;
2008 fra
.me
.REG_size
= 4;
2009 fra
.me
.REG
[0] = NIT_NULL
;
2010 fra
.me
.REG
[1] = NIT_NULL
;
2011 fra
.me
.REG
[2] = NIT_NULL
;
2012 fra
.me
.REG
[3] = NIT_NULL
;
2016 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2017 /* ./compiling//compiling_global.nit:270 */
2018 if (!once_value_1
) {
2019 fra
.me
.REG
[3] = BOX_NativeString("");
2021 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2022 once_value_1
= fra
.me
.REG
[3];
2023 register_static_object(&once_value_1
);
2024 } else fra
.me
.REG
[3] = once_value_1
;
2025 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2026 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2027 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2028 fra
.me
.REG
[1] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2029 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2030 if (!once_value_2
) {
2031 fra
.me
.REG
[1] = BOX_NativeString(" /* Color of ");
2032 REGB0
= TAG_Int(13);
2033 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
2034 once_value_2
= fra
.me
.REG
[1];
2035 register_static_object(&once_value_2
);
2036 } else fra
.me
.REG
[1] = once_value_2
;
2037 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2038 fra
.me
.REG
[0] = CALL_table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2039 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2040 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2041 if (!once_value_3
) {
2042 fra
.me
.REG
[0] = BOX_NativeString(" */");
2044 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2045 once_value_3
= fra
.me
.REG
[0];
2046 register_static_object(&once_value_3
);
2047 } else fra
.me
.REG
[0] = once_value_3
;
2048 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2049 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2052 stack_frame_head
= fra
.me
.prev
;
2053 return fra
.me
.REG
[2];
2055 val_t
compiling_global___TableEltComposite___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2056 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2058 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2059 fra
.me
.file
= LOCATE_compiling_global
;
2061 fra
.me
.meth
= LOCATE_compiling_global___TableEltComposite___compile_to_c
;
2062 fra
.me
.has_broke
= 0;
2063 fra
.me
.REG_size
= 3;
2064 fra
.me
.REG
[0] = NIT_NULL
;
2065 fra
.me
.REG
[1] = NIT_NULL
;
2066 fra
.me
.REG
[2] = NIT_NULL
;
2070 /* ./compiling//compiling_global.nit:282 */
2071 fprintf(stderr
, "Aborted");
2072 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 282);
2074 stack_frame_head
= fra
.me
.prev
;
2077 val_t
compiling_global___TableEltClassSelfId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2078 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2081 static val_t once_value_1
; /* Once value */
2082 static val_t once_value_2
; /* Once value */
2083 static val_t once_value_3
; /* Once value */
2084 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2085 fra
.me
.file
= LOCATE_compiling_global
;
2087 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassSelfId___compile_to_c
;
2088 fra
.me
.has_broke
= 0;
2089 fra
.me
.REG_size
= 5;
2090 fra
.me
.REG
[0] = NIT_NULL
;
2091 fra
.me
.REG
[1] = NIT_NULL
;
2092 fra
.me
.REG
[2] = NIT_NULL
;
2093 fra
.me
.REG
[3] = NIT_NULL
;
2094 fra
.me
.REG
[4] = NIT_NULL
;
2098 fra
.me
.REG
[1] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2100 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2101 /* ./compiling//compiling_global.nit:289 */
2102 if (!once_value_1
) {
2103 fra
.me
.REG
[4] = BOX_NativeString("");
2105 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2106 once_value_1
= fra
.me
.REG
[4];
2107 register_static_object(&once_value_1
);
2108 } else fra
.me
.REG
[4] = once_value_1
;
2109 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2110 fra
.me
.REG
[4] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2111 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2112 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2113 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2114 if (UNTAG_Bool(REGB0
)) {
2115 fprintf(stderr
, "Reciever is null");
2116 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 289);
2119 REGB0
= CALL_table_computation___CompiledClass___id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2120 fra
.me
.REG
[2] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2121 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2122 if (!once_value_2
) {
2123 fra
.me
.REG
[2] = BOX_NativeString(" /* ");
2125 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2126 once_value_2
= fra
.me
.REG
[2];
2127 register_static_object(&once_value_2
);
2128 } else fra
.me
.REG
[2] = once_value_2
;
2129 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2130 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2131 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2132 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2133 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2134 if (!once_value_3
) {
2135 fra
.me
.REG
[0] = BOX_NativeString(": Identity */");
2136 REGB0
= TAG_Int(13);
2137 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2138 once_value_3
= fra
.me
.REG
[0];
2139 register_static_object(&once_value_3
);
2140 } else fra
.me
.REG
[0] = once_value_3
;
2141 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2142 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2145 stack_frame_head
= fra
.me
.prev
;
2146 return fra
.me
.REG
[3];
2148 val_t
compiling_global___TableEltClassObjectSize___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2149 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2154 static val_t once_value_1
; /* Once value */
2155 static val_t once_value_3
; /* Once value */
2156 static val_t once_value_4
; /* Once value */
2157 static val_t once_value_5
; /* Once value */
2158 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2159 fra
.me
.file
= LOCATE_compiling_global
;
2161 fra
.me
.meth
= LOCATE_compiling_global___TableEltClassObjectSize___compile_to_c
;
2162 fra
.me
.has_broke
= 0;
2163 fra
.me
.REG_size
= 5;
2164 fra
.me
.REG
[0] = NIT_NULL
;
2165 fra
.me
.REG
[1] = NIT_NULL
;
2166 fra
.me
.REG
[2] = NIT_NULL
;
2167 fra
.me
.REG
[3] = NIT_NULL
;
2168 fra
.me
.REG
[4] = NIT_NULL
;
2173 fra
.me
.REG
[1] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2174 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2175 /* ./compiling//compiling_global.nit:298 */
2176 if (!once_value_1
) {
2177 fra
.me
.REG
[4] = BOX_NativeString("NativeArray");
2178 REGB1
= TAG_Int(11);
2179 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
2180 once_value_1
= fra
.me
.REG
[4];
2181 register_static_object(&once_value_1
);
2182 } else fra
.me
.REG
[4] = once_value_1
;
2183 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2184 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
2185 if (UNTAG_Bool(REGB1
)) {
2187 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2190 if (UNTAG_Bool(REGB1
)) {
2192 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
2194 /* ./compiling//compiling_global.nit:299 */
2196 fra
.me
.REG
[4] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2197 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2198 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2199 fra
.me
.REG
[2] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2200 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2201 /* ./compiling//compiling_global.nit:303 */
2203 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2204 if (UNTAG_Bool(REGB1
)) {
2205 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2207 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2209 /* ./compiling//compiling_global.nit:304 */
2211 /* ./compiling//compiling_global.nit:303 */
2214 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2219 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB1
);
2220 /* ./compiling//compiling_global.nit:307 */
2221 if (!once_value_3
) {
2222 fra
.me
.REG
[4] = BOX_NativeString("");
2224 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
2225 once_value_3
= fra
.me
.REG
[4];
2226 register_static_object(&once_value_3
);
2227 } else fra
.me
.REG
[4] = once_value_3
;
2228 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2229 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2230 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2231 if (!once_value_4
) {
2232 fra
.me
.REG
[4] = BOX_NativeString(" /* ");
2234 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2235 once_value_4
= fra
.me
.REG
[4];
2236 register_static_object(&once_value_4
);
2237 } else fra
.me
.REG
[4] = once_value_4
;
2238 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2239 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2240 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2241 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2242 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2243 if (!once_value_5
) {
2244 fra
.me
.REG
[0] = BOX_NativeString(": Object size (-1 if a NativeArray)*/");
2245 REGB0
= TAG_Int(37);
2246 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2247 once_value_5
= fra
.me
.REG
[0];
2248 register_static_object(&once_value_5
);
2249 } else fra
.me
.REG
[0] = once_value_5
;
2250 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2251 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2254 stack_frame_head
= fra
.me
.prev
;
2255 return fra
.me
.REG
[2];
2257 val_t
compiling_global___TableEltObjectId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2258 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2261 static val_t once_value_1
; /* Once value */
2262 static val_t once_value_2
; /* Once value */
2263 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2264 fra
.me
.file
= LOCATE_compiling_global
;
2266 fra
.me
.meth
= LOCATE_compiling_global___TableEltObjectId___compile_to_c
;
2267 fra
.me
.has_broke
= 0;
2268 fra
.me
.REG_size
= 4;
2269 fra
.me
.REG
[0] = NIT_NULL
;
2270 fra
.me
.REG
[1] = NIT_NULL
;
2271 fra
.me
.REG
[2] = NIT_NULL
;
2272 fra
.me
.REG
[3] = NIT_NULL
;
2276 fra
.me
.REG
[1] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2278 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2279 /* ./compiling//compiling_global.nit:315 */
2280 if (!once_value_1
) {
2281 fra
.me
.REG
[3] = BOX_NativeString("/* ");
2283 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2284 once_value_1
= fra
.me
.REG
[3];
2285 register_static_object(&once_value_1
);
2286 } else fra
.me
.REG
[3] = once_value_1
;
2287 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2288 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2289 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2290 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2291 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2292 if (!once_value_2
) {
2293 fra
.me
.REG
[0] = BOX_NativeString(": Object_id */");
2294 REGB0
= TAG_Int(14);
2295 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2296 once_value_2
= fra
.me
.REG
[0];
2297 register_static_object(&once_value_2
);
2298 } else fra
.me
.REG
[0] = once_value_2
;
2299 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2300 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2303 stack_frame_head
= fra
.me
.prev
;
2304 return fra
.me
.REG
[2];
2306 val_t
compiling_global___TableEltVftPointer___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2307 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2310 static val_t once_value_1
; /* Once value */
2311 static val_t once_value_2
; /* Once value */
2312 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2313 fra
.me
.file
= LOCATE_compiling_global
;
2315 fra
.me
.meth
= LOCATE_compiling_global___TableEltVftPointer___compile_to_c
;
2316 fra
.me
.has_broke
= 0;
2317 fra
.me
.REG_size
= 4;
2318 fra
.me
.REG
[0] = NIT_NULL
;
2319 fra
.me
.REG
[1] = NIT_NULL
;
2320 fra
.me
.REG
[2] = NIT_NULL
;
2321 fra
.me
.REG
[3] = NIT_NULL
;
2325 fra
.me
.REG
[1] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2327 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2328 /* ./compiling//compiling_global.nit:323 */
2329 if (!once_value_1
) {
2330 fra
.me
.REG
[3] = BOX_NativeString("/* ");
2332 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2333 once_value_1
= fra
.me
.REG
[3];
2334 register_static_object(&once_value_1
);
2335 } else fra
.me
.REG
[3] = once_value_1
;
2336 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2337 fra
.me
.REG
[1] = CALL_table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2338 REGB0
= CALL_table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2339 fra
.me
.REG
[0] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2340 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2341 if (!once_value_2
) {
2342 fra
.me
.REG
[0] = BOX_NativeString(": Pointer to the classtable */");
2343 REGB0
= TAG_Int(30);
2344 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2345 once_value_2
= fra
.me
.REG
[0];
2346 register_static_object(&once_value_2
);
2347 } else fra
.me
.REG
[0] = once_value_2
;
2348 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2349 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2352 stack_frame_head
= fra
.me
.prev
;
2353 return fra
.me
.REG
[2];
2355 void compiling_global___MMLocalClass___declare_tables_to_c(val_t p0
, val_t p1
){
2356 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
2360 static val_t once_value_1
; /* Once value */
2361 static val_t once_value_2
; /* Once value */
2362 static val_t once_value_3
; /* Once value */
2363 static val_t once_value_4
; /* Once value */
2364 static val_t once_value_5
; /* Once value */
2365 static val_t once_value_6
; /* Once value */
2366 static val_t once_value_7
; /* Once value */
2367 static val_t once_value_8
; /* Once value */
2368 static val_t once_value_9
; /* Once value */
2369 static val_t once_value_10
; /* Once value */
2370 static val_t once_value_11
; /* Once value */
2371 static val_t once_value_12
; /* Once value */
2372 static val_t once_value_13
; /* Once value */
2373 static val_t once_value_14
; /* Once value */
2374 static val_t once_value_15
; /* Once value */
2375 static val_t once_value_16
; /* Once value */
2376 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2377 fra
.me
.file
= LOCATE_compiling_global
;
2379 fra
.me
.meth
= LOCATE_compiling_global___MMLocalClass___declare_tables_to_c
;
2380 fra
.me
.has_broke
= 0;
2381 fra
.me
.REG_size
= 7;
2382 fra
.me
.REG
[0] = NIT_NULL
;
2383 fra
.me
.REG
[1] = NIT_NULL
;
2384 fra
.me
.REG
[2] = NIT_NULL
;
2385 fra
.me
.REG
[3] = NIT_NULL
;
2386 fra
.me
.REG
[4] = NIT_NULL
;
2387 fra
.me
.REG
[5] = NIT_NULL
;
2388 fra
.me
.REG
[6] = NIT_NULL
;
2392 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2393 /* ./compiling//compiling_global.nit:342 */
2394 if (!once_value_1
) {
2395 fra
.me
.REG
[3] = BOX_NativeString("");
2397 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2398 once_value_1
= fra
.me
.REG
[3];
2399 register_static_object(&once_value_1
);
2400 } else fra
.me
.REG
[3] = once_value_1
;
2401 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2402 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2403 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2405 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2407 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2408 /* ./compiling//compiling_global.nit:344 */
2409 if (!once_value_2
) {
2410 fra
.me
.REG
[5] = BOX_NativeString("extern const classtable_elt_t VFT_");
2411 REGB0
= TAG_Int(34);
2412 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2413 once_value_2
= fra
.me
.REG
[5];
2414 register_static_object(&once_value_2
);
2415 } else fra
.me
.REG
[5] = once_value_2
;
2416 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2417 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2418 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2419 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2420 if (!once_value_3
) {
2421 fra
.me
.REG
[5] = BOX_NativeString("[];");
2423 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2424 once_value_3
= fra
.me
.REG
[5];
2425 register_static_object(&once_value_3
);
2426 } else fra
.me
.REG
[5] = once_value_3
;
2427 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2428 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2429 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2430 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2431 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2432 /* ./compiling//compiling_global.nit:345 */
2433 if (!once_value_4
) {
2434 fra
.me
.REG
[4] = BOX_NativeString("NativeArray");
2435 REGB0
= TAG_Int(11);
2436 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2437 once_value_4
= fra
.me
.REG
[4];
2438 register_static_object(&once_value_4
);
2439 } else fra
.me
.REG
[4] = once_value_4
;
2440 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2441 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
2442 if (UNTAG_Bool(REGB0
)) {
2444 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2447 if (UNTAG_Bool(REGB0
)) {
2449 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2450 /* ./compiling//compiling_global.nit:346 */
2451 if (!once_value_5
) {
2452 fra
.me
.REG
[3] = BOX_NativeString("val_t NEW_NativeArray(size_t length, size_t size);");
2453 REGB0
= TAG_Int(50);
2454 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2455 once_value_5
= fra
.me
.REG
[3];
2456 register_static_object(&once_value_5
);
2457 } else fra
.me
.REG
[3] = once_value_5
;
2458 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2459 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2461 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2462 /* ./compiling//compiling_global.nit:347 */
2463 if (UNTAG_Bool(REGB0
)) {
2465 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2466 if (UNTAG_Bool(REGB1
)) {
2467 REGB1
= TAG_Bool(false);
2470 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2474 if (UNTAG_Bool(REGB0
)) {
2476 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2477 /* ./compiling//compiling_global.nit:349 */
2478 if (UNTAG_Bool(REGB0
)) {
2479 fprintf(stderr
, "Reciever is null");
2480 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 349);
2483 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2484 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2485 if (UNTAG_Bool(REGB0
)) {
2486 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2487 /* ./compiling//compiling_global.nit:350 */
2488 if (UNTAG_Bool(REGB0
)) {
2489 fprintf(stderr
, "Reciever is null");
2490 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 350);
2493 fra
.me
.REG
[2] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2495 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2496 /* ./compiling//compiling_global.nit:351 */
2497 if (!once_value_6
) {
2498 fra
.me
.REG
[3] = BOX_NativeString("struct TBOX_");
2499 REGB0
= TAG_Int(12);
2500 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2501 once_value_6
= fra
.me
.REG
[3];
2502 register_static_object(&once_value_6
);
2503 } else fra
.me
.REG
[3] = once_value_6
;
2504 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2505 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2506 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2507 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2508 if (!once_value_7
) {
2509 fra
.me
.REG
[3] = BOX_NativeString("");
2511 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2512 once_value_7
= fra
.me
.REG
[3];
2513 register_static_object(&once_value_7
);
2514 } else fra
.me
.REG
[3] = once_value_7
;
2515 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2516 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2518 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2520 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
2521 /* ./compiling//compiling_global.nit:352 */
2522 if (!once_value_8
) {
2523 fra
.me
.REG
[6] = BOX_NativeString("");
2525 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
2526 once_value_8
= fra
.me
.REG
[6];
2527 register_static_object(&once_value_8
);
2528 } else fra
.me
.REG
[6] = once_value_8
;
2529 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2530 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
2531 if (!once_value_9
) {
2532 fra
.me
.REG
[6] = BOX_NativeString(" { const classtable_elt_t * vft; bigint object_id; ");
2533 REGB0
= TAG_Int(51);
2534 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
2535 once_value_9
= fra
.me
.REG
[6];
2536 register_static_object(&once_value_9
);
2537 } else fra
.me
.REG
[6] = once_value_9
;
2538 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2539 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[2]);
2540 if (!once_value_10
) {
2541 fra
.me
.REG
[6] = BOX_NativeString(" val;};");
2543 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
2544 once_value_10
= fra
.me
.REG
[6];
2545 register_static_object(&once_value_10
);
2546 } else fra
.me
.REG
[6] = once_value_10
;
2547 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2548 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2549 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2550 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2552 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2554 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
2555 /* ./compiling//compiling_global.nit:353 */
2556 if (!once_value_11
) {
2557 fra
.me
.REG
[6] = BOX_NativeString("val_t BOX_");
2558 REGB0
= TAG_Int(10);
2559 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
2560 once_value_11
= fra
.me
.REG
[6];
2561 register_static_object(&once_value_11
);
2562 } else fra
.me
.REG
[6] = once_value_11
;
2563 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2564 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2565 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2566 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2567 if (!once_value_12
) {
2568 fra
.me
.REG
[6] = BOX_NativeString("(");
2570 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
2571 once_value_12
= fra
.me
.REG
[6];
2572 register_static_object(&once_value_12
);
2573 } else fra
.me
.REG
[6] = once_value_12
;
2574 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2575 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[2]);
2576 if (!once_value_13
) {
2577 fra
.me
.REG
[2] = BOX_NativeString(" val);");
2579 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2580 once_value_13
= fra
.me
.REG
[2];
2581 register_static_object(&once_value_13
);
2582 } else fra
.me
.REG
[2] = once_value_13
;
2583 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[2]);
2584 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2585 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2586 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2588 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2590 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
2591 /* ./compiling//compiling_global.nit:354 */
2592 if (!once_value_14
) {
2593 fra
.me
.REG
[2] = BOX_NativeString("#define UNBOX_");
2594 REGB0
= TAG_Int(14);
2595 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2596 once_value_14
= fra
.me
.REG
[2];
2597 register_static_object(&once_value_14
);
2598 } else fra
.me
.REG
[2] = once_value_14
;
2599 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[2]);
2600 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2601 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2602 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[0]);
2603 if (!once_value_15
) {
2604 fra
.me
.REG
[0] = BOX_NativeString("(x) (((");
2606 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2607 once_value_15
= fra
.me
.REG
[0];
2608 register_static_object(&once_value_15
);
2609 } else fra
.me
.REG
[0] = once_value_15
;
2610 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[0]);
2611 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
2612 if (!once_value_16
) {
2613 fra
.me
.REG
[4] = BOX_NativeString(" *)(VAL2OBJ(x)))->val)");
2614 REGB0
= TAG_Int(22);
2615 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2616 once_value_16
= fra
.me
.REG
[4];
2617 register_static_object(&once_value_16
);
2618 } else fra
.me
.REG
[4] = once_value_16
;
2619 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
2620 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2621 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2622 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2626 stack_frame_head
= fra
.me
.prev
;
2629 void compiling_global___MMLocalClass___generate_allocation_iroutines(val_t p0
, val_t p1
){
2630 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
2634 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2635 fra
.me
.file
= LOCATE_compiling_global
;
2637 fra
.me
.meth
= LOCATE_compiling_global___MMLocalClass___generate_allocation_iroutines
;
2638 fra
.me
.has_broke
= 0;
2639 fra
.me
.REG_size
= 8;
2640 fra
.me
.REG
[0] = NIT_NULL
;
2641 fra
.me
.REG
[1] = NIT_NULL
;
2642 fra
.me
.REG
[2] = NIT_NULL
;
2643 fra
.me
.REG
[3] = NIT_NULL
;
2644 fra
.me
.REG
[4] = NIT_NULL
;
2645 fra
.me
.REG
[5] = NIT_NULL
;
2646 fra
.me
.REG
[6] = NIT_NULL
;
2647 fra
.me
.REG
[7] = NIT_NULL
;
2650 fra
.me
.REG
[1] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2651 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2652 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2653 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2654 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2655 /* ./compiling//compiling_global.nit:364 */
2656 if (UNTAG_Bool(REGB0
)) {
2658 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2659 if (UNTAG_Bool(REGB1
)) {
2660 REGB1
= TAG_Bool(false);
2663 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2667 if (UNTAG_Bool(REGB0
)) {
2668 fra
.me
.REG
[2] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2669 fra
.me
.REG
[2] = NEW_IRegister_icode_base___IRegister___init(fra
.me
.REG
[2]);
2671 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
2672 /* ./compiling//compiling_global.nit:368 */
2673 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2674 fra
.me
.REG
[3] = NEW_IRoutine_icode_base___IRoutine___init(fra
.me
.REG
[1], NIT_NULL
);
2675 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2676 fra
.me
.REG
[4] = NEW_ICodeBuilder_icode_builder___ICodeBuilder___init(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2677 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2678 fra
.me
.REG
[5] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2679 /* ./compiling//compiling_global.nit:372 */
2681 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2682 if (UNTAG_Bool(REGB0
)) {
2683 fra
.me
.REG
[6] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2684 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
2685 fra
.me
.REG
[7] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2686 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2687 /* ./compiling//compiling_global.nit:374 */
2688 if (UNTAG_Bool(REGB0
)) {
2689 fprintf(stderr
, "Reciever is null");
2690 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 374);
2693 fra
.me
.REG
[7] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2694 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
2695 /* ./compiling//compiling_global.nit:375 */
2696 if (UNTAG_Bool(REGB0
)) {
2697 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2698 if (UNTAG_Bool(REGB0
)) {
2700 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2701 if (UNTAG_Bool(REGB1
)) {
2702 REGB1
= TAG_Bool(false);
2705 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
2709 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2711 REGB1
= TAG_Bool(false);
2714 if (UNTAG_Bool(REGB0
)) {
2715 fra
.me
.REG
[7] = CALL_icode_base___MMAttribute___iroutine(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2716 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2717 /* ./compiling//compiling_global.nit:377 */
2718 if (UNTAG_Bool(REGB0
)) {
2720 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2721 if (UNTAG_Bool(REGB1
)) {
2722 REGB1
= TAG_Bool(false);
2725 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
2729 if (UNTAG_Bool(REGB0
)) {
2732 fra
.me
.REG
[7] = CALL_icode_tools___ICodeBuilder___inline_routine(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7], fra
.me
.REG
[1], NIT_NULL
);
2733 REGB0
= TAG_Bool((fra
.me
.REG
[7]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[7], COLOR_IRegister
, ID_IRegister
)) /*cast IRegister*/;
2734 /* ./compiling//compiling_global.nit:379 */
2735 if (UNTAG_Bool(REGB0
)) {
2737 fprintf(stderr
, "Cast failed");
2738 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 379);
2741 fra
.me
.REG
[7] = NEW_IAttrWrite_icode_base___IAttrWrite___init(fra
.me
.REG
[6], fra
.me
.REG
[2], fra
.me
.REG
[7]);
2742 /* ./compiling//compiling_global.nit:380 */
2743 CALL_icode_builder___ICodeBuilder___stmt(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
2747 /* ./compiling//compiling_global.nit:372 */
2750 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2753 /* ./compiling//compiling_global.nit:384 */
2754 ATTR_compiling_global___MMLocalClass____init_var_iroutine(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
2755 fra
.me
.REG
[3] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2756 fra
.me
.REG
[3] = NEW_IRegister_icode_base___IRegister___init(fra
.me
.REG
[3]);
2758 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
2759 /* ./compiling//compiling_global.nit:389 */
2760 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
2761 fra
.me
.REG
[5] = NEW_IRoutine_icode_base___IRoutine___init(fra
.me
.REG
[5], NIT_NULL
);
2762 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2763 fra
.me
.REG
[4] = NEW_ICodeBuilder_icode_builder___ICodeBuilder___init(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2764 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2765 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2766 /* ./compiling//compiling_global.nit:392 */
2768 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2769 if (UNTAG_Bool(REGB0
)) {
2770 fra
.me
.REG
[1] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2771 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2772 fra
.me
.REG
[7] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2773 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2774 /* ./compiling//compiling_global.nit:394 */
2775 if (UNTAG_Bool(REGB0
)) {
2776 fprintf(stderr
, "Reciever is null");
2777 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 394);
2780 fra
.me
.REG
[7] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2781 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
2782 /* ./compiling//compiling_global.nit:395 */
2783 if (UNTAG_Bool(REGB0
)) {
2784 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2785 if (UNTAG_Bool(REGB0
)) {
2787 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2788 if (UNTAG_Bool(REGB1
)) {
2789 REGB1
= TAG_Bool(false);
2792 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
2796 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2798 REGB1
= TAG_Bool(false);
2801 if (UNTAG_Bool(REGB0
)) {
2802 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2803 if (UNTAG_Bool(REGB0
)) {
2804 fprintf(stderr
, "Reciever is null");
2805 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 395);
2808 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2809 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2811 REGB1
= TAG_Bool(false);
2814 if (UNTAG_Bool(REGB0
)) {
2815 /* ./compiling//compiling_global.nit:396 */
2816 CALL_icode_builder___ICodeBuilder___add_attr_check(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[3]);
2819 /* ./compiling//compiling_global.nit:392 */
2822 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2825 /* ./compiling//compiling_global.nit:400 */
2826 ATTR_compiling_global___MMLocalClass____checknew_iroutine(fra
.me
.REG
[0]) = fra
.me
.REG
[5];
2827 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2828 fra
.me
.REG
[5] = CALL_partial_order___PartialOrderElement___greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2829 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2831 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2832 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2833 fra
.me
.REG
[5] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2834 /* ./compiling//compiling_global.nit:405 */
2836 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2837 if (UNTAG_Bool(REGB1
)) {
2838 fra
.me
.REG
[2] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2839 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2840 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2841 REGB1
= CALL_abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2842 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2843 /* ./compiling//compiling_global.nit:408 */
2844 if (UNTAG_Bool(REGB1
)) {
2847 REGB1
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
2848 /* ./compiling//compiling_global.nit:409 */
2849 if (UNTAG_Bool(REGB1
)) {
2851 fprintf(stderr
, "Assert failed");
2852 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 409);
2855 fra
.me
.REG
[3] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2856 fra
.me
.REG
[3] = NEW_IRegister_icode_base___IRegister___init(fra
.me
.REG
[3]);
2857 fra
.me
.REG
[4] = NEW_Array_array___Array___init();
2859 fra
.me
.REG
[1] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2860 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2861 /* ./compiling//compiling_global.nit:413 */
2862 if (UNTAG_Bool(REGB0
)) {
2863 fprintf(stderr
, "Reciever is null");
2864 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 413);
2867 REGB0
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2868 fra
.me
.REG
[1] = NEW_Range_range___Range___without_last(REGB1
, REGB0
);
2869 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2871 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2872 if (UNTAG_Bool(REGB0
)) {
2873 REGB0
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2874 fra
.me
.REG
[7] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2875 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2876 if (UNTAG_Bool(REGB1
)) {
2877 fprintf(stderr
, "Reciever is null");
2878 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 413);
2881 fra
.me
.REG
[7] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB0
);
2882 fra
.me
.REG
[7] = NEW_IRegister_icode_base___IRegister___init(fra
.me
.REG
[7]);
2883 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[7]);
2887 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2890 fra
.me
.REG
[1] = NEW_IRoutine_icode_base___IRoutine___init(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2891 fra
.me
.REG
[7] = CALL_icode_base___MMMethod___iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2892 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2893 /* ./compiling//compiling_global.nit:415 */
2894 if (UNTAG_Bool(REGB0
)) {
2895 fprintf(stderr
, "Reciever is null");
2896 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 415);
2899 fra
.me
.REG
[7] = CALL_icode_base___IRoutine___location(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2900 CALL_icode_base___IRoutine___location__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
2901 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2902 fra
.me
.REG
[7] = NEW_ICodeBuilder_icode_builder___ICodeBuilder___init(fra
.me
.REG
[7], fra
.me
.REG
[1]);
2903 fra
.me
.REG
[6] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2904 fra
.me
.REG
[6] = NEW_IAllocateInstance_icode_base___IAllocateInstance___init(fra
.me
.REG
[6]);
2905 /* ./compiling//compiling_global.nit:419 */
2906 CALL_icode_base___ICode___result__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
2907 /* ./compiling//compiling_global.nit:420 */
2908 CALL_icode_builder___ICodeBuilder___stmt(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
2910 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
2911 /* ./compiling//compiling_global.nit:421 */
2912 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[3]);
2913 /* ./compiling//compiling_global.nit:422 */
2914 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
2915 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2916 fra
.me
.REG
[4] = NEW_IInitAttributes_icode_base___IInitAttributes___init(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2917 /* ./compiling//compiling_global.nit:424 */
2918 CALL_icode_builder___ICodeBuilder___stmt(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
2919 fra
.me
.REG
[6] = NEW_IStaticCall_icode_base___IStaticCall___init(fra
.me
.REG
[2], fra
.me
.REG
[6]);
2920 /* ./compiling//compiling_global.nit:425 */
2921 CALL_icode_builder___ICodeBuilder___stmt(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
2922 fra
.me
.REG
[6] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2923 fra
.me
.REG
[3] = NEW_ICheckInstance_icode_base___ICheckInstance___init(fra
.me
.REG
[6], fra
.me
.REG
[3]);
2924 /* ./compiling//compiling_global.nit:426 */
2925 CALL_icode_builder___ICodeBuilder___stmt(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[3]);
2926 REGB0
= TAG_Bool(ATTR_compiling_global___MMLocalClass____new_instance_iroutine(fra
.me
.REG
[0])!=NIT_NULL
);
2927 /* ./compiling//compiling_global.nit:428 */
2928 if (UNTAG_Bool(REGB0
)) {
2930 fprintf(stderr
, "Uninitialized attribute %s", "_new_instance_iroutine");
2931 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 428);
2934 fra
.me
.REG
[3] = ATTR_compiling_global___MMLocalClass____new_instance_iroutine(fra
.me
.REG
[0]);
2935 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[1]);
2938 /* ./compiling//compiling_global.nit:405 */
2941 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2945 stack_frame_head
= fra
.me
.prev
;
2948 void compiling_global___MMLocalClass___compile_tables_to_c(val_t p0
, val_t p1
){
2949 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
2954 static val_t once_value_1
; /* Once value */
2955 static val_t once_value_2
; /* Once value */
2956 static val_t once_value_3
; /* Once value */
2957 static val_t once_value_4
; /* Once value */
2958 static val_t once_value_5
; /* Once value */
2959 static val_t once_value_6
; /* Once value */
2960 static val_t once_value_8
; /* Once value */
2961 static val_t once_value_9
; /* Once value */
2962 static val_t once_value_10
; /* Once value */
2963 static val_t once_value_12
; /* Once value */
2964 static val_t once_value_13
; /* Once value */
2965 static val_t once_value_14
; /* Once value */
2966 static val_t once_value_15
; /* Once value */
2967 static val_t once_value_16
; /* Once value */
2968 static val_t once_value_17
; /* Once value */
2969 static val_t once_value_18
; /* Once value */
2970 static val_t once_value_19
; /* Once value */
2971 static val_t once_value_20
; /* Once value */
2972 static val_t once_value_21
; /* Once value */
2973 static val_t once_value_22
; /* Once value */
2974 static val_t once_value_23
; /* Once value */
2975 static val_t once_value_24
; /* Once value */
2976 static val_t once_value_25
; /* Once value */
2977 static val_t once_value_26
; /* Once value */
2978 static val_t once_value_27
; /* Once value */
2979 static val_t once_value_28
; /* Once value */
2980 static val_t once_value_29
; /* Once value */
2981 static val_t once_value_30
; /* Once value */
2982 static val_t once_value_31
; /* Once value */
2983 static val_t once_value_32
; /* Once value */
2984 static val_t once_value_33
; /* Once value */
2985 static val_t once_value_34
; /* Once value */
2986 static val_t once_value_35
; /* Once value */
2987 static val_t once_value_36
; /* Once value */
2988 static val_t once_value_37
; /* Once value */
2989 static val_t once_value_38
; /* Once value */
2990 static val_t once_value_39
; /* Once value */
2991 static val_t once_value_40
; /* Once value */
2992 static val_t once_value_41
; /* Once value */
2993 static val_t once_value_42
; /* Once value */
2994 static val_t once_value_43
; /* Once value */
2995 static val_t once_value_44
; /* Once value */
2996 static val_t once_value_45
; /* Once value */
2997 static val_t once_value_46
; /* Once value */
2998 static val_t once_value_47
; /* Once value */
2999 static val_t once_value_48
; /* Once value */
3000 static val_t once_value_49
; /* Once value */
3001 static val_t once_value_50
; /* Once value */
3002 static val_t once_value_52
; /* Once value */
3003 static val_t once_value_53
; /* Once value */
3004 static val_t once_value_54
; /* Once value */
3005 static val_t once_value_55
; /* Once value */
3006 static val_t once_value_56
; /* Once value */
3007 static val_t once_value_57
; /* Once value */
3008 static val_t once_value_58
; /* Once value */
3009 static val_t once_value_59
; /* Once value */
3010 static val_t once_value_60
; /* Once value */
3011 static val_t once_value_62
; /* Once value */
3012 static val_t once_value_63
; /* Once value */
3013 static val_t once_value_64
; /* Once value */
3014 static val_t once_value_65
; /* Once value */
3015 static val_t once_value_66
; /* Once value */
3016 static val_t once_value_67
; /* Once value */
3017 static val_t once_value_68
; /* Once value */
3018 static val_t once_value_69
; /* Once value */
3019 static val_t once_value_70
; /* Once value */
3020 static val_t once_value_71
; /* Once value */
3021 static val_t once_value_72
; /* Once value */
3022 static val_t once_value_73
; /* Once value */
3023 static val_t once_value_74
; /* Once value */
3024 static val_t once_value_75
; /* Once value */
3025 static val_t once_value_76
; /* Once value */
3026 static val_t once_value_77
; /* Once value */
3027 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3028 fra
.me
.file
= LOCATE_compiling_global
;
3030 fra
.me
.meth
= LOCATE_compiling_global___MMLocalClass___compile_tables_to_c
;
3031 fra
.me
.has_broke
= 0;
3032 fra
.me
.REG_size
= 10;
3033 fra
.me
.REG
[0] = NIT_NULL
;
3034 fra
.me
.REG
[1] = NIT_NULL
;
3035 fra
.me
.REG
[2] = NIT_NULL
;
3036 fra
.me
.REG
[3] = NIT_NULL
;
3037 fra
.me
.REG
[4] = NIT_NULL
;
3038 fra
.me
.REG
[5] = NIT_NULL
;
3039 fra
.me
.REG
[6] = NIT_NULL
;
3040 fra
.me
.REG
[7] = NIT_NULL
;
3041 fra
.me
.REG
[8] = NIT_NULL
;
3042 fra
.me
.REG
[9] = NIT_NULL
;
3045 fra
.me
.REG
[2] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3046 fra
.me
.REG
[2] = CALL_table_computation___Program___compiled_classes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3047 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3048 fra
.me
.REG
[3] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3049 fra
.me
.REG
[2] = CALL_table_computation___CompiledClass___class_table(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3050 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3051 /* ./../lib/standard//collection//array.nit:23 */
3052 if (UNTAG_Bool(REGB0
)) {
3054 fprintf(stderr
, "Uninitialized attribute %s", "_length");
3055 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
3058 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3059 fra
.me
.REG
[4] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3060 fra
.me
.REG
[4] = CALL_table_computation___Program___table_information(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3061 REGB1
= CALL_table_computation___TableInformation___max_class_table_length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3062 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3063 /* ./../lib/standard//collection//array.nit:23 */
3064 if (UNTAG_Bool(REGB2
)) {
3066 fprintf(stderr
, "Uninitialized attribute %s", "_length");
3067 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
3070 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3071 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
3072 /* ./compiling//compiling_global.nit:439 */
3073 if (UNTAG_Bool(REGB2
)) {
3074 fra
.me
.REG
[4] = CALL_compiling_global___GlobalCompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3075 fra
.me
.REG
[4] = CALL_table_computation___Program___table_information(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3076 REGB2
= CALL_table_computation___TableInformation___max_class_table_length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3078 /* ./compiling//compiling_global.nit:440 */
3081 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
3083 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
3084 /* ./compiling//compiling_global.nit:443 */
3085 if (!once_value_1
) {
3086 fra
.me
.REG
[6] = BOX_NativeString("const classtable_elt_t VFT_");
3087 REGB2
= TAG_Int(27);
3088 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3089 once_value_1
= fra
.me
.REG
[6];
3090 register_static_object(&once_value_1
);
3091 } else fra
.me
.REG
[6] = once_value_1
;
3092 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3093 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3094 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3095 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3096 if (!once_value_2
) {
3097 fra
.me
.REG
[6] = BOX_NativeString("[");
3099 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3100 once_value_2
= fra
.me
.REG
[6];
3101 register_static_object(&once_value_2
);
3102 } else fra
.me
.REG
[6] = once_value_2
;
3103 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3104 fra
.me
.REG
[6] = CALL_string___Object___to_s(REGB0
)(REGB0
);
3105 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3106 if (!once_value_3
) {
3107 fra
.me
.REG
[6] = BOX_NativeString("] = {");
3109 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3110 once_value_3
= fra
.me
.REG
[6];
3111 register_static_object(&once_value_3
);
3112 } else fra
.me
.REG
[6] = once_value_3
;
3113 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3114 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3115 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3116 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3117 /* ./compiling//compiling_global.nit:444 */
3118 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3119 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3120 /* ./compiling//compiling_global.nit:445 */
3122 REGB2
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3123 if (UNTAG_Bool(REGB2
)) {
3124 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3125 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3126 /* ./compiling//compiling_global.nit:446 */
3127 if (UNTAG_Bool(REGB2
)) {
3129 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3130 if (UNTAG_Bool(REGB1
)) {
3131 REGB1
= TAG_Bool(false);
3134 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3138 if (UNTAG_Bool(REGB2
)) {
3140 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3141 /* ./compiling//compiling_global.nit:447 */
3142 if (!once_value_4
) {
3143 fra
.me
.REG
[7] = BOX_NativeString("{0} /* Class Hole :( */,");
3144 REGB2
= TAG_Int(24);
3145 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3146 once_value_4
= fra
.me
.REG
[7];
3147 register_static_object(&once_value_4
);
3148 } else fra
.me
.REG
[7] = once_value_4
;
3149 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3150 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3153 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3155 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3156 /* ./compiling//compiling_global.nit:449 */
3157 if (!once_value_5
) {
3158 fra
.me
.REG
[8] = BOX_NativeString("{(bigint) ");
3159 REGB2
= TAG_Int(10);
3160 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB2
);
3161 once_value_5
= fra
.me
.REG
[8];
3162 register_static_object(&once_value_5
);
3163 } else fra
.me
.REG
[8] = once_value_5
;
3164 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3165 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3166 if (UNTAG_Bool(REGB2
)) {
3167 fprintf(stderr
, "Reciever is null");
3168 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 449);
3171 fra
.me
.REG
[5] = CALL_compiling_global___TableElt___compile_to_c(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[0]);
3172 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
3173 if (!once_value_6
) {
3174 fra
.me
.REG
[5] = BOX_NativeString("},");
3176 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3177 once_value_6
= fra
.me
.REG
[5];
3178 register_static_object(&once_value_6
);
3179 } else fra
.me
.REG
[5] = once_value_6
;
3180 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
3181 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3182 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3183 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3186 /* ./compiling//compiling_global.nit:445 */
3189 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3192 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3193 /* ./../lib/standard//collection//array.nit:23 */
3194 if (UNTAG_Bool(REGB2
)) {
3196 fprintf(stderr
, "Uninitialized attribute %s", "_length");
3197 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
3200 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3201 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB2
));
3202 /* ./compiling//compiling_global.nit:452 */
3203 if (UNTAG_Bool(REGB2
)) {
3205 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
3206 /* ./compiling//compiling_global.nit:453 */
3207 if (!once_value_8
) {
3208 fra
.me
.REG
[6] = BOX_NativeString("{0},");
3210 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3211 once_value_8
= fra
.me
.REG
[6];
3212 register_static_object(&once_value_8
);
3213 } else fra
.me
.REG
[6] = once_value_8
;
3214 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3215 /* ./../lib/standard//collection//array.nit:23 */
3216 if (UNTAG_Bool(REGB2
)) {
3218 fprintf(stderr
, "Uninitialized attribute %s", "_length");
3219 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
3222 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3223 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
3224 fra
.me
.REG
[6] = CALL_string___String_____star(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
3225 /* ./compiling//compiling_global.nit:453 */
3226 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3227 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3229 /* ./compiling//compiling_global.nit:455 */
3230 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3232 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
3233 /* ./compiling//compiling_global.nit:456 */
3234 if (!once_value_9
) {
3235 fra
.me
.REG
[6] = BOX_NativeString("};");
3237 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3238 once_value_9
= fra
.me
.REG
[6];
3239 register_static_object(&once_value_9
);
3240 } else fra
.me
.REG
[6] = once_value_9
;
3241 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3242 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3243 fra
.me
.REG
[3] = CALL_table_computation___CompiledClass___instance_table(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3244 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3245 /* ./compiling//compiling_global.nit:458 */
3247 REGB2
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3248 if (UNTAG_Bool(REGB2
)) {
3249 fra
.me
.REG
[6] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3250 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3251 /* ./compiling//compiling_global.nit:459 */
3252 if (UNTAG_Bool(REGB2
)) {
3254 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3255 if (UNTAG_Bool(REGB0
)) {
3256 REGB0
= TAG_Bool(false);
3259 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
3263 if (UNTAG_Bool(REGB2
)) {
3265 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3266 /* ./compiling//compiling_global.nit:460 */
3267 if (!once_value_10
) {
3268 fra
.me
.REG
[7] = BOX_NativeString("/* Instance Hole :( */");
3269 REGB2
= TAG_Int(22);
3270 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3271 once_value_10
= fra
.me
.REG
[7];
3272 register_static_object(&once_value_10
);
3273 } else fra
.me
.REG
[7] = once_value_10
;
3274 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3275 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3278 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3279 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3280 /* ./compiling//compiling_global.nit:462 */
3281 if (UNTAG_Bool(REGB2
)) {
3282 fprintf(stderr
, "Reciever is null");
3283 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 462);
3286 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]);
3287 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[6]);
3288 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3291 /* ./compiling//compiling_global.nit:458 */
3294 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3297 fra
.me
.REG
[4] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3298 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3299 /* ./compiling//compiling_global.nit:467 */
3300 if (!once_value_12
) {
3301 fra
.me
.REG
[6] = BOX_NativeString("NativeArray");
3302 REGB2
= TAG_Int(11);
3303 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3304 once_value_12
= fra
.me
.REG
[6];
3305 register_static_object(&once_value_12
);
3306 } else fra
.me
.REG
[6] = once_value_12
;
3307 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3308 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
3309 if (UNTAG_Bool(REGB2
)) {
3311 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
3314 if (UNTAG_Bool(REGB2
)) {
3316 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3317 /* ./compiling//compiling_global.nit:468 */
3318 if (!once_value_13
) {
3319 fra
.me
.REG
[2] = BOX_NativeString("val_t NEW_NativeArray(size_t length, size_t size) {");
3320 REGB2
= TAG_Int(51);
3321 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3322 once_value_13
= fra
.me
.REG
[2];
3323 register_static_object(&once_value_13
);
3324 } else fra
.me
.REG
[2] = once_value_13
;
3325 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3326 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3327 /* ./compiling//compiling_global.nit:469 */
3328 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3330 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3331 /* ./compiling//compiling_global.nit:470 */
3332 if (!once_value_14
) {
3333 fra
.me
.REG
[2] = BOX_NativeString("Nit_NativeArray array;");
3334 REGB2
= TAG_Int(22);
3335 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3336 once_value_14
= fra
.me
.REG
[2];
3337 register_static_object(&once_value_14
);
3338 } else fra
.me
.REG
[2] = once_value_14
;
3339 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3340 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3342 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3343 /* ./compiling//compiling_global.nit:471 */
3344 if (!once_value_15
) {
3345 fra
.me
.REG
[2] = BOX_NativeString("array = (Nit_NativeArray)alloc(sizeof(struct Nit_NativeArray) + ((length - 1) * size));");
3346 REGB2
= TAG_Int(87);
3347 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3348 once_value_15
= fra
.me
.REG
[2];
3349 register_static_object(&once_value_15
);
3350 } else fra
.me
.REG
[2] = once_value_15
;
3351 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3352 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3354 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3356 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3357 /* ./compiling//compiling_global.nit:472 */
3358 if (!once_value_16
) {
3359 fra
.me
.REG
[7] = BOX_NativeString("array->vft = (classtable_elt_t*)VFT_");
3360 REGB2
= TAG_Int(36);
3361 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3362 once_value_16
= fra
.me
.REG
[7];
3363 register_static_object(&once_value_16
);
3364 } else fra
.me
.REG
[7] = once_value_16
;
3365 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3366 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3367 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3368 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3369 if (!once_value_17
) {
3370 fra
.me
.REG
[7] = BOX_NativeString(";");
3372 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3373 once_value_17
= fra
.me
.REG
[7];
3374 register_static_object(&once_value_17
);
3375 } else fra
.me
.REG
[7] = once_value_17
;
3376 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3377 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3378 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3379 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3381 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3382 /* ./compiling//compiling_global.nit:473 */
3383 if (!once_value_18
) {
3384 fra
.me
.REG
[2] = BOX_NativeString("array->object_id = object_id_counter;");
3385 REGB2
= TAG_Int(37);
3386 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3387 once_value_18
= fra
.me
.REG
[2];
3388 register_static_object(&once_value_18
);
3389 } else fra
.me
.REG
[2] = once_value_18
;
3390 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3391 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3393 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3394 /* ./compiling//compiling_global.nit:474 */
3395 if (!once_value_19
) {
3396 fra
.me
.REG
[2] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
3397 REGB2
= TAG_Int(42);
3398 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3399 once_value_19
= fra
.me
.REG
[2];
3400 register_static_object(&once_value_19
);
3401 } else fra
.me
.REG
[2] = once_value_19
;
3402 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3403 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3405 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3406 /* ./compiling//compiling_global.nit:475 */
3407 if (!once_value_20
) {
3408 fra
.me
.REG
[2] = BOX_NativeString("array->size = length;");
3409 REGB2
= TAG_Int(21);
3410 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3411 once_value_20
= fra
.me
.REG
[2];
3412 register_static_object(&once_value_20
);
3413 } else fra
.me
.REG
[2] = once_value_20
;
3414 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3415 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3417 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3418 /* ./compiling//compiling_global.nit:476 */
3419 if (!once_value_21
) {
3420 fra
.me
.REG
[2] = BOX_NativeString("return OBJ2VAL(array);");
3421 REGB2
= TAG_Int(22);
3422 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3423 once_value_21
= fra
.me
.REG
[2];
3424 register_static_object(&once_value_21
);
3425 } else fra
.me
.REG
[2] = once_value_21
;
3426 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3427 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3428 /* ./compiling//compiling_global.nit:477 */
3429 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3431 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3432 /* ./compiling//compiling_global.nit:478 */
3433 if (!once_value_22
) {
3434 fra
.me
.REG
[2] = BOX_NativeString("}");
3436 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3437 once_value_22
= fra
.me
.REG
[2];
3438 register_static_object(&once_value_22
);
3439 } else fra
.me
.REG
[2] = once_value_22
;
3440 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3441 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3443 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3444 /* ./compiling//compiling_global.nit:479 */
3445 if (UNTAG_Bool(REGB2
)) {
3447 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3448 if (UNTAG_Bool(REGB0
)) {
3449 REGB0
= TAG_Bool(false);
3452 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3456 if (UNTAG_Bool(REGB2
)) {
3458 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3459 /* ./compiling//compiling_global.nit:482 */
3460 if (!once_value_23
) {
3461 fra
.me
.REG
[2] = BOX_NativeString("INIT_ATTRIBUTES__");
3462 REGB2
= TAG_Int(17);
3463 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3464 once_value_23
= fra
.me
.REG
[2];
3465 register_static_object(&once_value_23
);
3466 } else fra
.me
.REG
[2] = once_value_23
;
3467 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3468 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3469 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3470 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3471 if (!once_value_24
) {
3472 fra
.me
.REG
[2] = BOX_NativeString("");
3474 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
3475 once_value_24
= fra
.me
.REG
[2];
3476 register_static_object(&once_value_24
);
3477 } else fra
.me
.REG
[2] = once_value_24
;
3478 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
3479 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3480 fra
.me
.REG
[2] = ATTR_compiling_global___MMLocalClass____init_var_iroutine(fra
.me
.REG
[0]);
3482 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3483 /* ./compiling//compiling_global.nit:483 */
3484 if (!once_value_25
) {
3485 fra
.me
.REG
[5] = BOX_NativeString("init var of ");
3486 REGB2
= TAG_Int(12);
3487 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3488 once_value_25
= fra
.me
.REG
[5];
3489 register_static_object(&once_value_25
);
3490 } else fra
.me
.REG
[5] = once_value_25
;
3491 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
3492 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3493 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3494 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
3495 if (!once_value_26
) {
3496 fra
.me
.REG
[5] = BOX_NativeString("");
3498 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3499 once_value_26
= fra
.me
.REG
[5];
3500 register_static_object(&once_value_26
);
3501 } else fra
.me
.REG
[5] = once_value_26
;
3502 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
3503 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3504 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3505 if (UNTAG_Bool(REGB2
)) {
3506 fprintf(stderr
, "Reciever is null");
3507 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 483);
3510 fra
.me
.REG
[7] = CALL_compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[6], fra
.me
.REG
[7], NIT_NULL
, NIT_NULL
);
3511 fra
.me
.REG
[2] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3512 fra
.me
.REG
[5] = NEW_CContext_compiling_base___CContext___init();
3513 /* ./compiling//compiling_global.nit:485 */
3514 CALL_compiling_base___CompilerVisitor___ctx__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3515 fra
.me
.REG
[5] = ATTR_compiling_global___MMLocalClass____init_var_iroutine(fra
.me
.REG
[0]);
3516 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3517 /* ./compiling//compiling_global.nit:486 */
3518 if (UNTAG_Bool(REGB2
)) {
3519 fprintf(stderr
, "Reciever is null");
3520 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 486);
3523 CALL_compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[6], fra
.me
.REG
[7]);
3524 fra
.me
.REG
[7] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3525 /* ./compiling//compiling_global.nit:487 */
3526 CALL_compiling_base___CContext___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3527 /* ./compiling//compiling_global.nit:488 */
3528 CALL_compiling_base___CompilerVisitor___ctx__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3529 /* ./compiling//compiling_global.nit:489 */
3530 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3532 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3533 /* ./compiling//compiling_global.nit:490 */
3534 if (!once_value_27
) {
3535 fra
.me
.REG
[7] = BOX_NativeString("}");
3537 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3538 once_value_27
= fra
.me
.REG
[7];
3539 register_static_object(&once_value_27
);
3540 } else fra
.me
.REG
[7] = once_value_27
;
3541 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3542 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3544 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3546 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3547 /* ./compiling//compiling_global.nit:494 */
3548 if (!once_value_28
) {
3549 fra
.me
.REG
[6] = BOX_NativeString("val_t NEW_");
3550 REGB2
= TAG_Int(10);
3551 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3552 once_value_28
= fra
.me
.REG
[6];
3553 register_static_object(&once_value_28
);
3554 } else fra
.me
.REG
[6] = once_value_28
;
3555 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3556 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3557 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3558 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3559 if (!once_value_29
) {
3560 fra
.me
.REG
[6] = BOX_NativeString("(void);");
3562 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3563 once_value_29
= fra
.me
.REG
[6];
3564 register_static_object(&once_value_29
);
3565 } else fra
.me
.REG
[6] = once_value_29
;
3566 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3567 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3568 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3569 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3571 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3573 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3574 /* ./compiling//compiling_global.nit:495 */
3575 if (!once_value_30
) {
3576 fra
.me
.REG
[6] = BOX_NativeString("val_t NEW_");
3577 REGB2
= TAG_Int(10);
3578 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3579 once_value_30
= fra
.me
.REG
[6];
3580 register_static_object(&once_value_30
);
3581 } else fra
.me
.REG
[6] = once_value_30
;
3582 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3583 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3584 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3585 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3586 if (!once_value_31
) {
3587 fra
.me
.REG
[6] = BOX_NativeString("(void)");
3589 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3590 once_value_31
= fra
.me
.REG
[6];
3591 register_static_object(&once_value_31
);
3592 } else fra
.me
.REG
[6] = once_value_31
;
3593 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3594 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3595 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3596 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3598 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3599 /* ./compiling//compiling_global.nit:496 */
3600 if (!once_value_32
) {
3601 fra
.me
.REG
[7] = BOX_NativeString("{");
3603 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3604 once_value_32
= fra
.me
.REG
[7];
3605 register_static_object(&once_value_32
);
3606 } else fra
.me
.REG
[7] = once_value_32
;
3607 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3608 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3609 /* ./compiling//compiling_global.nit:497 */
3610 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3612 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3613 /* ./compiling//compiling_global.nit:498 */
3614 if (!once_value_33
) {
3615 fra
.me
.REG
[7] = BOX_NativeString("obj_t obj;");
3616 REGB2
= TAG_Int(10);
3617 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3618 once_value_33
= fra
.me
.REG
[7];
3619 register_static_object(&once_value_33
);
3620 } else fra
.me
.REG
[7] = once_value_33
;
3621 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3622 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3624 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3626 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3627 /* ./compiling//compiling_global.nit:499 */
3628 if (!once_value_34
) {
3629 fra
.me
.REG
[6] = BOX_NativeString("obj = alloc(sizeof(val_t) * ");
3630 REGB2
= TAG_Int(28);
3631 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3632 once_value_34
= fra
.me
.REG
[6];
3633 register_static_object(&once_value_34
);
3634 } else fra
.me
.REG
[6] = once_value_34
;
3635 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[6]);
3636 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3637 /* ./../lib/standard//collection//array.nit:23 */
3638 if (UNTAG_Bool(REGB2
)) {
3640 fprintf(stderr
, "Uninitialized attribute %s", "_length");
3641 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
3644 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3645 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB2
)(REGB2
);
3646 /* ./compiling//compiling_global.nit:499 */
3647 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3648 if (!once_value_35
) {
3649 fra
.me
.REG
[3] = BOX_NativeString(");");
3651 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3652 once_value_35
= fra
.me
.REG
[3];
3653 register_static_object(&once_value_35
);
3654 } else fra
.me
.REG
[3] = once_value_35
;
3655 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3656 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3657 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3658 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3660 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3662 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3663 /* ./compiling//compiling_global.nit:500 */
3664 if (!once_value_36
) {
3665 fra
.me
.REG
[3] = BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_");
3666 REGB2
= TAG_Int(34);
3667 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3668 once_value_36
= fra
.me
.REG
[3];
3669 register_static_object(&once_value_36
);
3670 } else fra
.me
.REG
[3] = once_value_36
;
3671 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3672 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3673 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3674 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3675 if (!once_value_37
) {
3676 fra
.me
.REG
[3] = BOX_NativeString(";");
3678 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3679 once_value_37
= fra
.me
.REG
[3];
3680 register_static_object(&once_value_37
);
3681 } else fra
.me
.REG
[3] = once_value_37
;
3682 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3683 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3684 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3685 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3687 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3688 /* ./compiling//compiling_global.nit:501 */
3689 if (!once_value_38
) {
3690 fra
.me
.REG
[7] = BOX_NativeString("obj[1].object_id = object_id_counter;");
3691 REGB2
= TAG_Int(37);
3692 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3693 once_value_38
= fra
.me
.REG
[7];
3694 register_static_object(&once_value_38
);
3695 } else fra
.me
.REG
[7] = once_value_38
;
3696 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3697 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3699 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3700 /* ./compiling//compiling_global.nit:502 */
3701 if (!once_value_39
) {
3702 fra
.me
.REG
[7] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
3703 REGB2
= TAG_Int(42);
3704 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3705 once_value_39
= fra
.me
.REG
[7];
3706 register_static_object(&once_value_39
);
3707 } else fra
.me
.REG
[7] = once_value_39
;
3708 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3709 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3711 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3712 /* ./compiling//compiling_global.nit:503 */
3713 if (!once_value_40
) {
3714 fra
.me
.REG
[7] = BOX_NativeString("return OBJ2VAL(obj);");
3715 REGB2
= TAG_Int(20);
3716 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3717 once_value_40
= fra
.me
.REG
[7];
3718 register_static_object(&once_value_40
);
3719 } else fra
.me
.REG
[7] = once_value_40
;
3720 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3721 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3722 /* ./compiling//compiling_global.nit:504 */
3723 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3725 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3726 /* ./compiling//compiling_global.nit:505 */
3727 if (!once_value_41
) {
3728 fra
.me
.REG
[7] = BOX_NativeString("}");
3730 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3731 once_value_41
= fra
.me
.REG
[7];
3732 register_static_object(&once_value_41
);
3733 } else fra
.me
.REG
[7] = once_value_41
;
3734 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3735 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3737 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
3738 /* ./compiling//compiling_global.nit:509 */
3739 if (!once_value_42
) {
3740 fra
.me
.REG
[7] = BOX_NativeString("CHECKNEW_");
3742 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3743 once_value_42
= fra
.me
.REG
[7];
3744 register_static_object(&once_value_42
);
3745 } else fra
.me
.REG
[7] = once_value_42
;
3746 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3747 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3748 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3749 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3750 if (!once_value_43
) {
3751 fra
.me
.REG
[7] = BOX_NativeString("");
3753 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
3754 once_value_43
= fra
.me
.REG
[7];
3755 register_static_object(&once_value_43
);
3756 } else fra
.me
.REG
[7] = once_value_43
;
3757 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[7]);
3758 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3759 fra
.me
.REG
[7] = ATTR_compiling_global___MMLocalClass____checknew_iroutine(fra
.me
.REG
[0]);
3761 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB2
);
3762 /* ./compiling//compiling_global.nit:510 */
3763 if (!once_value_44
) {
3764 fra
.me
.REG
[6] = BOX_NativeString("check new ");
3765 REGB2
= TAG_Int(10);
3766 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3767 once_value_44
= fra
.me
.REG
[6];
3768 register_static_object(&once_value_44
);
3769 } else fra
.me
.REG
[6] = once_value_44
;
3770 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3771 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3772 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3773 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3774 if (!once_value_45
) {
3775 fra
.me
.REG
[6] = BOX_NativeString("");
3777 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
3778 once_value_45
= fra
.me
.REG
[6];
3779 register_static_object(&once_value_45
);
3780 } else fra
.me
.REG
[6] = once_value_45
;
3781 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3782 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3783 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3784 if (UNTAG_Bool(REGB2
)) {
3785 fprintf(stderr
, "Reciever is null");
3786 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 510);
3789 fra
.me
.REG
[3] = CALL_compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3], NIT_NULL
, NIT_NULL
);
3790 fra
.me
.REG
[7] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3791 fra
.me
.REG
[6] = NEW_CContext_compiling_base___CContext___init();
3792 /* ./compiling//compiling_global.nit:512 */
3793 CALL_compiling_base___CompilerVisitor___ctx__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3794 fra
.me
.REG
[6] = ATTR_compiling_global___MMLocalClass____checknew_iroutine(fra
.me
.REG
[0]);
3795 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3796 /* ./compiling//compiling_global.nit:513 */
3797 if (UNTAG_Bool(REGB2
)) {
3798 fprintf(stderr
, "Reciever is null");
3799 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 513);
3802 CALL_compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
3803 fra
.me
.REG
[3] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3804 /* ./compiling//compiling_global.nit:514 */
3805 CALL_compiling_base___CContext___append(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3806 /* ./compiling//compiling_global.nit:515 */
3807 CALL_compiling_base___CompilerVisitor___ctx__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3808 /* ./compiling//compiling_global.nit:516 */
3809 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3811 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3812 /* ./compiling//compiling_global.nit:517 */
3813 if (!once_value_46
) {
3814 fra
.me
.REG
[3] = BOX_NativeString("}");
3816 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3817 once_value_46
= fra
.me
.REG
[3];
3818 register_static_object(&once_value_46
);
3819 } else fra
.me
.REG
[3] = once_value_46
;
3820 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3821 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3822 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3823 fra
.me
.REG
[7] = CALL_partial_order___PartialOrderElement___greaters(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3824 REGB2
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3826 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
3828 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
3829 /* ./compiling//compiling_global.nit:521 */
3830 if (!once_value_47
) {
3831 fra
.me
.REG
[3] = BOX_NativeString("int init_table[");
3832 REGB2
= TAG_Int(15);
3833 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3834 once_value_47
= fra
.me
.REG
[3];
3835 register_static_object(&once_value_47
);
3836 } else fra
.me
.REG
[3] = once_value_47
;
3837 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3838 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB0
)(REGB0
);
3839 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3840 if (!once_value_48
) {
3841 fra
.me
.REG
[3] = BOX_NativeString("] = {0");
3843 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3844 once_value_48
= fra
.me
.REG
[3];
3845 register_static_object(&once_value_48
);
3846 } else fra
.me
.REG
[3] = once_value_48
;
3847 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3848 if (!once_value_49
) {
3849 fra
.me
.REG
[3] = BOX_NativeString(", 0");
3851 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3852 once_value_49
= fra
.me
.REG
[3];
3853 register_static_object(&once_value_49
);
3854 } else fra
.me
.REG
[3] = once_value_49
;
3856 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
3857 fra
.me
.REG
[3] = CALL_string___String_____star(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
);
3858 /* ./compiling//compiling_global.nit:521 */
3859 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3860 if (!once_value_50
) {
3861 fra
.me
.REG
[3] = BOX_NativeString("};");
3863 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
3864 once_value_50
= fra
.me
.REG
[3];
3865 register_static_object(&once_value_50
);
3866 } else fra
.me
.REG
[3] = once_value_50
;
3867 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[3]);
3868 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3869 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3870 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3871 /* ./compiling//compiling_global.nit:523 */
3873 REGB2
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3874 if (UNTAG_Bool(REGB2
)) {
3875 fra
.me
.REG
[2] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3876 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3877 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3878 REGB2
= CALL_abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[0]);
3879 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3880 /* ./compiling//compiling_global.nit:526 */
3881 if (UNTAG_Bool(REGB2
)) {
3884 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
3885 /* ./compiling//compiling_global.nit:527 */
3886 if (UNTAG_Bool(REGB2
)) {
3888 fprintf(stderr
, "Assert failed");
3889 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 527);
3893 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
3894 /* ./compiling//compiling_global.nit:529 */
3895 if (!once_value_52
) {
3896 fra
.me
.REG
[5] = BOX_NativeString("NEW_");
3898 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3899 once_value_52
= fra
.me
.REG
[5];
3900 register_static_object(&once_value_52
);
3901 } else fra
.me
.REG
[5] = once_value_52
;
3902 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3903 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3904 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3905 if (!once_value_53
) {
3906 fra
.me
.REG
[5] = BOX_NativeString("_");
3908 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3909 once_value_53
= fra
.me
.REG
[5];
3910 register_static_object(&once_value_53
);
3911 } else fra
.me
.REG
[5] = once_value_53
;
3912 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3913 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3914 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3915 fra
.me
.REG
[5] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3916 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3917 if (!once_value_54
) {
3918 fra
.me
.REG
[5] = BOX_NativeString("");
3920 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
3921 once_value_54
= fra
.me
.REG
[5];
3922 register_static_object(&once_value_54
);
3923 } else fra
.me
.REG
[5] = once_value_54
;
3924 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3925 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3926 REGB2
= TAG_Bool(ATTR_compiling_global___MMLocalClass____new_instance_iroutine(fra
.me
.REG
[0])!=NIT_NULL
);
3927 /* ./compiling//compiling_global.nit:530 */
3928 if (UNTAG_Bool(REGB2
)) {
3930 fprintf(stderr
, "Uninitialized attribute %s", "_new_instance_iroutine");
3931 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 530);
3934 fra
.me
.REG
[5] = ATTR_compiling_global___MMLocalClass____new_instance_iroutine(fra
.me
.REG
[0]);
3935 fra
.me
.REG
[5] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3937 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB2
);
3938 if (!once_value_55
) {
3939 fra
.me
.REG
[9] = BOX_NativeString("new ");
3941 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB2
);
3942 once_value_55
= fra
.me
.REG
[9];
3943 register_static_object(&once_value_55
);
3944 } else fra
.me
.REG
[9] = once_value_55
;
3945 array___Array___add(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3946 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3947 array___Array___add(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3948 if (!once_value_56
) {
3949 fra
.me
.REG
[9] = BOX_NativeString(" ");
3951 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB2
);
3952 once_value_56
= fra
.me
.REG
[9];
3953 register_static_object(&once_value_56
);
3954 } else fra
.me
.REG
[9] = once_value_56
;
3955 array___Array___add(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3956 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3957 array___Array___add(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3958 if (!once_value_57
) {
3959 fra
.me
.REG
[9] = BOX_NativeString("");
3961 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB2
);
3962 once_value_57
= fra
.me
.REG
[9];
3963 register_static_object(&once_value_57
);
3964 } else fra
.me
.REG
[9] = once_value_57
;
3965 array___Array___add(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3966 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3967 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3968 if (UNTAG_Bool(REGB2
)) {
3969 fprintf(stderr
, "Reciever is null");
3970 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 530);
3973 fra
.me
.REG
[8] = CALL_compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[6], fra
.me
.REG
[8], NIT_NULL
, NIT_NULL
);
3974 fra
.me
.REG
[5] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3975 fra
.me
.REG
[9] = NEW_CContext_compiling_base___CContext___init();
3976 /* ./compiling//compiling_global.nit:532 */
3977 CALL_compiling_base___CompilerVisitor___ctx__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
3979 fra
.me
.REG
[9] = NEW_Array_array___Array___with_capacity(REGB2
);
3980 /* ./compiling//compiling_global.nit:533 */
3981 array___Array___add(fra
.me
.REG
[9], fra
.me
.REG
[7]);
3982 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
3983 REGB2
= TAG_Bool(ATTR_compiling_global___MMLocalClass____new_instance_iroutine(fra
.me
.REG
[0])!=NIT_NULL
);
3984 /* ./compiling//compiling_global.nit:534 */
3985 if (UNTAG_Bool(REGB2
)) {
3987 fprintf(stderr
, "Uninitialized attribute %s", "_new_instance_iroutine");
3988 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 534);
3991 fra
.me
.REG
[9] = ATTR_compiling_global___MMLocalClass____new_instance_iroutine(fra
.me
.REG
[0]);
3992 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[2]);
3993 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3994 if (UNTAG_Bool(REGB2
)) {
3995 fprintf(stderr
, "Reciever is null");
3996 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 534);
3999 fra
.me
.REG
[8] = CALL_compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[6], fra
.me
.REG
[8]);
4000 REGB2
= TAG_Bool((fra
.me
.REG
[8]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[8], COLOR_String
, ID_String
)) /*cast String*/;
4001 if (UNTAG_Bool(REGB2
)) {
4003 fprintf(stderr
, "Cast failed");
4004 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 534);
4008 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
4010 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
4011 /* ./compiling//compiling_global.nit:535 */
4012 if (!once_value_58
) {
4013 fra
.me
.REG
[9] = BOX_NativeString("return ");
4015 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB2
);
4016 once_value_58
= fra
.me
.REG
[9];
4017 register_static_object(&once_value_58
);
4018 } else fra
.me
.REG
[9] = once_value_58
;
4019 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[9]);
4020 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4021 if (!once_value_59
) {
4022 fra
.me
.REG
[8] = BOX_NativeString(";");
4024 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB2
);
4025 once_value_59
= fra
.me
.REG
[8];
4026 register_static_object(&once_value_59
);
4027 } else fra
.me
.REG
[8] = once_value_59
;
4028 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4029 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4030 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[2]);
4031 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4032 fra
.me
.REG
[6] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4033 /* ./compiling//compiling_global.nit:536 */
4034 CALL_compiling_base___CContext___append(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4035 /* ./compiling//compiling_global.nit:537 */
4036 CALL_compiling_base___CompilerVisitor___ctx__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4037 /* ./compiling//compiling_global.nit:538 */
4038 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4040 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
4041 /* ./compiling//compiling_global.nit:539 */
4042 if (!once_value_60
) {
4043 fra
.me
.REG
[6] = BOX_NativeString("}");
4045 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
4046 once_value_60
= fra
.me
.REG
[6];
4047 register_static_object(&once_value_60
);
4048 } else fra
.me
.REG
[6] = once_value_60
;
4049 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4050 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4053 /* ./compiling//compiling_global.nit:523 */
4056 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4060 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4061 /* ./compiling//compiling_global.nit:541 */
4062 if (UNTAG_Bool(REGB2
)) {
4063 fprintf(stderr
, "Reciever is null");
4064 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 541);
4067 REGB2
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4068 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4069 if (UNTAG_Bool(REGB2
)) {
4070 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4071 /* ./compiling//compiling_global.nit:542 */
4072 if (UNTAG_Bool(REGB2
)) {
4073 fprintf(stderr
, "Reciever is null");
4074 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 542);
4077 fra
.me
.REG
[4] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4079 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB2
);
4080 /* ./compiling//compiling_global.nit:543 */
4081 if (!once_value_62
) {
4082 fra
.me
.REG
[7] = BOX_NativeString("struct TBOX_");
4083 REGB2
= TAG_Int(12);
4084 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
4085 once_value_62
= fra
.me
.REG
[7];
4086 register_static_object(&once_value_62
);
4087 } else fra
.me
.REG
[7] = once_value_62
;
4088 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[7]);
4089 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4090 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4091 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[7]);
4092 if (!once_value_63
) {
4093 fra
.me
.REG
[7] = BOX_NativeString("");
4095 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
4096 once_value_63
= fra
.me
.REG
[7];
4097 register_static_object(&once_value_63
);
4098 } else fra
.me
.REG
[7] = once_value_63
;
4099 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[7]);
4100 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4102 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
4104 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
4105 /* ./compiling//compiling_global.nit:544 */
4106 if (!once_value_64
) {
4107 fra
.me
.REG
[6] = BOX_NativeString("val_t BOX_");
4108 REGB2
= TAG_Int(10);
4109 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
4110 once_value_64
= fra
.me
.REG
[6];
4111 register_static_object(&once_value_64
);
4112 } else fra
.me
.REG
[6] = once_value_64
;
4113 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4114 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4115 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4116 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4117 if (!once_value_65
) {
4118 fra
.me
.REG
[6] = BOX_NativeString("(");
4120 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
4121 once_value_65
= fra
.me
.REG
[6];
4122 register_static_object(&once_value_65
);
4123 } else fra
.me
.REG
[6] = once_value_65
;
4124 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4125 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4126 if (!once_value_66
) {
4127 fra
.me
.REG
[4] = BOX_NativeString(" val) {");
4129 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
4130 once_value_66
= fra
.me
.REG
[4];
4131 register_static_object(&once_value_66
);
4132 } else fra
.me
.REG
[4] = once_value_66
;
4133 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4134 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4135 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
4136 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4137 /* ./compiling//compiling_global.nit:545 */
4138 CALL_compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4140 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
4142 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
4143 /* ./compiling//compiling_global.nit:546 */
4144 if (!once_value_67
) {
4145 fra
.me
.REG
[4] = BOX_NativeString("");
4147 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
4148 once_value_67
= fra
.me
.REG
[4];
4149 register_static_object(&once_value_67
);
4150 } else fra
.me
.REG
[4] = once_value_67
;
4151 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4152 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4153 if (!once_value_68
) {
4154 fra
.me
.REG
[4] = BOX_NativeString(" *box = (");
4156 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
4157 once_value_68
= fra
.me
.REG
[4];
4158 register_static_object(&once_value_68
);
4159 } else fra
.me
.REG
[4] = once_value_68
;
4160 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4161 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4162 if (!once_value_69
) {
4163 fra
.me
.REG
[4] = BOX_NativeString("*)alloc(sizeof(");
4164 REGB2
= TAG_Int(15);
4165 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
4166 once_value_69
= fra
.me
.REG
[4];
4167 register_static_object(&once_value_69
);
4168 } else fra
.me
.REG
[4] = once_value_69
;
4169 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4170 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4171 if (!once_value_70
) {
4172 fra
.me
.REG
[3] = BOX_NativeString("));");
4174 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
4175 once_value_70
= fra
.me
.REG
[3];
4176 register_static_object(&once_value_70
);
4177 } else fra
.me
.REG
[3] = once_value_70
;
4178 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4179 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4180 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
4181 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4183 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
4185 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB2
);
4186 /* ./compiling//compiling_global.nit:547 */
4187 if (!once_value_71
) {
4188 fra
.me
.REG
[3] = BOX_NativeString("box->vft = VFT_");
4189 REGB2
= TAG_Int(15);
4190 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
4191 once_value_71
= fra
.me
.REG
[3];
4192 register_static_object(&once_value_71
);
4193 } else fra
.me
.REG
[3] = once_value_71
;
4194 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4195 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4196 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4197 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4198 if (!once_value_72
) {
4199 fra
.me
.REG
[0] = BOX_NativeString(";");
4201 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB2
);
4202 once_value_72
= fra
.me
.REG
[0];
4203 register_static_object(&once_value_72
);
4204 } else fra
.me
.REG
[0] = once_value_72
;
4205 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4206 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4207 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
4208 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4210 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
4211 /* ./compiling//compiling_global.nit:548 */
4212 if (!once_value_73
) {
4213 fra
.me
.REG
[5] = BOX_NativeString("box->val = val;");
4214 REGB2
= TAG_Int(15);
4215 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
4216 once_value_73
= fra
.me
.REG
[5];
4217 register_static_object(&once_value_73
);
4218 } else fra
.me
.REG
[5] = once_value_73
;
4219 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
4220 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4222 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
4223 /* ./compiling//compiling_global.nit:549 */
4224 if (!once_value_74
) {
4225 fra
.me
.REG
[5] = BOX_NativeString("box->object_id = object_id_counter;");
4226 REGB2
= TAG_Int(35);
4227 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
4228 once_value_74
= fra
.me
.REG
[5];
4229 register_static_object(&once_value_74
);
4230 } else fra
.me
.REG
[5] = once_value_74
;
4231 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
4232 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4234 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
4235 /* ./compiling//compiling_global.nit:550 */
4236 if (!once_value_75
) {
4237 fra
.me
.REG
[5] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
4238 REGB2
= TAG_Int(42);
4239 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
4240 once_value_75
= fra
.me
.REG
[5];
4241 register_static_object(&once_value_75
);
4242 } else fra
.me
.REG
[5] = once_value_75
;
4243 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
4244 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4246 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
4247 /* ./compiling//compiling_global.nit:551 */
4248 if (!once_value_76
) {
4249 fra
.me
.REG
[5] = BOX_NativeString("return OBJ2VAL(box);");
4250 REGB2
= TAG_Int(20);
4251 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
4252 once_value_76
= fra
.me
.REG
[5];
4253 register_static_object(&once_value_76
);
4254 } else fra
.me
.REG
[5] = once_value_76
;
4255 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
4256 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4257 /* ./compiling//compiling_global.nit:552 */
4258 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4260 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB2
);
4261 /* ./compiling//compiling_global.nit:553 */
4262 if (!once_value_77
) {
4263 fra
.me
.REG
[5] = BOX_NativeString("}");
4265 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
4266 once_value_77
= fra
.me
.REG
[5];
4267 register_static_object(&once_value_77
);
4268 } else fra
.me
.REG
[5] = once_value_77
;
4269 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[5]);
4270 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4274 stack_frame_head
= fra
.me
.prev
;
4277 void compiling_global___MMMethod___compile_property_to_c(val_t p0
, val_t p1
){
4278 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
4282 static val_t once_value_1
; /* Once value */
4283 static val_t once_value_2
; /* Once value */
4284 static val_t once_value_3
; /* Once value */
4285 static val_t once_value_4
; /* Once value */
4286 static val_t once_value_5
; /* Once value */
4287 static val_t once_value_6
; /* Once value */
4288 static val_t once_value_7
; /* Once value */
4289 static val_t once_value_8
; /* Once value */
4290 static val_t once_value_9
; /* Once value */
4291 static val_t once_value_10
; /* Once value */
4292 static val_t once_value_11
; /* Once value */
4293 static val_t once_value_12
; /* Once value */
4294 static val_t once_value_13
; /* Once value */
4295 static val_t once_value_14
; /* Once value */
4296 static val_t once_value_15
; /* Once value */
4297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4298 fra
.me
.file
= LOCATE_compiling_global
;
4300 fra
.me
.meth
= LOCATE_compiling_global___MMMethod___compile_property_to_c
;
4301 fra
.me
.has_broke
= 0;
4302 fra
.me
.REG_size
= 9;
4303 fra
.me
.REG
[0] = NIT_NULL
;
4304 fra
.me
.REG
[1] = NIT_NULL
;
4305 fra
.me
.REG
[2] = NIT_NULL
;
4306 fra
.me
.REG
[3] = NIT_NULL
;
4307 fra
.me
.REG
[4] = NIT_NULL
;
4308 fra
.me
.REG
[5] = NIT_NULL
;
4309 fra
.me
.REG
[6] = NIT_NULL
;
4310 fra
.me
.REG
[7] = NIT_NULL
;
4311 fra
.me
.REG
[8] = NIT_NULL
;
4314 fra
.me
.REG
[2] = CALL_icode_base___MMMethod___iroutine(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4315 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4316 /* ./compiling//compiling_global.nit:562 */
4317 if (UNTAG_Bool(REGB0
)) {
4319 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4320 if (UNTAG_Bool(REGB1
)) {
4321 REGB1
= TAG_Bool(false);
4324 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4328 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4329 if (UNTAG_Bool(REGB0
)) {
4331 fprintf(stderr
, "Assert failed");
4332 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 562);
4335 fra
.me
.REG
[3] = NIT_NULL
;
4336 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4337 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4338 /* ./compiling//compiling_global.nit:565 */
4339 if (UNTAG_Bool(REGB0
)) {
4340 if (!once_value_1
) {
4341 fra
.me
.REG
[4] = BOX_NativeString("int* init_table");
4342 REGB0
= TAG_Int(15);
4343 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4344 once_value_1
= fra
.me
.REG
[4];
4345 register_static_object(&once_value_1
);
4346 } else fra
.me
.REG
[4] = once_value_1
;
4347 fra
.me
.REG
[3] = fra
.me
.REG
[4];
4349 fra
.me
.REG
[4] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4350 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4351 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4352 /* ./compiling//compiling_global.nit:566 */
4353 if (UNTAG_Bool(REGB0
)) {
4354 fprintf(stderr
, "Reciever is null");
4355 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 566);
4358 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]);
4359 fra
.me
.REG
[5] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4360 fra
.me
.REG
[4] = NEW_CContext_compiling_base___CContext___init();
4361 /* ./compiling//compiling_global.nit:568 */
4362 CALL_compiling_base___CompilerVisitor___ctx__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4363 fra
.me
.REG
[4] = CALL_compiling_base___CompilerVisitor___out_contexts(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4364 /* ./compiling//compiling_global.nit:570 */
4365 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4366 fra
.me
.REG
[4] = NIT_NULL
;
4367 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4368 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4369 /* ./compiling//compiling_global.nit:573 */
4370 if (UNTAG_Bool(REGB0
)) {
4372 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
4373 /* ./compiling//compiling_global.nit:574 */
4374 if (!once_value_2
) {
4375 fra
.me
.REG
[7] = BOX_NativeString("itpos");
4377 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4378 once_value_2
= fra
.me
.REG
[7];
4379 register_static_object(&once_value_2
);
4380 } else fra
.me
.REG
[7] = once_value_2
;
4381 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4382 REGB0
= CALL_compiling_base___CompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4383 fra
.me
.REG
[7] = CALL_string___Object___to_s(REGB0
)(REGB0
);
4384 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4385 if (!once_value_3
) {
4386 fra
.me
.REG
[7] = BOX_NativeString("");
4388 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4389 once_value_3
= fra
.me
.REG
[7];
4390 register_static_object(&once_value_3
);
4391 } else fra
.me
.REG
[7] = once_value_3
;
4392 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4393 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4394 fra
.me
.REG
[4] = fra
.me
.REG
[6];
4396 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
4398 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
4399 /* ./compiling//compiling_global.nit:575 */
4400 if (!once_value_4
) {
4401 fra
.me
.REG
[8] = BOX_NativeString("int ");
4403 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4404 once_value_4
= fra
.me
.REG
[8];
4405 register_static_object(&once_value_4
);
4406 } else fra
.me
.REG
[8] = once_value_4
;
4407 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4408 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[4]);
4409 if (!once_value_5
) {
4410 fra
.me
.REG
[8] = BOX_NativeString(" = VAL2OBJ(");
4411 REGB0
= TAG_Int(11);
4412 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4413 once_value_5
= fra
.me
.REG
[8];
4414 register_static_object(&once_value_5
);
4415 } else fra
.me
.REG
[8] = once_value_5
;
4416 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4417 fra
.me
.REG
[8] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4418 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4419 if (!once_value_6
) {
4420 fra
.me
.REG
[8] = BOX_NativeString(")->vft[");
4422 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4423 once_value_6
= fra
.me
.REG
[8];
4424 register_static_object(&once_value_6
);
4425 } else fra
.me
.REG
[8] = once_value_6
;
4426 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4427 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4428 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4429 fra
.me
.REG
[8] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4430 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4431 if (!once_value_7
) {
4432 fra
.me
.REG
[8] = BOX_NativeString("].i;");
4434 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4435 once_value_7
= fra
.me
.REG
[8];
4436 register_static_object(&once_value_7
);
4437 } else fra
.me
.REG
[8] = once_value_7
;
4438 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4439 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4440 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4441 CALL_compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4443 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
4445 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
4446 /* ./compiling//compiling_global.nit:576 */
4447 if (!once_value_8
) {
4448 fra
.me
.REG
[8] = BOX_NativeString("if (init_table[");
4449 REGB0
= TAG_Int(15);
4450 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4451 once_value_8
= fra
.me
.REG
[8];
4452 register_static_object(&once_value_8
);
4453 } else fra
.me
.REG
[8] = once_value_8
;
4454 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4455 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[4]);
4456 if (!once_value_9
) {
4457 fra
.me
.REG
[8] = BOX_NativeString("]) return;");
4458 REGB0
= TAG_Int(10);
4459 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4460 once_value_9
= fra
.me
.REG
[8];
4461 register_static_object(&once_value_9
);
4462 } else fra
.me
.REG
[8] = once_value_9
;
4463 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4464 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4465 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4466 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4468 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4469 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4470 /* ./compiling//compiling_global.nit:579 */
4471 if (UNTAG_Bool(REGB0
)) {
4472 fprintf(stderr
, "Reciever is null");
4473 fprintf(stderr
, " (%s:%d)\n", LOCATE_compiling_global
, 579);
4476 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]);
4477 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4478 /* ./compiling//compiling_global.nit:581 */
4479 if (UNTAG_Bool(REGB0
)) {
4481 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4482 if (UNTAG_Bool(REGB1
)) {
4483 REGB1
= TAG_Bool(false);
4486 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4490 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4491 if (UNTAG_Bool(REGB0
)) {
4493 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4495 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
4496 /* ./compiling//compiling_global.nit:582 */
4497 if (!once_value_10
) {
4498 fra
.me
.REG
[6] = BOX_NativeString("init_table[");
4499 REGB0
= TAG_Int(11);
4500 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4501 once_value_10
= fra
.me
.REG
[6];
4502 register_static_object(&once_value_10
);
4503 } else fra
.me
.REG
[6] = once_value_10
;
4504 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4505 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4506 if (!once_value_11
) {
4507 fra
.me
.REG
[4] = BOX_NativeString("] = 1;");
4509 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4510 once_value_11
= fra
.me
.REG
[4];
4511 register_static_object(&once_value_11
);
4512 } else fra
.me
.REG
[4] = once_value_11
;
4513 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4514 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4515 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[2]);
4516 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4518 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4519 /* ./compiling//compiling_global.nit:584 */
4520 if (UNTAG_Bool(REGB0
)) {
4522 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4523 if (UNTAG_Bool(REGB1
)) {
4524 REGB1
= TAG_Bool(false);
4527 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
4531 if (UNTAG_Bool(REGB0
)) {
4533 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4534 /* ./compiling//compiling_global.nit:585 */
4535 if (!once_value_12
) {
4536 fra
.me
.REG
[2] = BOX_NativeString("return;");
4538 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4539 once_value_12
= fra
.me
.REG
[2];
4540 register_static_object(&once_value_12
);
4541 } else fra
.me
.REG
[2] = once_value_12
;
4542 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[2]);
4543 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4546 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4547 /* ./compiling//compiling_global.nit:587 */
4548 if (!once_value_13
) {
4549 fra
.me
.REG
[2] = BOX_NativeString("return ");
4551 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4552 once_value_13
= fra
.me
.REG
[2];
4553 register_static_object(&once_value_13
);
4554 } else fra
.me
.REG
[2] = once_value_13
;
4555 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[2]);
4556 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4557 if (!once_value_14
) {
4558 fra
.me
.REG
[3] = BOX_NativeString(";");
4560 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4561 once_value_14
= fra
.me
.REG
[3];
4562 register_static_object(&once_value_14
);
4563 } else fra
.me
.REG
[3] = once_value_14
;
4564 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4565 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4567 fra
.me
.REG
[0] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4568 /* ./compiling//compiling_global.nit:590 */
4569 CALL_compiling_base___CContext___append(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4570 /* ./compiling//compiling_global.nit:591 */
4571 CALL_compiling_base___CompilerVisitor___ctx__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4572 /* ./compiling//compiling_global.nit:592 */
4573 CALL_compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4575 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4576 /* ./compiling//compiling_global.nit:593 */
4577 if (!once_value_15
) {
4578 fra
.me
.REG
[0] = BOX_NativeString("}");
4580 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4581 once_value_15
= fra
.me
.REG
[0];
4582 register_static_object(&once_value_15
);
4583 } else fra
.me
.REG
[0] = once_value_15
;
4584 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4585 CALL_compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4586 fra
.me
.REG
[5] = CALL_compiling_base___CompilerVisitor___out_contexts(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4587 fra
.me
.REG
[5] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4588 /* ./compiling//compiling_global.nit:595 */
4590 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4591 if (UNTAG_Bool(REGB0
)) {
4592 fra
.me
.REG
[0] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4593 fra
.me
.REG
[3] = CALL_compiling_base___CompilerVisitor___ctx(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4594 CALL_compiling_base___CContext___merge(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4598 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4601 stack_frame_head
= fra
.me
.prev
;