1 /* This C file is generated by NIT to compile module compiling___compiling_global. */
2 #include "compiling___compiling_global._sep.h"
3 static const char LOCATE_compiling___compiling_global___Program___compile_tables_to_c
[] = "compiling_global::Program::compile_tables_to_c";
4 void compiling___compiling_global___Program___compile_tables_to_c(val_t p0
, val_t p1
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
10 static val_t once_value_4
; /* Once value */
11 static val_t once_value_5
; /* Once value */
12 static val_t once_value_6
; /* Once value */
13 static val_t once_value_7
; /* Once value */
14 static val_t once_value_8
; /* Once value */
15 static val_t once_value_9
; /* Once value */
16 static val_t once_value_10
; /* Once value */
17 static val_t once_value_12
; /* Once value */
18 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
19 fra
.me
.file
= LOCATE_compiling___compiling_global
;
21 fra
.me
.meth
= LOCATE_compiling___compiling_global___Program___compile_tables_to_c
;
24 fra
.me
.nitni_local_ref_head
= NULL
;
25 fra
.me
.REG
[0] = NIT_NULL
;
26 fra
.me
.REG
[1] = NIT_NULL
;
27 fra
.me
.REG
[2] = NIT_NULL
;
28 fra
.me
.REG
[3] = NIT_NULL
;
29 fra
.me
.REG
[4] = NIT_NULL
;
30 fra
.me
.REG
[5] = NIT_NULL
;
31 fra
.me
.REG
[6] = NIT_NULL
;
32 fra
.me
.REG
[7] = NIT_NULL
;
35 /* compiling/compiling_global.nit:27 */
36 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
37 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
38 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
39 if (UNTAG_Bool(REGB0
)) {
40 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 27);
42 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
43 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_global___Program___compile_tables_to_c_1
));
44 CALL_program___Program___with_each_live_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_global___Program___compile_tables_to_c_2
));
45 /* compiling/compiling_global.nit:36 */
47 fra
.me
.REG
[2] = BOX_NativeString("classtable_t TAG2VFT[4] = {NULL");
49 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
50 once_value_4
= fra
.me
.REG
[2];
51 register_static_object(&once_value_4
);
52 } else fra
.me
.REG
[2] = once_value_4
;
53 fra
.me
.REG
[2] = fra
.me
.REG
[2];
54 fra
.me
.REG
[2] = NEW_Buffer_standard___string___Buffer___from(fra
.me
.REG
[2]);
55 /* compiling/compiling_global.nit:37 */
57 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
59 fra
.me
.REG
[4] = BOX_NativeString("Int");
61 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
62 once_value_5
= fra
.me
.REG
[4];
63 register_static_object(&once_value_5
);
64 } else fra
.me
.REG
[4] = once_value_5
;
65 fra
.me
.REG
[4] = fra
.me
.REG
[4];
66 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
68 fra
.me
.REG
[4] = BOX_NativeString("Char");
70 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
71 once_value_6
= fra
.me
.REG
[4];
72 register_static_object(&once_value_6
);
73 } else fra
.me
.REG
[4] = once_value_6
;
74 fra
.me
.REG
[4] = fra
.me
.REG
[4];
75 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
77 fra
.me
.REG
[4] = BOX_NativeString("Bool");
79 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
80 once_value_7
= fra
.me
.REG
[4];
81 register_static_object(&once_value_7
);
82 } else fra
.me
.REG
[4] = once_value_7
;
83 fra
.me
.REG
[4] = fra
.me
.REG
[4];
84 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
85 /* ../lib/standard/collection/array.nit:269 */
87 /* ../lib/standard/collection/array.nit:270 */
88 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
89 if (UNTAG_Bool(REGB1
)) {
91 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
93 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
94 /* ../lib/standard/collection/array.nit:271 */
95 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
96 /* ../lib/standard/collection/array.nit:272 */
98 /* ../lib/standard/collection/array.nit:24 */
99 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
100 if (UNTAG_Bool(REGB1
)) {
102 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
104 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
105 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
106 if (UNTAG_Bool(REGB2
)) {
108 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
110 /* ../lib/standard/kernel.nit:235 */
111 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
112 /* ../lib/standard/collection/array.nit:272 */
113 if (UNTAG_Bool(REGB1
)) {
114 /* ../lib/standard/collection/array.nit:273 */
115 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
116 if (UNTAG_Bool(REGB1
)) {
117 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
119 /* ../lib/standard/collection/array.nit:718 */
120 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
121 /* compiling/compiling_global.nit:38 */
122 fra
.me
.REG
[6] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
123 fra
.me
.REG
[7] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
124 REGB1
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
125 if (UNTAG_Bool(REGB1
)) {
126 /* compiling/compiling_global.nit:39 */
127 fra
.me
.REG
[7] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
128 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
129 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
130 /* compiling/compiling_global.nit:40 */
132 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
134 fra
.me
.REG
[6] = BOX_NativeString(", (const classtable_t)VFT_");
136 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
137 once_value_8
= fra
.me
.REG
[6];
138 register_static_object(&once_value_8
);
139 } else fra
.me
.REG
[6] = once_value_8
;
140 fra
.me
.REG
[6] = fra
.me
.REG
[6];
141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
142 fra
.me
.REG
[5] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
143 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
145 fra
.me
.REG
[5] = BOX_NativeString("");
147 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
148 once_value_9
= fra
.me
.REG
[5];
149 register_static_object(&once_value_9
);
150 } else fra
.me
.REG
[5] = once_value_9
;
151 fra
.me
.REG
[5] = fra
.me
.REG
[5];
152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
153 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
154 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
156 /* compiling/compiling_global.nit:42 */
157 if (!once_value_10
) {
158 fra
.me
.REG
[7] = BOX_NativeString(", NULL");
160 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
161 once_value_10
= fra
.me
.REG
[7];
162 register_static_object(&once_value_10
);
163 } else fra
.me
.REG
[7] = once_value_10
;
164 fra
.me
.REG
[7] = fra
.me
.REG
[7];
165 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
167 /* ../lib/standard/collection/array.nit:274 */
169 /* ../lib/standard/kernel.nit:238 */
170 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
171 /* ../lib/standard/collection/array.nit:274 */
174 /* ../lib/standard/collection/array.nit:272 */
179 /* compiling/compiling_global.nit:45 */
180 if (!once_value_12
) {
181 fra
.me
.REG
[0] = BOX_NativeString("};");
183 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
184 once_value_12
= fra
.me
.REG
[0];
185 register_static_object(&once_value_12
);
186 } else fra
.me
.REG
[0] = once_value_12
;
187 fra
.me
.REG
[0] = fra
.me
.REG
[0];
188 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
189 /* compiling/compiling_global.nit:46 */
190 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
191 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
192 stack_frame_head
= fra
.me
.prev
;
195 void OC_compiling___compiling_global___Program___compile_tables_to_c_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
196 struct {struct stack_frame_t me
;} fra
;
199 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
200 fra
.me
.file
= LOCATE_compiling___compiling_global
;
202 fra
.me
.meth
= LOCATE_compiling___compiling_global___Program___compile_tables_to_c
;
203 fra
.me
.has_broke
= 0;
205 fra
.me
.nitni_local_ref_head
= NULL
;
206 fra
.me
.REG
[0] = NIT_NULL
;
207 fra
.me
.closure_ctx
= closctx_param
;
208 fra
.me
.closure_funs
= CREG
;
211 /* compiling/compiling_global.nit:28 */
212 CALL_compiling___compiling_global___MMModule___compile_local_table_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
213 stack_frame_head
= fra
.me
.prev
;
216 void OC_compiling___compiling_global___Program___compile_tables_to_c_2(struct stack_frame_t
*closctx
, val_t p0
){
217 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
221 /* compiling/compiling_global.nit:31 */
222 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
223 fra
.me
.file
= LOCATE_compiling___compiling_global
;
225 fra
.me
.meth
= LOCATE_compiling___compiling_global___Program___compile_tables_to_c
;
226 fra
.me
.has_broke
= 0;
228 fra
.me
.nitni_local_ref_head
= NULL
;
229 fra
.me
.REG
[0] = NIT_NULL
;
230 fra
.me
.REG
[1] = NIT_NULL
;
232 /* compiling/compiling_global.nit:32 */
233 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
234 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
235 if (UNTAG_Bool(REGB0
)) {
238 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
239 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
242 if (UNTAG_Bool(REGB0
)) {
245 /* compiling/compiling_global.nit:33 */
246 CALL_compiling___compiling_global___MMLocalClass___compile_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
248 stack_frame_head
= fra
.me
.prev
;
251 static const char LOCATE_compiling___compiling_global___Program___compile_main_part
[] = "compiling_global::Program::compile_main_part";
252 void compiling___compiling_global___Program___compile_main_part(val_t p0
, val_t p1
){
253 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
257 static val_t once_value_1
; /* Once value */
258 static val_t once_value_2
; /* Once value */
259 static val_t once_value_3
; /* Once value */
260 static val_t once_value_4
; /* Once value */
261 static val_t once_value_5
; /* Once value */
262 static val_t once_value_6
; /* Once value */
263 static val_t once_value_7
; /* Once value */
264 static val_t once_value_8
; /* Once value */
265 static val_t once_value_9
; /* Once value */
266 static val_t once_value_10
; /* Once value */
267 static val_t once_value_11
; /* Once value */
268 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
269 fra
.me
.file
= LOCATE_compiling___compiling_global
;
271 fra
.me
.meth
= LOCATE_compiling___compiling_global___Program___compile_main_part
;
272 fra
.me
.has_broke
= 0;
274 fra
.me
.nitni_local_ref_head
= NULL
;
275 fra
.me
.REG
[0] = NIT_NULL
;
276 fra
.me
.REG
[1] = NIT_NULL
;
277 fra
.me
.REG
[2] = NIT_NULL
;
278 fra
.me
.REG
[3] = NIT_NULL
;
281 /* compiling/compiling_global.nit:52 */
283 fra
.me
.REG
[2] = BOX_NativeString("int main(int argc, char **argv) {");
285 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
286 once_value_1
= fra
.me
.REG
[2];
287 register_static_object(&once_value_1
);
288 } else fra
.me
.REG
[2] = once_value_1
;
289 fra
.me
.REG
[2] = fra
.me
.REG
[2];
290 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
291 /* compiling/compiling_global.nit:53 */
292 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
293 /* compiling/compiling_global.nit:54 */
295 fra
.me
.REG
[2] = BOX_NativeString("prepare_signals();");
297 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
298 once_value_2
= fra
.me
.REG
[2];
299 register_static_object(&once_value_2
);
300 } else fra
.me
.REG
[2] = once_value_2
;
301 fra
.me
.REG
[2] = fra
.me
.REG
[2];
302 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
303 /* compiling/compiling_global.nit:55 */
305 fra
.me
.REG
[2] = BOX_NativeString("glob_argc = argc; glob_argv = argv;");
307 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
308 once_value_3
= fra
.me
.REG
[2];
309 register_static_object(&once_value_3
);
310 } else fra
.me
.REG
[2] = once_value_3
;
311 fra
.me
.REG
[2] = fra
.me
.REG
[2];
312 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
313 /* compiling/compiling_global.nit:56 */
314 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
315 fra
.me
.REG
[2] = CALL_program___Program___main_method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
316 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
317 if (UNTAG_Bool(REGB0
)) {
319 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
320 if (UNTAG_Bool(REGB1
)) {
324 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
328 if (UNTAG_Bool(REGB0
)) {
329 /* compiling/compiling_global.nit:57 */
331 fra
.me
.REG
[2] = BOX_NativeString("No main");
333 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
334 once_value_4
= fra
.me
.REG
[2];
335 register_static_object(&once_value_4
);
336 } else fra
.me
.REG
[2] = once_value_4
;
337 fra
.me
.REG
[2] = fra
.me
.REG
[2];
338 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
340 /* compiling/compiling_global.nit:59 */
341 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
342 fra
.me
.REG
[2] = CALL_program___Program___main_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
343 /* compiling/compiling_global.nit:60 */
345 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
347 fra
.me
.REG
[3] = BOX_NativeString("G_sys = NEW_");
349 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
350 once_value_5
= fra
.me
.REG
[3];
351 register_static_object(&once_value_5
);
352 } else fra
.me
.REG
[3] = once_value_5
;
353 fra
.me
.REG
[3] = fra
.me
.REG
[3];
354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
355 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
356 if (UNTAG_Bool(REGB0
)) {
357 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 60);
359 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
360 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
362 fra
.me
.REG
[2] = BOX_NativeString("();");
364 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
365 once_value_6
= fra
.me
.REG
[2];
366 register_static_object(&once_value_6
);
367 } else fra
.me
.REG
[2] = once_value_6
;
368 fra
.me
.REG
[2] = fra
.me
.REG
[2];
369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
370 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
371 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
372 /* compiling/compiling_global.nit:61 */
374 fra
.me
.REG
[0] = BOX_NativeString("register_static_object(&G_sys);");
376 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
377 once_value_7
= fra
.me
.REG
[0];
378 register_static_object(&once_value_7
);
379 } else fra
.me
.REG
[0] = once_value_7
;
380 fra
.me
.REG
[0] = fra
.me
.REG
[0];
381 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
382 /* compiling/compiling_global.nit:62 */
384 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
386 fra
.me
.REG
[2] = BOX_NativeString("");
388 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
389 once_value_8
= fra
.me
.REG
[2];
390 register_static_object(&once_value_8
);
391 } else fra
.me
.REG
[2] = once_value_8
;
392 fra
.me
.REG
[2] = fra
.me
.REG
[2];
393 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
394 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
395 fra
.me
.REG
[2] = CALL_program___Program___main_method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
396 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
397 if (UNTAG_Bool(REGB0
)) {
398 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 62);
400 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
403 fra
.me
.REG
[2] = BOX_NativeString("(G_sys);");
405 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
406 once_value_9
= fra
.me
.REG
[2];
407 register_static_object(&once_value_9
);
408 } else fra
.me
.REG
[2] = once_value_9
;
409 fra
.me
.REG
[2] = fra
.me
.REG
[2];
410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
411 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
412 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
414 /* compiling/compiling_global.nit:64 */
415 if (!once_value_10
) {
416 fra
.me
.REG
[0] = BOX_NativeString("return 0;");
418 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
419 once_value_10
= fra
.me
.REG
[0];
420 register_static_object(&once_value_10
);
421 } else fra
.me
.REG
[0] = once_value_10
;
422 fra
.me
.REG
[0] = fra
.me
.REG
[0];
423 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
424 /* compiling/compiling_global.nit:65 */
425 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
426 /* compiling/compiling_global.nit:66 */
427 if (!once_value_11
) {
428 fra
.me
.REG
[0] = BOX_NativeString("}");
430 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
431 once_value_11
= fra
.me
.REG
[0];
432 register_static_object(&once_value_11
);
433 } else fra
.me
.REG
[0] = once_value_11
;
434 fra
.me
.REG
[0] = fra
.me
.REG
[0];
435 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
436 stack_frame_head
= fra
.me
.prev
;
439 static const char LOCATE_compiling___compiling_global___MMModule___declare_class_tables_to_c
[] = "compiling_global::MMModule::declare_class_tables_to_c";
440 void compiling___compiling_global___MMModule___declare_class_tables_to_c(val_t p0
, val_t p1
){
441 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
443 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
444 fra
.me
.file
= LOCATE_compiling___compiling_global
;
446 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___declare_class_tables_to_c
;
447 fra
.me
.has_broke
= 0;
449 fra
.me
.nitni_local_ref_head
= NULL
;
450 fra
.me
.REG
[0] = NIT_NULL
;
451 fra
.me
.REG
[1] = NIT_NULL
;
452 fra
.me
.REG
[2] = NIT_NULL
;
455 /* compiling/compiling_global.nit:74 */
456 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
457 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_global___MMModule___declare_class_tables_to_c_1
));
458 stack_frame_head
= fra
.me
.prev
;
461 void OC_compiling___compiling_global___MMModule___declare_class_tables_to_c_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
462 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
467 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
468 fra
.me
.file
= LOCATE_compiling___compiling_global
;
470 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___declare_class_tables_to_c
;
471 fra
.me
.has_broke
= 0;
473 fra
.me
.nitni_local_ref_head
= NULL
;
474 fra
.me
.REG
[0] = NIT_NULL
;
475 fra
.me
.REG
[1] = NIT_NULL
;
476 fra
.me
.closure_ctx
= closctx_param
;
477 fra
.me
.closure_funs
= CREG
;
480 /* compiling/compiling_global.nit:75 */
481 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
482 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
483 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],closctx
->REG
[0]));
484 if (UNTAG_Bool(REGB0
)) {
486 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[0]);
489 if (UNTAG_Bool(REGB0
)) {
490 /* compiling/compiling_global.nit:76 */
491 CALL_compiling___compiling_global___MMLocalClass___declare_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
493 stack_frame_head
= fra
.me
.prev
;
496 static const char LOCATE_compiling___compiling_global___MMModule___compile_mod_to_c
[] = "compiling_global::MMModule::compile_mod_to_c";
497 void compiling___compiling_global___MMModule___compile_mod_to_c(val_t p0
, val_t p1
){
498 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
504 static val_t once_value_1
; /* Once value */
505 static val_t once_value_2
; /* Once value */
506 static val_t once_value_3
; /* Once value */
507 static val_t once_value_4
; /* Once value */
508 static val_t once_value_5
; /* Once value */
509 static val_t once_value_6
; /* Once value */
510 static val_t once_value_7
; /* Once value */
511 static val_t once_value_8
; /* Once value */
512 static val_t once_value_9
; /* Once value */
513 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
514 fra
.me
.file
= LOCATE_compiling___compiling_global
;
516 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___compile_mod_to_c
;
517 fra
.me
.has_broke
= 0;
519 fra
.me
.nitni_local_ref_head
= NULL
;
520 fra
.me
.REG
[0] = NIT_NULL
;
521 fra
.me
.REG
[1] = NIT_NULL
;
522 fra
.me
.REG
[2] = NIT_NULL
;
523 fra
.me
.REG
[3] = NIT_NULL
;
524 fra
.me
.REG
[4] = NIT_NULL
;
525 fra
.me
.REG
[5] = NIT_NULL
;
526 fra
.me
.REG
[6] = NIT_NULL
;
527 fra
.me
.REG
[7] = NIT_NULL
;
530 /* compiling/compiling_global.nit:84 */
532 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
534 fra
.me
.REG
[3] = BOX_NativeString("extern const char LOCATE_");
536 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
537 once_value_1
= fra
.me
.REG
[3];
538 register_static_object(&once_value_1
);
539 } else fra
.me
.REG
[3] = once_value_1
;
540 fra
.me
.REG
[3] = fra
.me
.REG
[3];
541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
542 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
545 fra
.me
.REG
[3] = BOX_NativeString("[];");
547 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
548 once_value_2
= fra
.me
.REG
[3];
549 register_static_object(&once_value_2
);
550 } else fra
.me
.REG
[3] = once_value_2
;
551 fra
.me
.REG
[3] = fra
.me
.REG
[3];
552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
553 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
554 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
555 /* compiling/compiling_global.nit:85 */
556 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
557 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
558 REGB0
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
559 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
560 if (UNTAG_Bool(REGB0
)) {
561 /* compiling/compiling_global.nit:86 */
563 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
565 fra
.me
.REG
[3] = BOX_NativeString("extern const int SFT_");
567 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
568 once_value_3
= fra
.me
.REG
[3];
569 register_static_object(&once_value_3
);
570 } else fra
.me
.REG
[3] = once_value_3
;
571 fra
.me
.REG
[3] = fra
.me
.REG
[3];
572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
573 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
574 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
576 fra
.me
.REG
[3] = BOX_NativeString("[];");
578 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
579 once_value_4
= fra
.me
.REG
[3];
580 register_static_object(&once_value_4
);
581 } else fra
.me
.REG
[3] = once_value_4
;
582 fra
.me
.REG
[3] = fra
.me
.REG
[3];
583 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
584 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
585 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
587 /* compiling/compiling_global.nit:88 */
589 /* compiling/compiling_global.nit:89 */
590 fra
.me
.REG
[2] = CALL_compiling___table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
591 /* ../lib/standard/collection/array.nit:269 */
593 /* ../lib/standard/collection/array.nit:270 */
594 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
595 if (UNTAG_Bool(REGB2
)) {
597 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
599 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
600 /* ../lib/standard/collection/array.nit:271 */
601 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
602 /* ../lib/standard/collection/array.nit:272 */
604 /* ../lib/standard/collection/array.nit:24 */
605 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
606 if (UNTAG_Bool(REGB2
)) {
608 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
610 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
611 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
612 if (UNTAG_Bool(REGB3
)) {
614 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
616 /* ../lib/standard/kernel.nit:235 */
617 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
618 /* ../lib/standard/collection/array.nit:272 */
619 if (UNTAG_Bool(REGB2
)) {
620 /* ../lib/standard/collection/array.nit:273 */
621 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
622 if (UNTAG_Bool(REGB2
)) {
623 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
625 /* ../lib/standard/collection/array.nit:718 */
626 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
627 /* compiling/compiling_global.nit:91 */
628 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
629 fra
.me
.REG
[5] = CALL_program___Program___tc(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
630 REGB2
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
631 if (UNTAG_Bool(REGB2
)) {
632 /* compiling/compiling_global.nit:92 */
634 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
636 fra
.me
.REG
[6] = BOX_NativeString("");
638 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
639 once_value_5
= fra
.me
.REG
[6];
640 register_static_object(&once_value_5
);
641 } else fra
.me
.REG
[6] = once_value_5
;
642 fra
.me
.REG
[6] = fra
.me
.REG
[6];
643 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
644 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
645 fra
.me
.REG
[6] = CALL_compiling___compiling_global___ModuleTableElt___value(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
648 fra
.me
.REG
[6] = BOX_NativeString("");
650 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
651 once_value_6
= fra
.me
.REG
[6];
652 register_static_object(&once_value_6
);
653 } else fra
.me
.REG
[6] = once_value_6
;
654 fra
.me
.REG
[6] = fra
.me
.REG
[6];
655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
656 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
658 /* compiling/compiling_global.nit:94 */
660 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
662 fra
.me
.REG
[7] = BOX_NativeString("SFT_");
664 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
665 once_value_7
= fra
.me
.REG
[7];
666 register_static_object(&once_value_7
);
667 } else fra
.me
.REG
[7] = once_value_7
;
668 fra
.me
.REG
[7] = fra
.me
.REG
[7];
669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
670 fra
.me
.REG
[7] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
673 fra
.me
.REG
[7] = BOX_NativeString("[");
675 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
676 once_value_8
= fra
.me
.REG
[7];
677 register_static_object(&once_value_8
);
678 } else fra
.me
.REG
[7] = once_value_8
;
679 fra
.me
.REG
[7] = fra
.me
.REG
[7];
680 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
681 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
684 fra
.me
.REG
[7] = BOX_NativeString("]");
686 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
687 once_value_9
= fra
.me
.REG
[7];
688 register_static_object(&once_value_9
);
689 } else fra
.me
.REG
[7] = once_value_9
;
690 fra
.me
.REG
[7] = fra
.me
.REG
[7];
691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
692 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
693 fra
.me
.REG
[5] = fra
.me
.REG
[6];
694 /* compiling/compiling_global.nit:95 */
696 /* ../lib/standard/kernel.nit:238 */
697 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
698 /* compiling/compiling_global.nit:95 */
701 /* compiling/compiling_global.nit:97 */
702 CALL_compiling___compiling_global___AbsTableElt___compile_macros(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
703 /* ../lib/standard/collection/array.nit:274 */
705 /* ../lib/standard/kernel.nit:238 */
706 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
707 /* ../lib/standard/collection/array.nit:274 */
710 /* ../lib/standard/collection/array.nit:272 */
715 /* compiling/compiling_global.nit:99 */
716 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
717 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_global___MMModule___compile_mod_to_c_11
));
718 stack_frame_head
= fra
.me
.prev
;
721 void OC_compiling___compiling_global___MMModule___compile_mod_to_c_11(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
722 struct {struct stack_frame_t me
;} fra
;
726 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
727 fra
.me
.file
= LOCATE_compiling___compiling_global
;
729 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___compile_mod_to_c
;
730 fra
.me
.has_broke
= 0;
732 fra
.me
.nitni_local_ref_head
= NULL
;
733 fra
.me
.REG
[0] = NIT_NULL
;
734 fra
.me
.closure_ctx
= closctx_param
;
735 fra
.me
.closure_funs
= CREG
;
738 closctx
->REG
[3] = fra
.me
.REG
[0];
739 /* compiling/compiling_global.nit:100 */
740 REGB0
= TAG_Bool(VAL_ISA(closctx
->REG
[3], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
741 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
742 if (UNTAG_Bool(REGB0
)) {
745 /* compiling/compiling_global.nit:101 */
746 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(closctx
->REG
[3])(closctx
->REG
[3]);
747 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
, ((fun_t
)OC_compiling___compiling_global___MMModule___compile_mod_to_c_13
));
749 stack_frame_head
= fra
.me
.prev
;
752 void OC_compiling___compiling_global___MMModule___compile_mod_to_c_13(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
753 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
760 static val_t once_value_14
; /* Once value */
761 static val_t once_value_15
; /* Once value */
762 static val_t once_value_17
; /* Once value */
763 static val_t once_value_18
; /* Once value */
764 static val_t once_value_19
; /* Once value */
765 static val_t once_value_20
; /* Once value */
766 static val_t once_value_21
; /* Once value */
767 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
768 fra
.me
.file
= LOCATE_compiling___compiling_global
;
770 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___compile_mod_to_c
;
771 fra
.me
.has_broke
= 0;
773 fra
.me
.nitni_local_ref_head
= NULL
;
774 fra
.me
.REG
[0] = NIT_NULL
;
775 fra
.me
.REG
[1] = NIT_NULL
;
776 fra
.me
.REG
[2] = NIT_NULL
;
777 fra
.me
.REG
[3] = NIT_NULL
;
778 fra
.me
.closure_ctx
= closctx_param
;
779 fra
.me
.closure_funs
= CREG
;
782 /* compiling/compiling_global.nit:102 */
783 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
784 /* compiling/compiling_global.nit:103 */
785 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
786 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],closctx
->REG
[3]));
787 if (UNTAG_Bool(REGB0
)) {
789 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], closctx
->REG
[3]);
792 if (UNTAG_Bool(REGB0
)) {
793 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
798 if (UNTAG_Bool(REGB0
)) {
799 /* compiling/compiling_global.nit:104 */
800 CALL_compiling___compiling_global___MMMethod___compile_property_to_c(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[1]);
802 /* compiling/compiling_global.nit:106 */
803 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[3]);
804 if (UNTAG_Bool(REGB0
)) {
805 /* compiling/compiling_global.nit:108 */
806 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
807 /* compiling/compiling_global.nit:109 */
809 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
810 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
811 if (UNTAG_Bool(REGB1
)) {
812 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 109);
814 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
815 /* ../lib/standard/kernel.nit:355 */
817 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
818 if (UNTAG_Bool(REGB2
)) {
820 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
822 /* ../lib/standard/kernel.nit:235 */
823 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
824 /* ../lib/standard/kernel.nit:355 */
825 if (UNTAG_Bool(REGB2
)) {
826 /* compiling/compiling_global.nit:109 */
828 /* compiling/compiling_global.nit:110 */
830 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
831 if (!once_value_14
) {
832 fra
.me
.REG
[3] = BOX_NativeString("val_t p");
834 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB3
);
835 once_value_14
= fra
.me
.REG
[3];
836 register_static_object(&once_value_14
);
837 } else fra
.me
.REG
[3] = once_value_14
;
838 fra
.me
.REG
[3] = fra
.me
.REG
[3];
839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
840 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
842 if (!once_value_15
) {
843 fra
.me
.REG
[3] = BOX_NativeString("");
845 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
846 once_value_15
= fra
.me
.REG
[3];
847 register_static_object(&once_value_15
);
848 } else fra
.me
.REG
[3] = once_value_15
;
849 fra
.me
.REG
[3] = fra
.me
.REG
[3];
850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
851 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
853 /* ../lib/standard/kernel.nit:357 */
855 /* ../lib/standard/kernel.nit:238 */
856 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
857 /* ../lib/standard/kernel.nit:357 */
860 /* ../lib/standard/kernel.nit:355 */
865 /* compiling/compiling_global.nit:112 */
867 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
868 if (!once_value_17
) {
869 fra
.me
.REG
[3] = BOX_NativeString("val_t NEW_");
871 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
872 once_value_17
= fra
.me
.REG
[3];
873 register_static_object(&once_value_17
);
874 } else fra
.me
.REG
[3] = once_value_17
;
875 fra
.me
.REG
[3] = fra
.me
.REG
[3];
876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
877 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(closctx
->REG
[3])(closctx
->REG
[3]);
878 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
879 if (!once_value_18
) {
880 fra
.me
.REG
[3] = BOX_NativeString("_");
882 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
883 once_value_18
= fra
.me
.REG
[3];
884 register_static_object(&once_value_18
);
885 } else fra
.me
.REG
[3] = once_value_18
;
886 fra
.me
.REG
[3] = fra
.me
.REG
[3];
887 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
888 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
889 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
890 fra
.me
.REG
[1] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
892 if (!once_value_19
) {
893 fra
.me
.REG
[1] = BOX_NativeString("(");
895 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
896 once_value_19
= fra
.me
.REG
[1];
897 register_static_object(&once_value_19
);
898 } else fra
.me
.REG
[1] = once_value_19
;
899 fra
.me
.REG
[1] = fra
.me
.REG
[1];
900 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
901 if (!once_value_20
) {
902 fra
.me
.REG
[1] = BOX_NativeString(", ");
904 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
905 once_value_20
= fra
.me
.REG
[1];
906 register_static_object(&once_value_20
);
907 } else fra
.me
.REG
[1] = once_value_20
;
908 fra
.me
.REG
[1] = fra
.me
.REG
[1];
909 fra
.me
.REG
[1] = CALL_standard___string___Collection___join(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
910 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
911 if (!once_value_21
) {
912 fra
.me
.REG
[1] = BOX_NativeString(");");
914 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
915 once_value_21
= fra
.me
.REG
[1];
916 register_static_object(&once_value_21
);
917 } else fra
.me
.REG
[1] = once_value_21
;
918 fra
.me
.REG
[1] = fra
.me
.REG
[1];
919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
920 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
921 CALL_compiling___compiling_base___CompilerVisitor___add_decl(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
923 stack_frame_head
= fra
.me
.prev
;
926 static const char LOCATE_compiling___compiling_global___MMModule___compile_local_table_to_c
[] = "compiling_global::MMModule::compile_local_table_to_c";
927 void compiling___compiling_global___MMModule___compile_local_table_to_c(val_t p0
, val_t p1
){
928 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
933 static val_t once_value_1
; /* Once value */
934 static val_t once_value_2
; /* Once value */
935 static val_t once_value_3
; /* Once value */
936 static val_t once_value_5
; /* Once value */
937 static val_t once_value_6
; /* Once value */
938 static val_t once_value_7
; /* Once value */
939 static val_t once_value_8
; /* Once value */
940 static val_t once_value_10
; /* Once value */
941 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
942 fra
.me
.file
= LOCATE_compiling___compiling_global
;
944 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___compile_local_table_to_c
;
945 fra
.me
.has_broke
= 0;
947 fra
.me
.nitni_local_ref_head
= NULL
;
948 fra
.me
.REG
[0] = NIT_NULL
;
949 fra
.me
.REG
[1] = NIT_NULL
;
950 fra
.me
.REG
[2] = NIT_NULL
;
951 fra
.me
.REG
[3] = NIT_NULL
;
952 fra
.me
.REG
[4] = NIT_NULL
;
955 /* compiling/compiling_global.nit:121 */
957 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
959 fra
.me
.REG
[3] = BOX_NativeString("const char LOCATE_");
961 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
962 once_value_1
= fra
.me
.REG
[3];
963 register_static_object(&once_value_1
);
964 } else fra
.me
.REG
[3] = once_value_1
;
965 fra
.me
.REG
[3] = fra
.me
.REG
[3];
966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
967 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
970 fra
.me
.REG
[3] = BOX_NativeString("[] = \"");
972 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
973 once_value_2
= fra
.me
.REG
[3];
974 register_static_object(&once_value_2
);
975 } else fra
.me
.REG
[3] = once_value_2
;
976 fra
.me
.REG
[3] = fra
.me
.REG
[3];
977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
978 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
979 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
980 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
981 if (UNTAG_Bool(REGB0
)) {
982 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 121);
984 fra
.me
.REG
[3] = CALL_location___SourceFile___filename(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
985 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
987 fra
.me
.REG
[3] = BOX_NativeString("\";");
989 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
990 once_value_3
= fra
.me
.REG
[3];
991 register_static_object(&once_value_3
);
992 } else fra
.me
.REG
[3] = once_value_3
;
993 fra
.me
.REG
[3] = fra
.me
.REG
[3];
994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
995 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
996 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
997 /* compiling/compiling_global.nit:123 */
998 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
999 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1000 REGB0
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1001 if (UNTAG_Bool(REGB0
)) {
1002 REGB0
= TAG_Bool(1);
1004 fra
.me
.REG
[2] = CALL_compiling___table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1005 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1008 if (UNTAG_Bool(REGB0
)) {
1009 /* compiling/compiling_global.nit:124 */
1012 /* compiling/compiling_global.nit:127 */
1014 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1015 if (!once_value_5
) {
1016 fra
.me
.REG
[3] = BOX_NativeString("const int SFT_");
1017 REGB0
= TAG_Int(14);
1018 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1019 once_value_5
= fra
.me
.REG
[3];
1020 register_static_object(&once_value_5
);
1021 } else fra
.me
.REG
[3] = once_value_5
;
1022 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1024 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1026 if (!once_value_6
) {
1027 fra
.me
.REG
[3] = BOX_NativeString("[");
1029 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1030 once_value_6
= fra
.me
.REG
[3];
1031 register_static_object(&once_value_6
);
1032 } else fra
.me
.REG
[3] = once_value_6
;
1033 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1034 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1035 fra
.me
.REG
[3] = CALL_compiling___table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1036 /* ../lib/standard/collection/array.nit:24 */
1037 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1038 if (UNTAG_Bool(REGB0
)) {
1040 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1042 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1043 /* compiling/compiling_global.nit:127 */
1044 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1045 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1046 if (!once_value_7
) {
1047 fra
.me
.REG
[3] = BOX_NativeString("] = {");
1049 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1050 once_value_7
= fra
.me
.REG
[3];
1051 register_static_object(&once_value_7
);
1052 } else fra
.me
.REG
[3] = once_value_7
;
1053 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1055 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1056 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1057 /* compiling/compiling_global.nit:128 */
1058 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1059 /* compiling/compiling_global.nit:129 */
1060 fra
.me
.REG
[0] = CALL_compiling___table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1061 /* ../lib/standard/collection/array.nit:269 */
1063 /* ../lib/standard/collection/array.nit:270 */
1064 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1065 if (UNTAG_Bool(REGB1
)) {
1067 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1069 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1070 /* ../lib/standard/collection/array.nit:271 */
1071 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1072 /* ../lib/standard/collection/array.nit:272 */
1074 /* ../lib/standard/collection/array.nit:24 */
1075 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1076 if (UNTAG_Bool(REGB1
)) {
1078 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1080 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1081 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1082 if (UNTAG_Bool(REGB2
)) {
1084 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1086 /* ../lib/standard/kernel.nit:235 */
1087 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1088 /* ../lib/standard/collection/array.nit:272 */
1089 if (UNTAG_Bool(REGB1
)) {
1090 /* ../lib/standard/collection/array.nit:273 */
1091 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1092 if (UNTAG_Bool(REGB1
)) {
1093 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1095 /* ../lib/standard/collection/array.nit:718 */
1096 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1097 /* compiling/compiling_global.nit:130 */
1098 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1099 fra
.me
.REG
[4] = CALL_compiling___compiling_global___ModuleTableElt___value(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1100 if (!once_value_8
) {
1101 fra
.me
.REG
[3] = BOX_NativeString(",");
1103 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
1104 once_value_8
= fra
.me
.REG
[3];
1105 register_static_object(&once_value_8
);
1106 } else fra
.me
.REG
[3] = once_value_8
;
1107 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1108 fra
.me
.REG
[3] = CALL_standard___string___String_____plus(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1109 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1110 /* ../lib/standard/collection/array.nit:274 */
1112 /* ../lib/standard/kernel.nit:238 */
1113 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1114 /* ../lib/standard/collection/array.nit:274 */
1117 /* ../lib/standard/collection/array.nit:272 */
1122 /* compiling/compiling_global.nit:132 */
1123 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1124 /* compiling/compiling_global.nit:133 */
1125 if (!once_value_10
) {
1126 fra
.me
.REG
[2] = BOX_NativeString("};");
1128 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1129 once_value_10
= fra
.me
.REG
[2];
1130 register_static_object(&once_value_10
);
1131 } else fra
.me
.REG
[2] = once_value_10
;
1132 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1133 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1135 stack_frame_head
= fra
.me
.prev
;
1138 static const char LOCATE_compiling___compiling_global___AbsTableElt___compile_macros
[] = "compiling_global::AbsTableElt::compile_macros";
1139 void compiling___compiling_global___AbsTableElt___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1140 struct {struct stack_frame_t me
;} fra
;
1142 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1143 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1145 fra
.me
.meth
= LOCATE_compiling___compiling_global___AbsTableElt___compile_macros
;
1146 fra
.me
.has_broke
= 0;
1147 fra
.me
.REG_size
= 0;
1148 fra
.me
.nitni_local_ref_head
= NULL
;
1149 /* compiling/compiling_global.nit:140 */
1150 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_global
, 140);
1151 stack_frame_head
= fra
.me
.prev
;
1154 static const char LOCATE_compiling___compiling_global___TableElt___compile_to_c
[] = "compiling_global::TableElt::compile_to_c";
1155 val_t
compiling___compiling_global___TableElt___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1156 struct {struct stack_frame_t me
;} fra
;
1158 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1159 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1161 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableElt___compile_to_c
;
1162 fra
.me
.has_broke
= 0;
1163 fra
.me
.REG_size
= 0;
1164 fra
.me
.nitni_local_ref_head
= NULL
;
1165 /* compiling/compiling_global.nit:145 */
1166 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_global
, 145);
1167 stack_frame_head
= fra
.me
.prev
;
1170 static const char LOCATE_compiling___compiling_global___ModuleTableElt___value
[] = "compiling_global::ModuleTableElt::value";
1171 val_t
compiling___compiling_global___ModuleTableElt___value(val_t p0
, val_t p1
){
1172 struct {struct stack_frame_t me
;} fra
;
1174 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1175 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1177 fra
.me
.meth
= LOCATE_compiling___compiling_global___ModuleTableElt___value
;
1178 fra
.me
.has_broke
= 0;
1179 fra
.me
.REG_size
= 0;
1180 fra
.me
.nitni_local_ref_head
= NULL
;
1181 /* compiling/compiling_global.nit:150 */
1182 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_global
, 150);
1183 stack_frame_head
= fra
.me
.prev
;
1186 static const char LOCATE_compiling___compiling_global___ModuleTableEltGroup___value
[] = "compiling_global::ModuleTableEltGroup::(compiling_global::ModuleTableElt::value)";
1187 val_t
compiling___compiling_global___ModuleTableEltGroup___value(val_t p0
, val_t p1
){
1188 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1191 static val_t once_value_1
; /* Once value */
1192 static val_t once_value_2
; /* Once value */
1193 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1194 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1196 fra
.me
.meth
= LOCATE_compiling___compiling_global___ModuleTableEltGroup___value
;
1197 fra
.me
.has_broke
= 0;
1198 fra
.me
.REG_size
= 4;
1199 fra
.me
.nitni_local_ref_head
= NULL
;
1200 fra
.me
.REG
[0] = NIT_NULL
;
1201 fra
.me
.REG
[1] = NIT_NULL
;
1202 fra
.me
.REG
[2] = NIT_NULL
;
1203 fra
.me
.REG
[3] = NIT_NULL
;
1206 /* compiling/compiling_global.nit:155 */
1208 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1209 if (!once_value_1
) {
1210 fra
.me
.REG
[3] = BOX_NativeString("");
1212 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1213 once_value_1
= fra
.me
.REG
[3];
1214 register_static_object(&once_value_1
);
1215 } else fra
.me
.REG
[3] = once_value_1
;
1216 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1218 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1219 fra
.me
.REG
[0] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1220 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1221 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1222 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1223 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1224 if (!once_value_2
) {
1225 fra
.me
.REG
[0] = BOX_NativeString(" /* Group of ? */");
1226 REGB0
= TAG_Int(17);
1227 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1228 once_value_2
= fra
.me
.REG
[0];
1229 register_static_object(&once_value_2
);
1230 } else fra
.me
.REG
[0] = once_value_2
;
1231 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1233 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1236 stack_frame_head
= fra
.me
.prev
;
1237 return fra
.me
.REG
[2];
1239 static const char LOCATE_compiling___compiling_global___ModuleTableEltGroup___compile_macros
[] = "compiling_global::ModuleTableEltGroup::(compiling_global::AbsTableElt::compile_macros)";
1240 void compiling___compiling_global___ModuleTableEltGroup___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1241 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1247 static val_t once_value_1
; /* Once value */
1248 static val_t once_value_2
; /* Once value */
1249 static val_t once_value_3
; /* Once value */
1250 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1251 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1253 fra
.me
.meth
= LOCATE_compiling___compiling_global___ModuleTableEltGroup___compile_macros
;
1254 fra
.me
.has_broke
= 0;
1255 fra
.me
.REG_size
= 7;
1256 fra
.me
.nitni_local_ref_head
= NULL
;
1257 fra
.me
.REG
[0] = NIT_NULL
;
1258 fra
.me
.REG
[1] = NIT_NULL
;
1259 fra
.me
.REG
[2] = NIT_NULL
;
1260 fra
.me
.REG
[3] = NIT_NULL
;
1261 fra
.me
.REG
[4] = NIT_NULL
;
1262 fra
.me
.REG
[5] = NIT_NULL
;
1263 fra
.me
.REG
[6] = NIT_NULL
;
1267 /* compiling/compiling_global.nit:158 */
1269 /* compiling/compiling_global.nit:159 */
1270 fra
.me
.REG
[0] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1271 /* ../lib/standard/collection/array.nit:269 */
1273 /* ../lib/standard/collection/array.nit:270 */
1274 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1275 if (UNTAG_Bool(REGB2
)) {
1277 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1279 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1280 /* ../lib/standard/collection/array.nit:271 */
1281 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1282 /* ../lib/standard/collection/array.nit:272 */
1284 /* ../lib/standard/collection/array.nit:24 */
1285 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1286 if (UNTAG_Bool(REGB2
)) {
1288 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1290 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1291 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1292 if (UNTAG_Bool(REGB3
)) {
1294 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1296 /* ../lib/standard/kernel.nit:235 */
1297 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1298 /* ../lib/standard/collection/array.nit:272 */
1299 if (UNTAG_Bool(REGB2
)) {
1300 /* ../lib/standard/collection/array.nit:273 */
1301 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1302 if (UNTAG_Bool(REGB2
)) {
1303 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1305 /* ../lib/standard/collection/array.nit:718 */
1306 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
1307 /* compiling/compiling_global.nit:160 */
1309 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1310 if (!once_value_1
) {
1311 fra
.me
.REG
[6] = BOX_NativeString("");
1313 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1314 once_value_1
= fra
.me
.REG
[6];
1315 register_static_object(&once_value_1
);
1316 } else fra
.me
.REG
[6] = once_value_1
;
1317 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1318 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1320 if (!once_value_2
) {
1321 fra
.me
.REG
[6] = BOX_NativeString(" + ");
1323 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1324 once_value_2
= fra
.me
.REG
[6];
1325 register_static_object(&once_value_2
);
1326 } else fra
.me
.REG
[6] = once_value_2
;
1327 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1328 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1329 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1330 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1331 if (!once_value_3
) {
1332 fra
.me
.REG
[6] = BOX_NativeString("");
1334 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1335 once_value_3
= fra
.me
.REG
[6];
1336 register_static_object(&once_value_3
);
1337 } else fra
.me
.REG
[6] = once_value_3
;
1338 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1340 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1341 CALL_compiling___compiling_global___AbsTableElt___compile_macros(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
1342 /* compiling/compiling_global.nit:161 */
1344 /* ../lib/standard/kernel.nit:238 */
1345 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1346 /* compiling/compiling_global.nit:161 */
1348 /* ../lib/standard/collection/array.nit:274 */
1350 /* ../lib/standard/kernel.nit:238 */
1351 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1352 /* ../lib/standard/collection/array.nit:274 */
1355 /* ../lib/standard/collection/array.nit:272 */
1360 stack_frame_head
= fra
.me
.prev
;
1363 static const char LOCATE_compiling___compiling_global___TableEltMeth___compile_macros
[] = "compiling_global::TableEltMeth::(compiling_global::AbsTableElt::compile_macros)";
1364 void compiling___compiling_global___TableEltMeth___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1365 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1368 static val_t once_value_1
; /* Once value */
1369 static val_t once_value_2
; /* Once value */
1370 static val_t once_value_3
; /* Once value */
1371 static val_t once_value_4
; /* Once value */
1372 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1373 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1375 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltMeth___compile_macros
;
1376 fra
.me
.has_broke
= 0;
1377 fra
.me
.REG_size
= 5;
1378 fra
.me
.nitni_local_ref_head
= NULL
;
1379 fra
.me
.REG
[0] = NIT_NULL
;
1380 fra
.me
.REG
[1] = NIT_NULL
;
1381 fra
.me
.REG
[2] = NIT_NULL
;
1382 fra
.me
.REG
[3] = NIT_NULL
;
1383 fra
.me
.REG
[4] = NIT_NULL
;
1387 /* compiling/compiling_global.nit:169 */
1388 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1389 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1390 /* compiling/compiling_global.nit:170 */
1392 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1393 if (!once_value_1
) {
1394 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1396 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1397 once_value_1
= fra
.me
.REG
[4];
1398 register_static_object(&once_value_1
);
1399 } else fra
.me
.REG
[4] = once_value_1
;
1400 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1402 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1404 if (!once_value_2
) {
1405 fra
.me
.REG
[4] = BOX_NativeString("(recv) ((");
1407 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1408 once_value_2
= fra
.me
.REG
[4];
1409 register_static_object(&once_value_2
);
1410 } else fra
.me
.REG
[4] = once_value_2
;
1411 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1413 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1414 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1415 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1416 if (!once_value_3
) {
1417 fra
.me
.REG
[0] = BOX_NativeString("_t)CALL((recv), (");
1418 REGB0
= TAG_Int(17);
1419 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1420 once_value_3
= fra
.me
.REG
[0];
1421 register_static_object(&once_value_3
);
1422 } else fra
.me
.REG
[0] = once_value_3
;
1423 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1425 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1426 if (!once_value_4
) {
1427 fra
.me
.REG
[2] = BOX_NativeString(")))");
1429 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1430 once_value_4
= fra
.me
.REG
[2];
1431 register_static_object(&once_value_4
);
1432 } else fra
.me
.REG
[2] = once_value_4
;
1433 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1435 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1436 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1437 stack_frame_head
= fra
.me
.prev
;
1440 static const char LOCATE_compiling___compiling_global___TableEltMeth___compile_to_c
[] = "compiling_global::TableEltMeth::(compiling_global::TableElt::compile_to_c)";
1441 val_t
compiling___compiling_global___TableEltMeth___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1442 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1444 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1445 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1447 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltMeth___compile_to_c
;
1448 fra
.me
.has_broke
= 0;
1449 fra
.me
.REG_size
= 3;
1450 fra
.me
.nitni_local_ref_head
= NULL
;
1451 fra
.me
.REG
[0] = NIT_NULL
;
1452 fra
.me
.REG
[1] = NIT_NULL
;
1453 fra
.me
.REG
[2] = NIT_NULL
;
1457 /* compiling/compiling_global.nit:175 */
1458 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1459 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1460 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1461 /* compiling/compiling_global.nit:176 */
1462 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1465 stack_frame_head
= fra
.me
.prev
;
1466 return fra
.me
.REG
[0];
1468 static const char LOCATE_compiling___compiling_global___TableEltSuper___compile_macros
[] = "compiling_global::TableEltSuper::(compiling_global::AbsTableElt::compile_macros)";
1469 void compiling___compiling_global___TableEltSuper___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1470 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1473 static val_t once_value_1
; /* Once value */
1474 static val_t once_value_2
; /* Once value */
1475 static val_t once_value_3
; /* Once value */
1476 static val_t once_value_4
; /* Once value */
1477 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1478 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1480 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltSuper___compile_macros
;
1481 fra
.me
.has_broke
= 0;
1482 fra
.me
.REG_size
= 5;
1483 fra
.me
.nitni_local_ref_head
= NULL
;
1484 fra
.me
.REG
[0] = NIT_NULL
;
1485 fra
.me
.REG
[1] = NIT_NULL
;
1486 fra
.me
.REG
[2] = NIT_NULL
;
1487 fra
.me
.REG
[3] = NIT_NULL
;
1488 fra
.me
.REG
[4] = NIT_NULL
;
1492 /* compiling/compiling_global.nit:183 */
1493 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1494 /* compiling/compiling_global.nit:184 */
1496 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1497 if (!once_value_1
) {
1498 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1500 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1501 once_value_1
= fra
.me
.REG
[4];
1502 register_static_object(&once_value_1
);
1503 } else fra
.me
.REG
[4] = once_value_1
;
1504 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1505 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1506 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1508 if (!once_value_2
) {
1509 fra
.me
.REG
[4] = BOX_NativeString("(recv) ((");
1511 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1512 once_value_2
= fra
.me
.REG
[4];
1513 register_static_object(&once_value_2
);
1514 } else fra
.me
.REG
[4] = once_value_2
;
1515 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1517 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1518 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1519 if (!once_value_3
) {
1520 fra
.me
.REG
[0] = BOX_NativeString("_t)CALL((recv), (");
1521 REGB0
= TAG_Int(17);
1522 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1523 once_value_3
= fra
.me
.REG
[0];
1524 register_static_object(&once_value_3
);
1525 } else fra
.me
.REG
[0] = once_value_3
;
1526 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1527 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1528 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1529 if (!once_value_4
) {
1530 fra
.me
.REG
[2] = BOX_NativeString(")))");
1532 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1533 once_value_4
= fra
.me
.REG
[2];
1534 register_static_object(&once_value_4
);
1535 } else fra
.me
.REG
[2] = once_value_4
;
1536 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1538 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1539 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1540 stack_frame_head
= fra
.me
.prev
;
1543 static const char LOCATE_compiling___compiling_global___TableEltSuper___compile_to_c
[] = "compiling_global::TableEltSuper::(compiling_global::TableElt::compile_to_c)";
1544 val_t
compiling___compiling_global___TableEltSuper___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1545 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1551 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1552 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1554 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltSuper___compile_to_c
;
1555 fra
.me
.has_broke
= 0;
1556 fra
.me
.REG_size
= 7;
1557 fra
.me
.nitni_local_ref_head
= NULL
;
1558 fra
.me
.REG
[0] = NIT_NULL
;
1559 fra
.me
.REG
[1] = NIT_NULL
;
1560 fra
.me
.REG
[2] = NIT_NULL
;
1561 fra
.me
.REG
[3] = NIT_NULL
;
1562 fra
.me
.REG
[4] = NIT_NULL
;
1563 fra
.me
.REG
[5] = NIT_NULL
;
1564 fra
.me
.REG
[6] = NIT_NULL
;
1568 /* compiling/compiling_global.nit:189 */
1569 fra
.me
.REG
[1] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1570 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1571 /* compiling/compiling_global.nit:190 */
1572 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1573 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1574 /* compiling/compiling_global.nit:191 */
1575 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1576 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1577 /* compiling/compiling_global.nit:192 */
1578 REGB0
= TAG_Bool(0);
1579 /* ../lib/standard/collection/array.nit:269 */
1581 /* ../lib/standard/collection/array.nit:270 */
1582 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1583 if (UNTAG_Bool(REGB2
)) {
1585 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1587 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1588 /* ../lib/standard/collection/array.nit:271 */
1589 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1590 /* ../lib/standard/collection/array.nit:272 */
1592 /* ../lib/standard/collection/array.nit:24 */
1593 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1594 if (UNTAG_Bool(REGB2
)) {
1596 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1598 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1599 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1600 if (UNTAG_Bool(REGB3
)) {
1602 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1604 /* ../lib/standard/kernel.nit:235 */
1605 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1606 /* ../lib/standard/collection/array.nit:272 */
1607 if (UNTAG_Bool(REGB2
)) {
1608 /* ../lib/standard/collection/array.nit:273 */
1609 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1610 if (UNTAG_Bool(REGB2
)) {
1611 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1613 /* ../lib/standard/collection/array.nit:718 */
1614 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1615 /* compiling/compiling_global.nit:195 */
1616 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[1]));
1617 if (UNTAG_Bool(REGB2
)) {
1619 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
1622 if (UNTAG_Bool(REGB2
)) {
1623 /* compiling/compiling_global.nit:196 */
1624 REGB2
= TAG_Bool(1);
1627 /* compiling/compiling_global.nit:197 */
1628 if (UNTAG_Bool(REGB0
)) {
1629 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1630 REGB2
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1632 REGB3
= TAG_Bool(0);
1635 if (UNTAG_Bool(REGB2
)) {
1636 /* compiling/compiling_global.nit:198 */
1637 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1638 if (UNTAG_Bool(REGB2
)) {
1639 /* compiling/compiling_global.nit:200 */
1640 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1641 fra
.me
.REG
[5] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1646 /* ../lib/standard/collection/array.nit:274 */
1648 /* ../lib/standard/kernel.nit:238 */
1649 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1650 /* ../lib/standard/collection/array.nit:274 */
1653 /* ../lib/standard/collection/array.nit:272 */
1658 /* compiling/compiling_global.nit:204 */
1659 nit_abort("Aborted", NULL
, LOCATE_compiling___compiling_global
, 204);
1661 stack_frame_head
= fra
.me
.prev
;
1662 return fra
.me
.REG
[5];
1664 static const char LOCATE_compiling___compiling_global___TableEltVTClassColor___compile_macros
[] = "compiling_global::TableEltVTClassColor::(compiling_global::AbsTableElt::compile_macros)";
1665 void compiling___compiling_global___TableEltVTClassColor___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1666 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1669 static val_t once_value_1
; /* Once value */
1670 static val_t once_value_2
; /* Once value */
1671 static val_t once_value_3
; /* Once value */
1672 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1673 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1675 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVTClassColor___compile_macros
;
1676 fra
.me
.has_broke
= 0;
1677 fra
.me
.REG_size
= 5;
1678 fra
.me
.nitni_local_ref_head
= NULL
;
1679 fra
.me
.REG
[0] = NIT_NULL
;
1680 fra
.me
.REG
[1] = NIT_NULL
;
1681 fra
.me
.REG
[2] = NIT_NULL
;
1682 fra
.me
.REG
[3] = NIT_NULL
;
1683 fra
.me
.REG
[4] = NIT_NULL
;
1687 /* compiling/compiling_global.nit:211 */
1688 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1689 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1690 /* compiling/compiling_global.nit:212 */
1692 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1693 if (!once_value_1
) {
1694 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1696 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1697 once_value_1
= fra
.me
.REG
[4];
1698 register_static_object(&once_value_1
);
1699 } else fra
.me
.REG
[4] = once_value_1
;
1700 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1702 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_color(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1703 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1704 if (!once_value_2
) {
1705 fra
.me
.REG
[0] = BOX_NativeString("(recv) (VAL2VFT(recv)[");
1706 REGB0
= TAG_Int(22);
1707 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1708 once_value_2
= fra
.me
.REG
[0];
1709 register_static_object(&once_value_2
);
1710 } else fra
.me
.REG
[0] = once_value_2
;
1711 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1713 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1714 if (!once_value_3
) {
1715 fra
.me
.REG
[2] = BOX_NativeString("].i)");
1717 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1718 once_value_3
= fra
.me
.REG
[2];
1719 register_static_object(&once_value_3
);
1720 } else fra
.me
.REG
[2] = once_value_3
;
1721 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1723 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1724 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1725 stack_frame_head
= fra
.me
.prev
;
1728 static const char LOCATE_compiling___compiling_global___TableEltVTClassColor___compile_to_c
[] = "compiling_global::TableEltVTClassColor::(compiling_global::TableElt::compile_to_c)";
1729 val_t
compiling___compiling_global___TableEltVTClassColor___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1730 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1733 static val_t once_value_1
; /* Once value */
1734 static val_t once_value_2
; /* Once value */
1735 static val_t once_value_3
; /* Once value */
1736 static val_t once_value_4
; /* Once value */
1737 static val_t once_value_5
; /* Once value */
1738 static val_t once_value_6
; /* Once value */
1739 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1740 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1742 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVTClassColor___compile_to_c
;
1743 fra
.me
.has_broke
= 0;
1744 fra
.me
.REG_size
= 8;
1745 fra
.me
.nitni_local_ref_head
= NULL
;
1746 fra
.me
.REG
[0] = NIT_NULL
;
1747 fra
.me
.REG
[1] = NIT_NULL
;
1748 fra
.me
.REG
[2] = NIT_NULL
;
1749 fra
.me
.REG
[3] = NIT_NULL
;
1750 fra
.me
.REG
[4] = NIT_NULL
;
1751 fra
.me
.REG
[5] = NIT_NULL
;
1752 fra
.me
.REG
[6] = NIT_NULL
;
1753 fra
.me
.REG
[7] = NIT_NULL
;
1757 /* compiling/compiling_global.nit:215 */
1758 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1759 /* compiling/compiling_global.nit:217 */
1760 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1761 /* compiling/compiling_global.nit:218 */
1762 fra
.me
.REG
[4] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1763 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1764 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1765 /* compiling/compiling_global.nit:219 */
1766 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1767 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature_for(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1768 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1769 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1770 if (UNTAG_Bool(REGB0
)) {
1771 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 219);
1773 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1774 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1775 /* compiling/compiling_global.nit:220 */
1776 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1777 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1778 if (UNTAG_Bool(REGB0
)) {
1780 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_global
, 220);
1782 fra
.me
.REG
[6] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1783 /* compiling/compiling_global.nit:221 */
1784 REGB0
= TAG_Int(11);
1785 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1786 if (!once_value_1
) {
1787 fra
.me
.REG
[7] = BOX_NativeString("");
1789 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1790 once_value_1
= fra
.me
.REG
[7];
1791 register_static_object(&once_value_1
);
1792 } else fra
.me
.REG
[7] = once_value_1
;
1793 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
1795 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1796 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1797 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1798 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
1799 if (!once_value_2
) {
1800 fra
.me
.REG
[6] = BOX_NativeString(" /* ");
1802 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1803 once_value_2
= fra
.me
.REG
[6];
1804 register_static_object(&once_value_2
);
1805 } else fra
.me
.REG
[6] = once_value_2
;
1806 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1807 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
1808 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1809 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1810 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1812 if (!once_value_3
) {
1813 fra
.me
.REG
[3] = BOX_NativeString(": VT ");
1815 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1816 once_value_3
= fra
.me
.REG
[3];
1817 register_static_object(&once_value_3
);
1818 } else fra
.me
.REG
[3] = once_value_3
;
1819 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1821 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1823 if (!once_value_4
) {
1824 fra
.me
.REG
[2] = BOX_NativeString("::");
1826 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1827 once_value_4
= fra
.me
.REG
[2];
1828 register_static_object(&once_value_4
);
1829 } else fra
.me
.REG
[2] = once_value_4
;
1830 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1832 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1833 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
1834 if (!once_value_5
) {
1835 fra
.me
.REG
[4] = BOX_NativeString(" : color of ");
1836 REGB0
= TAG_Int(12);
1837 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1838 once_value_5
= fra
.me
.REG
[4];
1839 register_static_object(&once_value_5
);
1840 } else fra
.me
.REG
[4] = once_value_5
;
1841 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
1843 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1844 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
1845 if (!once_value_6
) {
1846 fra
.me
.REG
[5] = BOX_NativeString(" */");
1848 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1849 once_value_6
= fra
.me
.REG
[5];
1850 register_static_object(&once_value_6
);
1851 } else fra
.me
.REG
[5] = once_value_6
;
1852 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1853 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
1854 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1857 stack_frame_head
= fra
.me
.prev
;
1858 return fra
.me
.REG
[0];
1860 static const char LOCATE_compiling___compiling_global___TableEltVTClassId___compile_macros
[] = "compiling_global::TableEltVTClassId::(compiling_global::AbsTableElt::compile_macros)";
1861 void compiling___compiling_global___TableEltVTClassId___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1862 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1865 static val_t once_value_1
; /* Once value */
1866 static val_t once_value_2
; /* Once value */
1867 static val_t once_value_3
; /* Once value */
1868 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1869 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1871 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVTClassId___compile_macros
;
1872 fra
.me
.has_broke
= 0;
1873 fra
.me
.REG_size
= 5;
1874 fra
.me
.nitni_local_ref_head
= NULL
;
1875 fra
.me
.REG
[0] = NIT_NULL
;
1876 fra
.me
.REG
[1] = NIT_NULL
;
1877 fra
.me
.REG
[2] = NIT_NULL
;
1878 fra
.me
.REG
[3] = NIT_NULL
;
1879 fra
.me
.REG
[4] = NIT_NULL
;
1883 /* compiling/compiling_global.nit:228 */
1884 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1885 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1886 /* compiling/compiling_global.nit:229 */
1888 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1889 if (!once_value_1
) {
1890 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1892 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1893 once_value_1
= fra
.me
.REG
[4];
1894 register_static_object(&once_value_1
);
1895 } else fra
.me
.REG
[4] = once_value_1
;
1896 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1898 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1900 if (!once_value_2
) {
1901 fra
.me
.REG
[0] = BOX_NativeString("(recv) (VAL2VFT(recv)[");
1902 REGB0
= TAG_Int(22);
1903 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1904 once_value_2
= fra
.me
.REG
[0];
1905 register_static_object(&once_value_2
);
1906 } else fra
.me
.REG
[0] = once_value_2
;
1907 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1908 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1910 if (!once_value_3
) {
1911 fra
.me
.REG
[2] = BOX_NativeString("].i)");
1913 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1914 once_value_3
= fra
.me
.REG
[2];
1915 register_static_object(&once_value_3
);
1916 } else fra
.me
.REG
[2] = once_value_3
;
1917 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1918 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1919 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1920 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1921 stack_frame_head
= fra
.me
.prev
;
1924 static const char LOCATE_compiling___compiling_global___TableEltVTClassId___compile_to_c
[] = "compiling_global::TableEltVTClassId::(compiling_global::TableElt::compile_to_c)";
1925 val_t
compiling___compiling_global___TableEltVTClassId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1926 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1929 static val_t once_value_1
; /* Once value */
1930 static val_t once_value_2
; /* Once value */
1931 static val_t once_value_3
; /* Once value */
1932 static val_t once_value_4
; /* Once value */
1933 static val_t once_value_5
; /* Once value */
1934 static val_t once_value_6
; /* Once value */
1935 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1936 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1938 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVTClassId___compile_to_c
;
1939 fra
.me
.has_broke
= 0;
1940 fra
.me
.REG_size
= 7;
1941 fra
.me
.nitni_local_ref_head
= NULL
;
1942 fra
.me
.REG
[0] = NIT_NULL
;
1943 fra
.me
.REG
[1] = NIT_NULL
;
1944 fra
.me
.REG
[2] = NIT_NULL
;
1945 fra
.me
.REG
[3] = NIT_NULL
;
1946 fra
.me
.REG
[4] = NIT_NULL
;
1947 fra
.me
.REG
[5] = NIT_NULL
;
1948 fra
.me
.REG
[6] = NIT_NULL
;
1952 /* compiling/compiling_global.nit:234 */
1953 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1954 /* compiling/compiling_global.nit:235 */
1955 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1956 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1957 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1958 /* compiling/compiling_global.nit:236 */
1959 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1960 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature_for(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1961 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1962 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1963 if (UNTAG_Bool(REGB0
)) {
1964 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 236);
1966 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1967 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1968 /* compiling/compiling_global.nit:237 */
1969 REGB0
= TAG_Int(11);
1970 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1971 if (!once_value_1
) {
1972 fra
.me
.REG
[6] = BOX_NativeString("");
1974 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1975 once_value_1
= fra
.me
.REG
[6];
1976 register_static_object(&once_value_1
);
1977 } else fra
.me
.REG
[6] = once_value_1
;
1978 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1980 fra
.me
.REG
[6] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1981 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1982 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1983 if (UNTAG_Bool(REGB0
)) {
1984 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 237);
1986 REGB0
= CALL_compiling___table_computation___CompiledClass___id(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1987 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1988 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1989 if (!once_value_2
) {
1990 fra
.me
.REG
[6] = BOX_NativeString(" /* ");
1992 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1993 once_value_2
= fra
.me
.REG
[6];
1994 register_static_object(&once_value_2
);
1995 } else fra
.me
.REG
[6] = once_value_2
;
1996 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1998 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1999 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2000 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
2002 if (!once_value_3
) {
2003 fra
.me
.REG
[0] = BOX_NativeString(": VT ");
2005 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2006 once_value_3
= fra
.me
.REG
[0];
2007 register_static_object(&once_value_3
);
2008 } else fra
.me
.REG
[0] = once_value_3
;
2009 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2010 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
2011 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2012 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
2013 if (!once_value_4
) {
2014 fra
.me
.REG
[2] = BOX_NativeString("::");
2016 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2017 once_value_4
= fra
.me
.REG
[2];
2018 register_static_object(&once_value_4
);
2019 } else fra
.me
.REG
[2] = once_value_4
;
2020 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
2022 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
2024 if (!once_value_5
) {
2025 fra
.me
.REG
[3] = BOX_NativeString(" : id of ");
2027 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2028 once_value_5
= fra
.me
.REG
[3];
2029 register_static_object(&once_value_5
);
2030 } else fra
.me
.REG
[3] = once_value_5
;
2031 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
2033 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2034 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
2035 if (!once_value_6
) {
2036 fra
.me
.REG
[4] = BOX_NativeString(" */");
2038 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2039 once_value_6
= fra
.me
.REG
[4];
2040 register_static_object(&once_value_6
);
2041 } else fra
.me
.REG
[4] = once_value_6
;
2042 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2043 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
2044 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2047 stack_frame_head
= fra
.me
.prev
;
2048 return fra
.me
.REG
[5];
2050 static const char LOCATE_compiling___compiling_global___TableEltAttr___compile_macros
[] = "compiling_global::TableEltAttr::(compiling_global::AbsTableElt::compile_macros)";
2051 void compiling___compiling_global___TableEltAttr___compile_macros(val_t p0
, val_t p1
, val_t p2
){
2052 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2055 static val_t once_value_1
; /* Once value */
2056 static val_t once_value_2
; /* Once value */
2057 static val_t once_value_3
; /* Once value */
2058 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2059 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2061 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltAttr___compile_macros
;
2062 fra
.me
.has_broke
= 0;
2063 fra
.me
.REG_size
= 5;
2064 fra
.me
.nitni_local_ref_head
= NULL
;
2065 fra
.me
.REG
[0] = NIT_NULL
;
2066 fra
.me
.REG
[1] = NIT_NULL
;
2067 fra
.me
.REG
[2] = NIT_NULL
;
2068 fra
.me
.REG
[3] = NIT_NULL
;
2069 fra
.me
.REG
[4] = NIT_NULL
;
2073 /* compiling/compiling_global.nit:244 */
2074 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2075 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2076 /* compiling/compiling_global.nit:245 */
2078 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2079 if (!once_value_1
) {
2080 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2082 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2083 once_value_1
= fra
.me
.REG
[4];
2084 register_static_object(&once_value_1
);
2085 } else fra
.me
.REG
[4] = once_value_1
;
2086 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2087 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2088 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2090 if (!once_value_2
) {
2091 fra
.me
.REG
[0] = BOX_NativeString("(recv) ATTR(recv, (");
2092 REGB0
= TAG_Int(19);
2093 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2094 once_value_2
= fra
.me
.REG
[0];
2095 register_static_object(&once_value_2
);
2096 } else fra
.me
.REG
[0] = once_value_2
;
2097 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2098 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2099 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2100 if (!once_value_3
) {
2101 fra
.me
.REG
[2] = BOX_NativeString("))");
2103 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2104 once_value_3
= fra
.me
.REG
[2];
2105 register_static_object(&once_value_3
);
2106 } else fra
.me
.REG
[2] = once_value_3
;
2107 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2108 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2109 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2110 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2111 stack_frame_head
= fra
.me
.prev
;
2114 static const char LOCATE_compiling___compiling_global___TableEltAttr___compile_to_c
[] = "compiling_global::TableEltAttr::(compiling_global::TableElt::compile_to_c)";
2115 val_t
compiling___compiling_global___TableEltAttr___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2116 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2119 static val_t once_value_1
; /* Once value */
2120 static val_t once_value_2
; /* Once value */
2121 static val_t once_value_3
; /* Once value */
2122 static val_t once_value_4
; /* Once value */
2123 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2124 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2126 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltAttr___compile_to_c
;
2127 fra
.me
.has_broke
= 0;
2128 fra
.me
.REG_size
= 6;
2129 fra
.me
.nitni_local_ref_head
= NULL
;
2130 fra
.me
.REG
[0] = NIT_NULL
;
2131 fra
.me
.REG
[1] = NIT_NULL
;
2132 fra
.me
.REG
[2] = NIT_NULL
;
2133 fra
.me
.REG
[3] = NIT_NULL
;
2134 fra
.me
.REG
[4] = NIT_NULL
;
2135 fra
.me
.REG
[5] = NIT_NULL
;
2139 /* compiling/compiling_global.nit:250 */
2140 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2141 /* compiling/compiling_global.nit:251 */
2142 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2143 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2144 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2145 /* compiling/compiling_global.nit:252 */
2147 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2148 if (!once_value_1
) {
2149 fra
.me
.REG
[5] = BOX_NativeString("/* ");
2151 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2152 once_value_1
= fra
.me
.REG
[5];
2153 register_static_object(&once_value_1
);
2154 } else fra
.me
.REG
[5] = once_value_1
;
2155 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2157 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2158 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2159 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2160 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2161 if (!once_value_2
) {
2162 fra
.me
.REG
[0] = BOX_NativeString(": Attribute ");
2163 REGB0
= TAG_Int(12);
2164 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2165 once_value_2
= fra
.me
.REG
[0];
2166 register_static_object(&once_value_2
);
2167 } else fra
.me
.REG
[0] = once_value_2
;
2168 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2170 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2172 if (!once_value_3
) {
2173 fra
.me
.REG
[2] = BOX_NativeString("::");
2175 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2176 once_value_3
= fra
.me
.REG
[2];
2177 register_static_object(&once_value_3
);
2178 } else fra
.me
.REG
[2] = once_value_3
;
2179 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2180 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2181 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2183 if (!once_value_4
) {
2184 fra
.me
.REG
[3] = BOX_NativeString(" */");
2186 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2187 once_value_4
= fra
.me
.REG
[3];
2188 register_static_object(&once_value_4
);
2189 } else fra
.me
.REG
[3] = once_value_4
;
2190 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2192 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2195 stack_frame_head
= fra
.me
.prev
;
2196 return fra
.me
.REG
[4];
2198 static const char LOCATE_compiling___compiling_global___AbsTableEltClass___symbol
[] = "compiling_global::AbsTableEltClass::symbol";
2199 val_t
compiling___compiling_global___AbsTableEltClass___symbol(val_t p0
){
2200 struct {struct stack_frame_t me
;} fra
;
2202 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2203 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2205 fra
.me
.meth
= LOCATE_compiling___compiling_global___AbsTableEltClass___symbol
;
2206 fra
.me
.has_broke
= 0;
2207 fra
.me
.REG_size
= 0;
2208 fra
.me
.nitni_local_ref_head
= NULL
;
2209 /* compiling/compiling_global.nit:258 */
2210 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_global
, 258);
2211 stack_frame_head
= fra
.me
.prev
;
2214 static const char LOCATE_compiling___compiling_global___AbsTableEltClass___compile_macros
[] = "compiling_global::AbsTableEltClass::(compiling_global::AbsTableElt::compile_macros)";
2215 void compiling___compiling_global___AbsTableEltClass___compile_macros(val_t p0
, val_t p1
, val_t p2
){
2216 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2219 static val_t once_value_1
; /* Once value */
2220 static val_t once_value_2
; /* Once value */
2221 static val_t once_value_3
; /* Once value */
2222 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2223 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2225 fra
.me
.meth
= LOCATE_compiling___compiling_global___AbsTableEltClass___compile_macros
;
2226 fra
.me
.has_broke
= 0;
2227 fra
.me
.REG_size
= 5;
2228 fra
.me
.nitni_local_ref_head
= NULL
;
2229 fra
.me
.REG
[0] = NIT_NULL
;
2230 fra
.me
.REG
[1] = NIT_NULL
;
2231 fra
.me
.REG
[2] = NIT_NULL
;
2232 fra
.me
.REG
[3] = NIT_NULL
;
2233 fra
.me
.REG
[4] = NIT_NULL
;
2237 /* compiling/compiling_global.nit:263 */
2239 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2240 if (!once_value_1
) {
2241 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2243 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2244 once_value_1
= fra
.me
.REG
[4];
2245 register_static_object(&once_value_1
);
2246 } else fra
.me
.REG
[4] = once_value_1
;
2247 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2248 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2249 fra
.me
.REG
[0] = CALL_compiling___compiling_global___AbsTableEltClass___symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2250 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2251 if (!once_value_2
) {
2252 fra
.me
.REG
[0] = BOX_NativeString(" (");
2254 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2255 once_value_2
= fra
.me
.REG
[0];
2256 register_static_object(&once_value_2
);
2257 } else fra
.me
.REG
[0] = once_value_2
;
2258 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2260 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2261 if (!once_value_3
) {
2262 fra
.me
.REG
[2] = BOX_NativeString(")");
2264 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2265 once_value_3
= fra
.me
.REG
[2];
2266 register_static_object(&once_value_3
);
2267 } else fra
.me
.REG
[2] = once_value_3
;
2268 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2269 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2270 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2271 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2272 stack_frame_head
= fra
.me
.prev
;
2275 static const char LOCATE_compiling___compiling_global___TableEltClassId___symbol
[] = "compiling_global::TableEltClassId::(compiling_global::AbsTableEltClass::symbol)";
2276 val_t
compiling___compiling_global___TableEltClassId___symbol(val_t p0
){
2277 struct {struct stack_frame_t me
;} fra
;
2279 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2280 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2282 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassId___symbol
;
2283 fra
.me
.has_broke
= 0;
2284 fra
.me
.REG_size
= 1;
2285 fra
.me
.nitni_local_ref_head
= NULL
;
2286 fra
.me
.REG
[0] = NIT_NULL
;
2288 /* compiling/compiling_global.nit:268 */
2289 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2290 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2291 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2294 stack_frame_head
= fra
.me
.prev
;
2295 return fra
.me
.REG
[0];
2297 static const char LOCATE_compiling___compiling_global___TableEltClassId___value
[] = "compiling_global::TableEltClassId::(compiling_global::ModuleTableElt::value)";
2298 val_t
compiling___compiling_global___TableEltClassId___value(val_t p0
, val_t p1
){
2299 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2302 static val_t once_value_1
; /* Once value */
2303 static val_t once_value_2
; /* Once value */
2304 static val_t once_value_3
; /* Once value */
2305 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2306 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2308 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassId___value
;
2309 fra
.me
.has_broke
= 0;
2310 fra
.me
.REG_size
= 4;
2311 fra
.me
.nitni_local_ref_head
= NULL
;
2312 fra
.me
.REG
[0] = NIT_NULL
;
2313 fra
.me
.REG
[1] = NIT_NULL
;
2314 fra
.me
.REG
[2] = NIT_NULL
;
2315 fra
.me
.REG
[3] = NIT_NULL
;
2318 /* compiling/compiling_global.nit:272 */
2320 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2321 if (!once_value_1
) {
2322 fra
.me
.REG
[3] = BOX_NativeString("");
2324 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2325 once_value_1
= fra
.me
.REG
[3];
2326 register_static_object(&once_value_1
);
2327 } else fra
.me
.REG
[3] = once_value_1
;
2328 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2330 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2331 fra
.me
.REG
[3] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2332 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2333 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2334 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2335 if (UNTAG_Bool(REGB0
)) {
2336 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 272);
2338 REGB0
= CALL_compiling___table_computation___CompiledClass___id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2339 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2340 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2341 if (!once_value_2
) {
2342 fra
.me
.REG
[3] = BOX_NativeString(" /* Id of ");
2343 REGB0
= TAG_Int(10);
2344 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2345 once_value_2
= fra
.me
.REG
[3];
2346 register_static_object(&once_value_2
);
2347 } else fra
.me
.REG
[3] = once_value_2
;
2348 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2350 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2351 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2353 if (!once_value_3
) {
2354 fra
.me
.REG
[0] = BOX_NativeString(" */");
2356 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2357 once_value_3
= fra
.me
.REG
[0];
2358 register_static_object(&once_value_3
);
2359 } else fra
.me
.REG
[0] = once_value_3
;
2360 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2362 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2365 stack_frame_head
= fra
.me
.prev
;
2366 return fra
.me
.REG
[2];
2368 static const char LOCATE_compiling___compiling_global___TableEltClassInitTable___symbol
[] = "compiling_global::TableEltClassInitTable::(compiling_global::AbsTableEltClass::symbol)";
2369 val_t
compiling___compiling_global___TableEltClassInitTable___symbol(val_t p0
){
2370 struct {struct stack_frame_t me
;} fra
;
2372 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2373 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2375 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassInitTable___symbol
;
2376 fra
.me
.has_broke
= 0;
2377 fra
.me
.REG_size
= 1;
2378 fra
.me
.nitni_local_ref_head
= NULL
;
2379 fra
.me
.REG
[0] = NIT_NULL
;
2381 /* compiling/compiling_global.nit:277 */
2382 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2383 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2384 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___init_table_pos_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2387 stack_frame_head
= fra
.me
.prev
;
2388 return fra
.me
.REG
[0];
2390 static const char LOCATE_compiling___compiling_global___TableEltClassInitTable___compile_to_c
[] = "compiling_global::TableEltClassInitTable::(compiling_global::TableElt::compile_to_c)";
2391 val_t
compiling___compiling_global___TableEltClassInitTable___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2392 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
2398 static val_t once_value_3
; /* Once value */
2399 static val_t once_value_4
; /* Once value */
2400 static val_t once_value_5
; /* Once value */
2401 static val_t once_value_6
; /* Once value */
2402 static val_t once_value_7
; /* Once value */
2403 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2404 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2406 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassInitTable___compile_to_c
;
2407 fra
.me
.has_broke
= 0;
2408 fra
.me
.REG_size
= 7;
2409 fra
.me
.nitni_local_ref_head
= NULL
;
2410 fra
.me
.REG
[0] = NIT_NULL
;
2411 fra
.me
.REG
[1] = NIT_NULL
;
2412 fra
.me
.REG
[2] = NIT_NULL
;
2413 fra
.me
.REG
[3] = NIT_NULL
;
2414 fra
.me
.REG
[4] = NIT_NULL
;
2415 fra
.me
.REG
[5] = NIT_NULL
;
2416 fra
.me
.REG
[6] = NIT_NULL
;
2420 /* compiling/compiling_global.nit:281 */
2421 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2422 /* compiling/compiling_global.nit:282 */
2423 fra
.me
.REG
[3] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2424 fra
.me
.REG
[4] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2425 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2426 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2427 /* compiling/compiling_global.nit:283 */
2428 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2429 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___reverse_linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2430 /* compiling/compiling_global.nit:284 */
2432 /* compiling/compiling_global.nit:285 */
2434 /* ../lib/standard/collection/array.nit:278 */
2435 fra
.me
.REG
[5] = fra
.me
.REG
[3];
2437 /* ../lib/standard/collection/array.nit:280 */
2439 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2440 if (UNTAG_Bool(REGB3
)) {
2442 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2444 /* ../lib/standard/kernel.nit:236 */
2445 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
2446 /* ../lib/standard/collection/array.nit:280 */
2447 if (UNTAG_Bool(REGB2
)) {
2448 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
2449 if (UNTAG_Bool(REGB2
)) {
2451 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2453 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
2454 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2455 if (UNTAG_Bool(REGB3
)) {
2457 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2459 /* ../lib/standard/kernel.nit:235 */
2460 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
2462 /* ../lib/standard/collection/array.nit:280 */
2463 REGB3
= TAG_Bool(0);
2466 if (UNTAG_Bool(REGB2
)) {
2468 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2470 /* ../lib/standard/collection/array.nit:281 */
2471 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
2472 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2473 if (UNTAG_Bool(REGB2
)) {
2474 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2476 /* ../lib/standard/collection/array.nit:718 */
2477 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
2478 /* ../lib/standard/collection/array.nit:281 */
2481 /* compiling/compiling_global.nit:285 */
2482 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2483 if (UNTAG_Bool(REGB1
)) {
2484 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 285);
2486 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2487 fra
.me
.REG
[6] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2488 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2489 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[6]));
2490 if (UNTAG_Bool(REGB1
)) {
2492 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2495 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2496 if (UNTAG_Bool(REGB1
)) {
2497 /* compiling/compiling_global.nit:286 */
2499 /* ../lib/standard/kernel.nit:238 */
2500 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2501 /* compiling/compiling_global.nit:286 */
2504 /* compiling/compiling_global.nit:285 */
2509 /* compiling/compiling_global.nit:288 */
2511 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2512 if (!once_value_3
) {
2513 fra
.me
.REG
[6] = BOX_NativeString("");
2515 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
2516 once_value_3
= fra
.me
.REG
[6];
2517 register_static_object(&once_value_3
);
2518 } else fra
.me
.REG
[6] = once_value_3
;
2519 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2520 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2521 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2523 if (!once_value_4
) {
2524 fra
.me
.REG
[6] = BOX_NativeString(" /* ");
2526 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
2527 once_value_4
= fra
.me
.REG
[6];
2528 register_static_object(&once_value_4
);
2529 } else fra
.me
.REG
[6] = once_value_4
;
2530 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2532 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2533 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2534 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2535 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2536 if (!once_value_5
) {
2537 fra
.me
.REG
[0] = BOX_NativeString(": ");
2539 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2540 once_value_5
= fra
.me
.REG
[0];
2541 register_static_object(&once_value_5
);
2542 } else fra
.me
.REG
[0] = once_value_5
;
2543 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2544 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2545 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2547 if (!once_value_6
) {
2548 fra
.me
.REG
[2] = BOX_NativeString(" < ");
2550 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2551 once_value_6
= fra
.me
.REG
[2];
2552 register_static_object(&once_value_6
);
2553 } else fra
.me
.REG
[2] = once_value_6
;
2554 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2555 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2556 fra
.me
.REG
[4] = CALL_compiling___table_computation___CompiledClass___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2557 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2558 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2559 if (!once_value_7
) {
2560 fra
.me
.REG
[4] = BOX_NativeString(": superclass init_table position */");
2561 REGB0
= TAG_Int(35);
2562 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2563 once_value_7
= fra
.me
.REG
[4];
2564 register_static_object(&once_value_7
);
2565 } else fra
.me
.REG
[4] = once_value_7
;
2566 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2568 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2571 stack_frame_head
= fra
.me
.prev
;
2572 return fra
.me
.REG
[3];
2574 static const char LOCATE_compiling___compiling_global___TableEltClassColor___symbol
[] = "compiling_global::TableEltClassColor::(compiling_global::AbsTableEltClass::symbol)";
2575 val_t
compiling___compiling_global___TableEltClassColor___symbol(val_t p0
){
2576 struct {struct stack_frame_t me
;} fra
;
2578 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2579 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2581 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassColor___symbol
;
2582 fra
.me
.has_broke
= 0;
2583 fra
.me
.REG_size
= 1;
2584 fra
.me
.nitni_local_ref_head
= NULL
;
2585 fra
.me
.REG
[0] = NIT_NULL
;
2587 /* compiling/compiling_global.nit:293 */
2588 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2589 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2590 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2593 stack_frame_head
= fra
.me
.prev
;
2594 return fra
.me
.REG
[0];
2596 static const char LOCATE_compiling___compiling_global___TableEltClassColor___value
[] = "compiling_global::TableEltClassColor::(compiling_global::ModuleTableElt::value)";
2597 val_t
compiling___compiling_global___TableEltClassColor___value(val_t p0
, val_t p1
){
2598 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2601 static val_t once_value_1
; /* Once value */
2602 static val_t once_value_2
; /* Once value */
2603 static val_t once_value_3
; /* Once value */
2604 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2605 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2607 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassColor___value
;
2608 fra
.me
.has_broke
= 0;
2609 fra
.me
.REG_size
= 4;
2610 fra
.me
.nitni_local_ref_head
= NULL
;
2611 fra
.me
.REG
[0] = NIT_NULL
;
2612 fra
.me
.REG
[1] = NIT_NULL
;
2613 fra
.me
.REG
[2] = NIT_NULL
;
2614 fra
.me
.REG
[3] = NIT_NULL
;
2617 /* compiling/compiling_global.nit:297 */
2619 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2620 if (!once_value_1
) {
2621 fra
.me
.REG
[3] = BOX_NativeString("");
2623 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2624 once_value_1
= fra
.me
.REG
[3];
2625 register_static_object(&once_value_1
);
2626 } else fra
.me
.REG
[3] = once_value_1
;
2627 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2629 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2630 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2631 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2633 if (!once_value_2
) {
2634 fra
.me
.REG
[1] = BOX_NativeString(" /* Color of ");
2635 REGB0
= TAG_Int(13);
2636 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2637 once_value_2
= fra
.me
.REG
[1];
2638 register_static_object(&once_value_2
);
2639 } else fra
.me
.REG
[1] = once_value_2
;
2640 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2642 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2643 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2645 if (!once_value_3
) {
2646 fra
.me
.REG
[0] = BOX_NativeString(" */");
2648 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2649 once_value_3
= fra
.me
.REG
[0];
2650 register_static_object(&once_value_3
);
2651 } else fra
.me
.REG
[0] = once_value_3
;
2652 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2654 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2657 stack_frame_head
= fra
.me
.prev
;
2658 return fra
.me
.REG
[2];
2660 static const char LOCATE_compiling___compiling_global___TableEltClassColor___compile_to_c
[] = "compiling_global::TableEltClassColor::(compiling_global::TableElt::compile_to_c)";
2661 val_t
compiling___compiling_global___TableEltClassColor___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2662 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2665 static val_t once_value_1
; /* Once value */
2666 static val_t once_value_2
; /* Once value */
2667 static val_t once_value_3
; /* Once value */
2668 static val_t once_value_4
; /* Once value */
2669 static val_t once_value_5
; /* Once value */
2670 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2671 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2673 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassColor___compile_to_c
;
2674 fra
.me
.has_broke
= 0;
2675 fra
.me
.REG_size
= 6;
2676 fra
.me
.nitni_local_ref_head
= NULL
;
2677 fra
.me
.REG
[0] = NIT_NULL
;
2678 fra
.me
.REG
[1] = NIT_NULL
;
2679 fra
.me
.REG
[2] = NIT_NULL
;
2680 fra
.me
.REG
[3] = NIT_NULL
;
2681 fra
.me
.REG
[4] = NIT_NULL
;
2682 fra
.me
.REG
[5] = NIT_NULL
;
2686 /* compiling/compiling_global.nit:302 */
2687 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2688 /* compiling/compiling_global.nit:303 */
2689 fra
.me
.REG
[3] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2690 fra
.me
.REG
[4] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2691 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2692 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2693 /* compiling/compiling_global.nit:304 */
2695 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2696 if (!once_value_1
) {
2697 fra
.me
.REG
[5] = BOX_NativeString("");
2699 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2700 once_value_1
= fra
.me
.REG
[5];
2701 register_static_object(&once_value_1
);
2702 } else fra
.me
.REG
[5] = once_value_1
;
2703 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2704 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2705 REGB0
= CALL_compiling___table_computation___CompiledClass___id(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2706 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2707 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2708 if (!once_value_2
) {
2709 fra
.me
.REG
[5] = BOX_NativeString(" /* ");
2711 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2712 once_value_2
= fra
.me
.REG
[5];
2713 register_static_object(&once_value_2
);
2714 } else fra
.me
.REG
[5] = once_value_2
;
2715 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2717 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2718 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2719 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2721 if (!once_value_3
) {
2722 fra
.me
.REG
[0] = BOX_NativeString(": ");
2724 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2725 once_value_3
= fra
.me
.REG
[0];
2726 register_static_object(&once_value_3
);
2727 } else fra
.me
.REG
[0] = once_value_3
;
2728 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2730 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2732 if (!once_value_4
) {
2733 fra
.me
.REG
[2] = BOX_NativeString(" < ");
2735 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2736 once_value_4
= fra
.me
.REG
[2];
2737 register_static_object(&once_value_4
);
2738 } else fra
.me
.REG
[2] = once_value_4
;
2739 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2741 fra
.me
.REG
[4] = CALL_compiling___table_computation___CompiledClass___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2742 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2743 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2744 if (!once_value_5
) {
2745 fra
.me
.REG
[4] = BOX_NativeString(": superclass typecheck marker */");
2746 REGB0
= TAG_Int(32);
2747 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2748 once_value_5
= fra
.me
.REG
[4];
2749 register_static_object(&once_value_5
);
2750 } else fra
.me
.REG
[4] = once_value_5
;
2751 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2753 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2756 stack_frame_head
= fra
.me
.prev
;
2757 return fra
.me
.REG
[3];
2759 static const char LOCATE_compiling___compiling_global___TableEltComposite___compile_to_c
[] = "compiling_global::TableEltComposite::(compiling_global::TableElt::compile_to_c)";
2760 val_t
compiling___compiling_global___TableEltComposite___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2761 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2763 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2764 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2766 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltComposite___compile_to_c
;
2767 fra
.me
.has_broke
= 0;
2768 fra
.me
.REG_size
= 3;
2769 fra
.me
.nitni_local_ref_head
= NULL
;
2770 fra
.me
.REG
[0] = NIT_NULL
;
2771 fra
.me
.REG
[1] = NIT_NULL
;
2772 fra
.me
.REG
[2] = NIT_NULL
;
2776 /* compiling/compiling_global.nit:309 */
2777 nit_abort("Aborted", NULL
, LOCATE_compiling___compiling_global
, 309);
2778 stack_frame_head
= fra
.me
.prev
;
2781 static const char LOCATE_compiling___compiling_global___TableEltClassSelfId___compile_to_c
[] = "compiling_global::TableEltClassSelfId::(compiling_global::TableElt::compile_to_c)";
2782 val_t
compiling___compiling_global___TableEltClassSelfId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2783 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2786 static val_t once_value_1
; /* Once value */
2787 static val_t once_value_2
; /* Once value */
2788 static val_t once_value_3
; /* Once value */
2789 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2790 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2792 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassSelfId___compile_to_c
;
2793 fra
.me
.has_broke
= 0;
2794 fra
.me
.REG_size
= 5;
2795 fra
.me
.nitni_local_ref_head
= NULL
;
2796 fra
.me
.REG
[0] = NIT_NULL
;
2797 fra
.me
.REG
[1] = NIT_NULL
;
2798 fra
.me
.REG
[2] = NIT_NULL
;
2799 fra
.me
.REG
[3] = NIT_NULL
;
2800 fra
.me
.REG
[4] = NIT_NULL
;
2804 /* compiling/compiling_global.nit:315 */
2805 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2806 /* compiling/compiling_global.nit:316 */
2808 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2809 if (!once_value_1
) {
2810 fra
.me
.REG
[4] = BOX_NativeString("");
2812 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2813 once_value_1
= fra
.me
.REG
[4];
2814 register_static_object(&once_value_1
);
2815 } else fra
.me
.REG
[4] = once_value_1
;
2816 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2818 fra
.me
.REG
[4] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2819 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2820 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2821 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2822 if (UNTAG_Bool(REGB0
)) {
2823 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 316);
2825 REGB0
= CALL_compiling___table_computation___CompiledClass___id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2826 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2828 if (!once_value_2
) {
2829 fra
.me
.REG
[2] = BOX_NativeString(" /* ");
2831 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2832 once_value_2
= fra
.me
.REG
[2];
2833 register_static_object(&once_value_2
);
2834 } else fra
.me
.REG
[2] = once_value_2
;
2835 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2837 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2838 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2839 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2840 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2841 if (!once_value_3
) {
2842 fra
.me
.REG
[0] = BOX_NativeString(": Identity */");
2843 REGB0
= TAG_Int(13);
2844 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2845 once_value_3
= fra
.me
.REG
[0];
2846 register_static_object(&once_value_3
);
2847 } else fra
.me
.REG
[0] = once_value_3
;
2848 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2850 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2853 stack_frame_head
= fra
.me
.prev
;
2854 return fra
.me
.REG
[3];
2856 static const char LOCATE_compiling___compiling_global___TableEltClassSelfName___compile_to_c
[] = "compiling_global::TableEltClassSelfName::(compiling_global::TableElt::compile_to_c)";
2857 val_t
compiling___compiling_global___TableEltClassSelfName___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2858 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2861 static val_t once_value_1
; /* Once value */
2862 static val_t once_value_2
; /* Once value */
2863 static val_t once_value_3
; /* Once value */
2864 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2865 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2867 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassSelfName___compile_to_c
;
2868 fra
.me
.has_broke
= 0;
2869 fra
.me
.REG_size
= 5;
2870 fra
.me
.nitni_local_ref_head
= NULL
;
2871 fra
.me
.REG
[0] = NIT_NULL
;
2872 fra
.me
.REG
[1] = NIT_NULL
;
2873 fra
.me
.REG
[2] = NIT_NULL
;
2874 fra
.me
.REG
[3] = NIT_NULL
;
2875 fra
.me
.REG
[4] = NIT_NULL
;
2879 /* compiling/compiling_global.nit:323 */
2880 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2881 /* compiling/compiling_global.nit:324 */
2883 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2884 if (!once_value_1
) {
2885 fra
.me
.REG
[4] = BOX_NativeString("\"");
2887 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2888 once_value_1
= fra
.me
.REG
[4];
2889 register_static_object(&once_value_1
);
2890 } else fra
.me
.REG
[4] = once_value_1
;
2891 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2893 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2894 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2895 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2897 if (!once_value_2
) {
2898 fra
.me
.REG
[2] = BOX_NativeString("\" /* ");
2900 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2901 once_value_2
= fra
.me
.REG
[2];
2902 register_static_object(&once_value_2
);
2903 } else fra
.me
.REG
[2] = once_value_2
;
2904 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2906 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2907 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2908 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2910 if (!once_value_3
) {
2911 fra
.me
.REG
[0] = BOX_NativeString(": Class Name */");
2912 REGB0
= TAG_Int(15);
2913 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2914 once_value_3
= fra
.me
.REG
[0];
2915 register_static_object(&once_value_3
);
2916 } else fra
.me
.REG
[0] = once_value_3
;
2917 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2918 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2919 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2922 stack_frame_head
= fra
.me
.prev
;
2923 return fra
.me
.REG
[3];
2925 static const char LOCATE_compiling___compiling_global___TableEltClassObjectSize___compile_to_c
[] = "compiling_global::TableEltClassObjectSize::(compiling_global::TableElt::compile_to_c)";
2926 val_t
compiling___compiling_global___TableEltClassObjectSize___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2927 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2933 static val_t once_value_1
; /* Once value */
2934 static val_t once_value_3
; /* Once value */
2935 static val_t once_value_4
; /* Once value */
2936 static val_t once_value_5
; /* Once value */
2937 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2938 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2940 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassObjectSize___compile_to_c
;
2941 fra
.me
.has_broke
= 0;
2942 fra
.me
.REG_size
= 5;
2943 fra
.me
.nitni_local_ref_head
= NULL
;
2944 fra
.me
.REG
[0] = NIT_NULL
;
2945 fra
.me
.REG
[1] = NIT_NULL
;
2946 fra
.me
.REG
[2] = NIT_NULL
;
2947 fra
.me
.REG
[3] = NIT_NULL
;
2948 fra
.me
.REG
[4] = NIT_NULL
;
2952 /* compiling/compiling_global.nit:331 */
2954 /* compiling/compiling_global.nit:332 */
2955 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2956 /* compiling/compiling_global.nit:333 */
2957 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2958 if (!once_value_1
) {
2959 fra
.me
.REG
[4] = BOX_NativeString("NativeArray");
2960 REGB1
= TAG_Int(11);
2961 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2962 once_value_1
= fra
.me
.REG
[4];
2963 register_static_object(&once_value_1
);
2964 } else fra
.me
.REG
[4] = once_value_1
;
2965 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2966 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2967 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
2968 if (UNTAG_Bool(REGB1
)) {
2970 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2973 if (UNTAG_Bool(REGB1
)) {
2974 /* compiling/compiling_global.nit:334 */
2976 /* ../lib/standard/kernel.nit:239 */
2977 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
2978 /* compiling/compiling_global.nit:334 */
2981 /* compiling/compiling_global.nit:336 */
2982 fra
.me
.REG
[4] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2983 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2984 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2985 /* compiling/compiling_global.nit:337 */
2986 fra
.me
.REG
[2] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2987 /* ../lib/standard/collection/array.nit:269 */
2989 /* ../lib/standard/collection/array.nit:270 */
2990 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2991 if (UNTAG_Bool(REGB2
)) {
2993 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2995 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2996 /* ../lib/standard/collection/array.nit:271 */
2997 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2998 /* ../lib/standard/collection/array.nit:272 */
3000 /* ../lib/standard/collection/array.nit:24 */
3001 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3002 if (UNTAG_Bool(REGB2
)) {
3004 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3006 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3007 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
3008 if (UNTAG_Bool(REGB3
)) {
3010 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3012 /* ../lib/standard/kernel.nit:235 */
3013 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
3014 /* ../lib/standard/collection/array.nit:272 */
3015 if (UNTAG_Bool(REGB2
)) {
3016 /* ../lib/standard/collection/array.nit:273 */
3017 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3018 if (UNTAG_Bool(REGB2
)) {
3019 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
3021 /* ../lib/standard/collection/array.nit:718 */
3022 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
3023 /* compiling/compiling_global.nit:339 */
3025 /* ../lib/standard/kernel.nit:238 */
3026 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
3027 /* compiling/compiling_global.nit:339 */
3029 /* ../lib/standard/collection/array.nit:274 */
3031 /* ../lib/standard/kernel.nit:238 */
3032 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
3033 /* ../lib/standard/collection/array.nit:274 */
3036 /* ../lib/standard/collection/array.nit:272 */
3042 /* compiling/compiling_global.nit:342 */
3044 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3045 if (!once_value_3
) {
3046 fra
.me
.REG
[2] = BOX_NativeString("");
3048 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
3049 once_value_3
= fra
.me
.REG
[2];
3050 register_static_object(&once_value_3
);
3051 } else fra
.me
.REG
[2] = once_value_3
;
3052 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3053 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3054 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3055 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3056 if (!once_value_4
) {
3057 fra
.me
.REG
[2] = BOX_NativeString(" /* ");
3059 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3060 once_value_4
= fra
.me
.REG
[2];
3061 register_static_object(&once_value_4
);
3062 } else fra
.me
.REG
[2] = once_value_4
;
3063 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3065 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3066 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3067 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3068 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3069 if (!once_value_5
) {
3070 fra
.me
.REG
[0] = BOX_NativeString(": Object size (-1 if a NativeArray)*/");
3071 REGB0
= TAG_Int(37);
3072 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3073 once_value_5
= fra
.me
.REG
[0];
3074 register_static_object(&once_value_5
);
3075 } else fra
.me
.REG
[0] = once_value_5
;
3076 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3078 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3081 stack_frame_head
= fra
.me
.prev
;
3082 return fra
.me
.REG
[4];
3084 static const char LOCATE_compiling___compiling_global___TableEltObjectId___compile_to_c
[] = "compiling_global::TableEltObjectId::(compiling_global::TableElt::compile_to_c)";
3085 val_t
compiling___compiling_global___TableEltObjectId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
3086 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3089 static val_t once_value_1
; /* Once value */
3090 static val_t once_value_2
; /* Once value */
3091 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3092 fra
.me
.file
= LOCATE_compiling___compiling_global
;
3094 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltObjectId___compile_to_c
;
3095 fra
.me
.has_broke
= 0;
3096 fra
.me
.REG_size
= 4;
3097 fra
.me
.nitni_local_ref_head
= NULL
;
3098 fra
.me
.REG
[0] = NIT_NULL
;
3099 fra
.me
.REG
[1] = NIT_NULL
;
3100 fra
.me
.REG
[2] = NIT_NULL
;
3101 fra
.me
.REG
[3] = NIT_NULL
;
3105 /* compiling/compiling_global.nit:349 */
3106 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3107 /* compiling/compiling_global.nit:350 */
3109 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3110 if (!once_value_1
) {
3111 fra
.me
.REG
[3] = BOX_NativeString("/* ");
3113 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3114 once_value_1
= fra
.me
.REG
[3];
3115 register_static_object(&once_value_1
);
3116 } else fra
.me
.REG
[3] = once_value_1
;
3117 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3118 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3119 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3120 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3121 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3123 if (!once_value_2
) {
3124 fra
.me
.REG
[0] = BOX_NativeString(": Object_id */");
3125 REGB0
= TAG_Int(14);
3126 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3127 once_value_2
= fra
.me
.REG
[0];
3128 register_static_object(&once_value_2
);
3129 } else fra
.me
.REG
[0] = once_value_2
;
3130 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3132 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3135 stack_frame_head
= fra
.me
.prev
;
3136 return fra
.me
.REG
[2];
3138 static const char LOCATE_compiling___compiling_global___TableEltVftPointer___compile_to_c
[] = "compiling_global::TableEltVftPointer::(compiling_global::TableElt::compile_to_c)";
3139 val_t
compiling___compiling_global___TableEltVftPointer___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
3140 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3143 static val_t once_value_1
; /* Once value */
3144 static val_t once_value_2
; /* Once value */
3145 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3146 fra
.me
.file
= LOCATE_compiling___compiling_global
;
3148 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVftPointer___compile_to_c
;
3149 fra
.me
.has_broke
= 0;
3150 fra
.me
.REG_size
= 4;
3151 fra
.me
.nitni_local_ref_head
= NULL
;
3152 fra
.me
.REG
[0] = NIT_NULL
;
3153 fra
.me
.REG
[1] = NIT_NULL
;
3154 fra
.me
.REG
[2] = NIT_NULL
;
3155 fra
.me
.REG
[3] = NIT_NULL
;
3159 /* compiling/compiling_global.nit:357 */
3160 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3161 /* compiling/compiling_global.nit:358 */
3163 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3164 if (!once_value_1
) {
3165 fra
.me
.REG
[3] = BOX_NativeString("/* ");
3167 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3168 once_value_1
= fra
.me
.REG
[3];
3169 register_static_object(&once_value_1
);
3170 } else fra
.me
.REG
[3] = once_value_1
;
3171 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3173 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3174 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3175 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3177 if (!once_value_2
) {
3178 fra
.me
.REG
[0] = BOX_NativeString(": Pointer to the classtable */");
3179 REGB0
= TAG_Int(30);
3180 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3181 once_value_2
= fra
.me
.REG
[0];
3182 register_static_object(&once_value_2
);
3183 } else fra
.me
.REG
[0] = once_value_2
;
3184 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3185 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3186 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3189 stack_frame_head
= fra
.me
.prev
;
3190 return fra
.me
.REG
[2];
3192 static const char LOCATE_compiling___compiling_global___MMLocalClass___declare_tables_to_c
[] = "compiling_global::MMLocalClass::declare_tables_to_c";
3193 void compiling___compiling_global___MMLocalClass___declare_tables_to_c(val_t p0
, val_t p1
){
3194 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3198 static val_t once_value_1
; /* Once value */
3199 static val_t once_value_2
; /* Once value */
3200 static val_t once_value_3
; /* Once value */
3201 static val_t once_value_4
; /* Once value */
3202 static val_t once_value_5
; /* Once value */
3203 static val_t once_value_6
; /* Once value */
3204 static val_t once_value_7
; /* Once value */
3205 static val_t once_value_8
; /* Once value */
3206 static val_t once_value_9
; /* Once value */
3207 static val_t once_value_10
; /* Once value */
3208 static val_t once_value_11
; /* Once value */
3209 static val_t once_value_12
; /* Once value */
3210 static val_t once_value_13
; /* Once value */
3211 static val_t once_value_14
; /* Once value */
3212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3213 fra
.me
.file
= LOCATE_compiling___compiling_global
;
3215 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMLocalClass___declare_tables_to_c
;
3216 fra
.me
.has_broke
= 0;
3217 fra
.me
.REG_size
= 6;
3218 fra
.me
.nitni_local_ref_head
= NULL
;
3219 fra
.me
.REG
[0] = NIT_NULL
;
3220 fra
.me
.REG
[1] = NIT_NULL
;
3221 fra
.me
.REG
[2] = NIT_NULL
;
3222 fra
.me
.REG
[3] = NIT_NULL
;
3223 fra
.me
.REG
[4] = NIT_NULL
;
3224 fra
.me
.REG
[5] = NIT_NULL
;
3227 /* compiling/compiling_global.nit:368 */
3228 if (!once_value_1
) {
3229 fra
.me
.REG
[2] = BOX_NativeString("");
3231 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3232 once_value_1
= fra
.me
.REG
[2];
3233 register_static_object(&once_value_1
);
3234 } else fra
.me
.REG
[2] = once_value_1
;
3235 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3236 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3237 /* compiling/compiling_global.nit:369 */
3238 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3239 /* compiling/compiling_global.nit:370 */
3241 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3242 if (!once_value_2
) {
3243 fra
.me
.REG
[4] = BOX_NativeString("extern const classtable_elt_t VFT_");
3244 REGB0
= TAG_Int(34);
3245 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3246 once_value_2
= fra
.me
.REG
[4];
3247 register_static_object(&once_value_2
);
3248 } else fra
.me
.REG
[4] = once_value_2
;
3249 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3250 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3251 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3253 if (!once_value_3
) {
3254 fra
.me
.REG
[4] = BOX_NativeString("[];");
3256 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3257 once_value_3
= fra
.me
.REG
[4];
3258 register_static_object(&once_value_3
);
3259 } else fra
.me
.REG
[4] = once_value_3
;
3260 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3262 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3263 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3264 /* compiling/compiling_global.nit:371 */
3265 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3266 if (UNTAG_Bool(REGB0
)) {
3268 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3269 if (UNTAG_Bool(REGB1
)) {
3270 REGB1
= TAG_Bool(0);
3273 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3277 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3278 if (UNTAG_Bool(REGB0
)) {
3279 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3280 if (UNTAG_Bool(REGB0
)) {
3281 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 371);
3283 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3284 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3286 REGB1
= TAG_Bool(0);
3289 if (UNTAG_Bool(REGB0
)) {
3290 /* compiling/compiling_global.nit:372 */
3291 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3292 if (UNTAG_Bool(REGB0
)) {
3293 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 372);
3295 fra
.me
.REG
[2] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3296 /* compiling/compiling_global.nit:373 */
3298 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3299 if (!once_value_4
) {
3300 fra
.me
.REG
[4] = BOX_NativeString("struct TBOX_");
3301 REGB0
= TAG_Int(12);
3302 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3303 once_value_4
= fra
.me
.REG
[4];
3304 register_static_object(&once_value_4
);
3305 } else fra
.me
.REG
[4] = once_value_4
;
3306 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3308 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3309 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3310 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3311 if (!once_value_5
) {
3312 fra
.me
.REG
[4] = BOX_NativeString("");
3314 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3315 once_value_5
= fra
.me
.REG
[4];
3316 register_static_object(&once_value_5
);
3317 } else fra
.me
.REG
[4] = once_value_5
;
3318 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3320 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3321 /* compiling/compiling_global.nit:374 */
3323 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3324 if (!once_value_6
) {
3325 fra
.me
.REG
[5] = BOX_NativeString("");
3327 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3328 once_value_6
= fra
.me
.REG
[5];
3329 register_static_object(&once_value_6
);
3330 } else fra
.me
.REG
[5] = once_value_6
;
3331 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3334 if (!once_value_7
) {
3335 fra
.me
.REG
[5] = BOX_NativeString(" { const classtable_elt_t * vft; bigint object_id; ");
3336 REGB0
= TAG_Int(51);
3337 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3338 once_value_7
= fra
.me
.REG
[5];
3339 register_static_object(&once_value_7
);
3340 } else fra
.me
.REG
[5] = once_value_7
;
3341 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3343 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3344 if (!once_value_8
) {
3345 fra
.me
.REG
[5] = BOX_NativeString(" val;};");
3347 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3348 once_value_8
= fra
.me
.REG
[5];
3349 register_static_object(&once_value_8
);
3350 } else fra
.me
.REG
[5] = once_value_8
;
3351 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3353 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3354 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3355 /* compiling/compiling_global.nit:375 */
3357 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3358 if (!once_value_9
) {
3359 fra
.me
.REG
[5] = BOX_NativeString("val_t BOX_");
3360 REGB0
= TAG_Int(10);
3361 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3362 once_value_9
= fra
.me
.REG
[5];
3363 register_static_object(&once_value_9
);
3364 } else fra
.me
.REG
[5] = once_value_9
;
3365 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3367 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3368 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3370 if (!once_value_10
) {
3371 fra
.me
.REG
[5] = BOX_NativeString("(");
3373 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3374 once_value_10
= fra
.me
.REG
[5];
3375 register_static_object(&once_value_10
);
3376 } else fra
.me
.REG
[5] = once_value_10
;
3377 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3378 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3380 if (!once_value_11
) {
3381 fra
.me
.REG
[2] = BOX_NativeString(" val);");
3383 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3384 once_value_11
= fra
.me
.REG
[2];
3385 register_static_object(&once_value_11
);
3386 } else fra
.me
.REG
[2] = once_value_11
;
3387 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3388 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3389 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3390 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3391 /* compiling/compiling_global.nit:376 */
3393 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3394 if (!once_value_12
) {
3395 fra
.me
.REG
[2] = BOX_NativeString("#define UNBOX_");
3396 REGB0
= TAG_Int(14);
3397 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3398 once_value_12
= fra
.me
.REG
[2];
3399 register_static_object(&once_value_12
);
3400 } else fra
.me
.REG
[2] = once_value_12
;
3401 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3403 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3404 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3405 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3406 if (!once_value_13
) {
3407 fra
.me
.REG
[0] = BOX_NativeString("(x) (((");
3409 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3410 once_value_13
= fra
.me
.REG
[0];
3411 register_static_object(&once_value_13
);
3412 } else fra
.me
.REG
[0] = once_value_13
;
3413 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3415 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3416 if (!once_value_14
) {
3417 fra
.me
.REG
[3] = BOX_NativeString(" *)(VAL2OBJ(x)))->val)");
3418 REGB0
= TAG_Int(22);
3419 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3420 once_value_14
= fra
.me
.REG
[3];
3421 register_static_object(&once_value_14
);
3422 } else fra
.me
.REG
[3] = once_value_14
;
3423 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3425 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3426 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3428 stack_frame_head
= fra
.me
.prev
;
3431 static const char LOCATE_compiling___compiling_global___MMLocalClass___compile_tables_to_c
[] = "compiling_global::MMLocalClass::compile_tables_to_c";
3432 void compiling___compiling_global___MMLocalClass___compile_tables_to_c(val_t p0
, val_t p1
){
3433 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
3439 static val_t once_value_1
; /* Once value */
3440 static val_t once_value_2
; /* Once value */
3441 static val_t once_value_3
; /* Once value */
3442 static val_t once_value_4
; /* Once value */
3443 static val_t once_value_5
; /* Once value */
3444 static val_t once_value_6
; /* Once value */
3445 static val_t once_value_8
; /* Once value */
3446 static val_t once_value_9
; /* Once value */
3447 static val_t once_value_10
; /* Once value */
3448 static val_t once_value_12
; /* Once value */
3449 static val_t once_value_13
; /* Once value */
3450 static val_t once_value_14
; /* Once value */
3451 static val_t once_value_15
; /* Once value */
3452 static val_t once_value_16
; /* Once value */
3453 static val_t once_value_17
; /* Once value */
3454 static val_t once_value_18
; /* Once value */
3455 static val_t once_value_19
; /* Once value */
3456 static val_t once_value_20
; /* Once value */
3457 static val_t once_value_21
; /* Once value */
3458 static val_t once_value_22
; /* Once value */
3459 static val_t once_value_23
; /* Once value */
3460 static val_t once_value_24
; /* Once value */
3461 static val_t once_value_25
; /* Once value */
3462 static val_t once_value_26
; /* Once value */
3463 static val_t once_value_27
; /* Once value */
3464 static val_t once_value_28
; /* Once value */
3465 static val_t once_value_29
; /* Once value */
3466 static val_t once_value_30
; /* Once value */
3467 static val_t once_value_31
; /* Once value */
3468 static val_t once_value_32
; /* Once value */
3469 static val_t once_value_33
; /* Once value */
3470 static val_t once_value_34
; /* Once value */
3471 static val_t once_value_35
; /* Once value */
3472 static val_t once_value_36
; /* Once value */
3473 static val_t once_value_37
; /* Once value */
3474 static val_t once_value_38
; /* Once value */
3475 static val_t once_value_39
; /* Once value */
3476 static val_t once_value_40
; /* Once value */
3477 static val_t once_value_41
; /* Once value */
3478 static val_t once_value_42
; /* Once value */
3479 static val_t once_value_43
; /* Once value */
3480 static val_t once_value_44
; /* Once value */
3481 static val_t once_value_45
; /* Once value */
3482 static val_t once_value_46
; /* Once value */
3483 static val_t once_value_47
; /* Once value */
3484 static val_t once_value_48
; /* Once value */
3485 static val_t once_value_49
; /* Once value */
3486 static val_t once_value_50
; /* Once value */
3487 static val_t once_value_62
; /* Once value */
3488 static val_t once_value_63
; /* Once value */
3489 static val_t once_value_64
; /* Once value */
3490 static val_t once_value_65
; /* Once value */
3491 static val_t once_value_66
; /* Once value */
3492 static val_t once_value_67
; /* Once value */
3493 static val_t once_value_68
; /* Once value */
3494 static val_t once_value_69
; /* Once value */
3495 static val_t once_value_70
; /* Once value */
3496 static val_t once_value_71
; /* Once value */
3497 static val_t once_value_72
; /* Once value */
3498 static val_t once_value_73
; /* Once value */
3499 static val_t once_value_74
; /* Once value */
3500 static val_t once_value_75
; /* Once value */
3501 static val_t once_value_76
; /* Once value */
3502 static val_t once_value_77
; /* Once value */
3503 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3504 fra
.me
.file
= LOCATE_compiling___compiling_global
;
3506 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMLocalClass___compile_tables_to_c
;
3507 fra
.me
.has_broke
= 0;
3508 fra
.me
.REG_size
= 10;
3509 fra
.me
.nitni_local_ref_head
= NULL
;
3510 fra
.me
.REG
[0] = NIT_NULL
;
3511 fra
.me
.REG
[1] = NIT_NULL
;
3512 fra
.me
.REG
[2] = NIT_NULL
;
3513 fra
.me
.REG
[3] = NIT_NULL
;
3514 fra
.me
.REG
[4] = NIT_NULL
;
3515 fra
.me
.REG
[5] = NIT_NULL
;
3516 fra
.me
.REG
[6] = NIT_NULL
;
3517 fra
.me
.REG
[7] = NIT_NULL
;
3518 fra
.me
.REG
[8] = NIT_NULL
;
3519 fra
.me
.REG
[9] = NIT_NULL
;
3522 /* compiling/compiling_global.nit:380 */
3523 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3524 /* compiling/compiling_global.nit:383 */
3525 fra
.me
.REG
[3] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3526 fra
.me
.REG
[3] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3527 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3528 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3529 /* compiling/compiling_global.nit:384 */
3530 fra
.me
.REG
[3] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3531 /* ../lib/standard/collection/array.nit:24 */
3532 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3533 if (UNTAG_Bool(REGB0
)) {
3535 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3537 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3538 /* compiling/compiling_global.nit:386 */
3539 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3540 fra
.me
.REG
[5] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3541 REGB1
= CALL_compiling___table_computation___TableInformation___max_class_table_length(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3542 /* ../lib/standard/collection/array.nit:24 */
3543 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3544 if (UNTAG_Bool(REGB2
)) {
3546 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3548 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3549 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
3550 if (UNTAG_Bool(REGB3
)) {
3552 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3554 /* ../lib/standard/kernel.nit:237 */
3555 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
3556 /* compiling/compiling_global.nit:386 */
3557 if (UNTAG_Bool(REGB2
)) {
3558 /* compiling/compiling_global.nit:387 */
3559 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3560 fra
.me
.REG
[5] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3561 REGB2
= CALL_compiling___table_computation___TableInformation___max_class_table_length(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3564 /* compiling/compiling_global.nit:390 */
3566 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3567 if (!once_value_1
) {
3568 fra
.me
.REG
[6] = BOX_NativeString("const classtable_elt_t VFT_");
3569 REGB2
= TAG_Int(27);
3570 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3571 once_value_1
= fra
.me
.REG
[6];
3572 register_static_object(&once_value_1
);
3573 } else fra
.me
.REG
[6] = once_value_1
;
3574 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3575 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3576 fra
.me
.REG
[6] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3578 if (!once_value_2
) {
3579 fra
.me
.REG
[6] = BOX_NativeString("[");
3581 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3582 once_value_2
= fra
.me
.REG
[6];
3583 register_static_object(&once_value_2
);
3584 } else fra
.me
.REG
[6] = once_value_2
;
3585 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3587 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3588 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3589 if (!once_value_3
) {
3590 fra
.me
.REG
[6] = BOX_NativeString("] = {");
3592 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3593 once_value_3
= fra
.me
.REG
[6];
3594 register_static_object(&once_value_3
);
3595 } else fra
.me
.REG
[6] = once_value_3
;
3596 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3597 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3598 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3599 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3600 /* compiling/compiling_global.nit:391 */
3601 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3602 /* ../lib/standard/collection/array.nit:266 */
3603 fra
.me
.REG
[5] = fra
.me
.REG
[3];
3604 /* ../lib/standard/collection/array.nit:269 */
3606 /* ../lib/standard/collection/array.nit:270 */
3607 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
3608 if (UNTAG_Bool(REGB1
)) {
3610 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
3612 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
3613 /* ../lib/standard/collection/array.nit:271 */
3614 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
3615 /* ../lib/standard/collection/array.nit:272 */
3617 /* ../lib/standard/collection/array.nit:24 */
3618 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
3619 if (UNTAG_Bool(REGB1
)) {
3621 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3623 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
3624 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
3625 if (UNTAG_Bool(REGB3
)) {
3627 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3629 /* ../lib/standard/kernel.nit:235 */
3630 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
3631 /* ../lib/standard/collection/array.nit:272 */
3632 if (UNTAG_Bool(REGB1
)) {
3633 /* ../lib/standard/collection/array.nit:273 */
3634 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3635 if (UNTAG_Bool(REGB1
)) {
3636 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
3638 /* ../lib/standard/collection/array.nit:718 */
3639 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
3640 /* compiling/compiling_global.nit:393 */
3641 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3642 if (UNTAG_Bool(REGB1
)) {
3644 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3645 if (UNTAG_Bool(REGB3
)) {
3646 REGB3
= TAG_Bool(0);
3649 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
3653 if (UNTAG_Bool(REGB1
)) {
3654 /* compiling/compiling_global.nit:394 */
3655 if (!once_value_4
) {
3656 fra
.me
.REG
[8] = BOX_NativeString("{0} /* Class Hole :( */,");
3657 REGB1
= TAG_Int(24);
3658 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3659 once_value_4
= fra
.me
.REG
[8];
3660 register_static_object(&once_value_4
);
3661 } else fra
.me
.REG
[8] = once_value_4
;
3662 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3663 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
3665 /* compiling/compiling_global.nit:396 */
3667 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3668 if (!once_value_5
) {
3669 fra
.me
.REG
[9] = BOX_NativeString("{(bigint) ");
3670 REGB1
= TAG_Int(10);
3671 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
3672 once_value_5
= fra
.me
.REG
[9];
3673 register_static_object(&once_value_5
);
3674 } else fra
.me
.REG
[9] = once_value_5
;
3675 fra
.me
.REG
[9] = fra
.me
.REG
[9];
3676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3677 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3678 if (UNTAG_Bool(REGB1
)) {
3679 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 396);
3681 fra
.me
.REG
[7] = CALL_compiling___compiling_global___TableElt___compile_to_c(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[1], fra
.me
.REG
[2]);
3682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3683 if (!once_value_6
) {
3684 fra
.me
.REG
[7] = BOX_NativeString("},");
3686 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
3687 once_value_6
= fra
.me
.REG
[7];
3688 register_static_object(&once_value_6
);
3689 } else fra
.me
.REG
[7] = once_value_6
;
3690 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3692 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3693 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
3695 /* ../lib/standard/collection/array.nit:274 */
3697 /* ../lib/standard/kernel.nit:238 */
3698 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
3699 /* ../lib/standard/collection/array.nit:274 */
3702 /* ../lib/standard/collection/array.nit:272 */
3707 /* ../lib/standard/collection/array.nit:24 */
3708 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3709 if (UNTAG_Bool(REGB2
)) {
3711 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3713 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3714 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3715 if (UNTAG_Bool(REGB1
)) {
3717 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3719 /* ../lib/standard/kernel.nit:237 */
3720 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB2
));
3721 /* compiling/compiling_global.nit:399 */
3722 if (UNTAG_Bool(REGB2
)) {
3723 /* compiling/compiling_global.nit:400 */
3724 if (!once_value_8
) {
3725 fra
.me
.REG
[6] = BOX_NativeString("{0},");
3727 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3728 once_value_8
= fra
.me
.REG
[6];
3729 register_static_object(&once_value_8
);
3730 } else fra
.me
.REG
[6] = once_value_8
;
3731 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3732 /* ../lib/standard/collection/array.nit:24 */
3733 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3734 if (UNTAG_Bool(REGB2
)) {
3736 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3738 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3739 /* ../lib/standard/kernel.nit:240 */
3740 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
3741 /* compiling/compiling_global.nit:400 */
3742 fra
.me
.REG
[6] = CALL_standard___string___String_____star(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
3743 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3745 /* compiling/compiling_global.nit:402 */
3746 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3747 /* compiling/compiling_global.nit:403 */
3748 if (!once_value_9
) {
3749 fra
.me
.REG
[6] = BOX_NativeString("};");
3751 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3752 once_value_9
= fra
.me
.REG
[6];
3753 register_static_object(&once_value_9
);
3754 } else fra
.me
.REG
[6] = once_value_9
;
3755 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3756 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3757 /* compiling/compiling_global.nit:404 */
3758 fra
.me
.REG
[4] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3759 /* ../lib/standard/collection/array.nit:266 */
3760 fra
.me
.REG
[6] = fra
.me
.REG
[4];
3761 /* ../lib/standard/collection/array.nit:269 */
3763 /* ../lib/standard/collection/array.nit:270 */
3764 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
3765 if (UNTAG_Bool(REGB0
)) {
3767 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
3769 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
3770 /* ../lib/standard/collection/array.nit:271 */
3771 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
3772 /* ../lib/standard/collection/array.nit:272 */
3774 /* ../lib/standard/collection/array.nit:24 */
3775 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
3776 if (UNTAG_Bool(REGB0
)) {
3778 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3780 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
3781 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
3782 if (UNTAG_Bool(REGB1
)) {
3784 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3786 /* ../lib/standard/kernel.nit:235 */
3787 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
3788 /* ../lib/standard/collection/array.nit:272 */
3789 if (UNTAG_Bool(REGB0
)) {
3790 /* ../lib/standard/collection/array.nit:273 */
3791 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3792 if (UNTAG_Bool(REGB0
)) {
3793 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
3795 /* ../lib/standard/collection/array.nit:718 */
3796 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB2
)];
3797 /* compiling/compiling_global.nit:406 */
3798 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3799 if (UNTAG_Bool(REGB0
)) {
3801 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3802 if (UNTAG_Bool(REGB1
)) {
3803 REGB1
= TAG_Bool(0);
3806 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3810 if (UNTAG_Bool(REGB0
)) {
3811 /* compiling/compiling_global.nit:407 */
3812 if (!once_value_10
) {
3813 fra
.me
.REG
[8] = BOX_NativeString("/* Instance Hole :( */");
3814 REGB0
= TAG_Int(22);
3815 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3816 once_value_10
= fra
.me
.REG
[8];
3817 register_static_object(&once_value_10
);
3818 } else fra
.me
.REG
[8] = once_value_10
;
3819 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3820 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
3822 /* compiling/compiling_global.nit:409 */
3823 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3824 if (UNTAG_Bool(REGB0
)) {
3825 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 409);
3827 fra
.me
.REG
[5] = CALL_compiling___compiling_global___TableElt___compile_to_c(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[2]);
3828 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3830 /* ../lib/standard/collection/array.nit:274 */
3832 /* ../lib/standard/kernel.nit:238 */
3833 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
3834 /* ../lib/standard/collection/array.nit:274 */
3837 /* ../lib/standard/collection/array.nit:272 */
3842 /* compiling/compiling_global.nit:413 */
3843 fra
.me
.REG
[3] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3844 /* compiling/compiling_global.nit:414 */
3845 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3846 if (!once_value_12
) {
3847 fra
.me
.REG
[5] = BOX_NativeString("NativeArray");
3848 REGB2
= TAG_Int(11);
3849 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3850 once_value_12
= fra
.me
.REG
[5];
3851 register_static_object(&once_value_12
);
3852 } else fra
.me
.REG
[5] = once_value_12
;
3853 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3854 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3855 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[6],fra
.me
.REG
[5]));
3856 if (UNTAG_Bool(REGB2
)) {
3858 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3861 if (UNTAG_Bool(REGB2
)) {
3862 /* compiling/compiling_global.nit:415 */
3863 if (!once_value_13
) {
3864 fra
.me
.REG
[5] = BOX_NativeString("val_t NEW_NativeArray(size_t length, size_t size) {");
3865 REGB2
= TAG_Int(51);
3866 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3867 once_value_13
= fra
.me
.REG
[5];
3868 register_static_object(&once_value_13
);
3869 } else fra
.me
.REG
[5] = once_value_13
;
3870 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3871 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3872 /* compiling/compiling_global.nit:416 */
3873 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3874 /* compiling/compiling_global.nit:417 */
3875 if (!once_value_14
) {
3876 fra
.me
.REG
[5] = BOX_NativeString("Nit_NativeArray array;");
3877 REGB2
= TAG_Int(22);
3878 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3879 once_value_14
= fra
.me
.REG
[5];
3880 register_static_object(&once_value_14
);
3881 } else fra
.me
.REG
[5] = once_value_14
;
3882 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3883 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3884 /* compiling/compiling_global.nit:418 */
3885 if (!once_value_15
) {
3886 fra
.me
.REG
[5] = BOX_NativeString("array = (Nit_NativeArray)alloc(sizeof(struct Nit_NativeArray) + ((length - 1) * size));");
3887 REGB2
= TAG_Int(87);
3888 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3889 once_value_15
= fra
.me
.REG
[5];
3890 register_static_object(&once_value_15
);
3891 } else fra
.me
.REG
[5] = once_value_15
;
3892 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3893 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3894 /* compiling/compiling_global.nit:419 */
3896 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3897 if (!once_value_16
) {
3898 fra
.me
.REG
[6] = BOX_NativeString("array->vft = (classtable_elt_t*)VFT_");
3899 REGB2
= TAG_Int(36);
3900 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3901 once_value_16
= fra
.me
.REG
[6];
3902 register_static_object(&once_value_16
);
3903 } else fra
.me
.REG
[6] = once_value_16
;
3904 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3906 fra
.me
.REG
[6] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3908 if (!once_value_17
) {
3909 fra
.me
.REG
[6] = BOX_NativeString(";");
3911 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3912 once_value_17
= fra
.me
.REG
[6];
3913 register_static_object(&once_value_17
);
3914 } else fra
.me
.REG
[6] = once_value_17
;
3915 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3917 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3918 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3919 /* compiling/compiling_global.nit:420 */
3920 if (!once_value_18
) {
3921 fra
.me
.REG
[5] = BOX_NativeString("array->object_id = object_id_counter;");
3922 REGB2
= TAG_Int(37);
3923 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3924 once_value_18
= fra
.me
.REG
[5];
3925 register_static_object(&once_value_18
);
3926 } else fra
.me
.REG
[5] = once_value_18
;
3927 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3928 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3929 /* compiling/compiling_global.nit:421 */
3930 if (!once_value_19
) {
3931 fra
.me
.REG
[5] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
3932 REGB2
= TAG_Int(42);
3933 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3934 once_value_19
= fra
.me
.REG
[5];
3935 register_static_object(&once_value_19
);
3936 } else fra
.me
.REG
[5] = once_value_19
;
3937 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3938 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3939 /* compiling/compiling_global.nit:422 */
3940 if (!once_value_20
) {
3941 fra
.me
.REG
[5] = BOX_NativeString("array->size = length;");
3942 REGB2
= TAG_Int(21);
3943 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3944 once_value_20
= fra
.me
.REG
[5];
3945 register_static_object(&once_value_20
);
3946 } else fra
.me
.REG
[5] = once_value_20
;
3947 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3948 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3949 /* compiling/compiling_global.nit:423 */
3950 if (!once_value_21
) {
3951 fra
.me
.REG
[5] = BOX_NativeString("return OBJ2VAL(array);");
3952 REGB2
= TAG_Int(22);
3953 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3954 once_value_21
= fra
.me
.REG
[5];
3955 register_static_object(&once_value_21
);
3956 } else fra
.me
.REG
[5] = once_value_21
;
3957 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3958 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3959 /* compiling/compiling_global.nit:424 */
3960 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3961 /* compiling/compiling_global.nit:425 */
3962 if (!once_value_22
) {
3963 fra
.me
.REG
[5] = BOX_NativeString("}");
3965 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3966 once_value_22
= fra
.me
.REG
[5];
3967 register_static_object(&once_value_22
);
3968 } else fra
.me
.REG
[5] = once_value_22
;
3969 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3970 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3972 /* compiling/compiling_global.nit:426 */
3973 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3974 if (UNTAG_Bool(REGB2
)) {
3976 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3977 if (UNTAG_Bool(REGB0
)) {
3978 REGB0
= TAG_Bool(0);
3981 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3985 if (UNTAG_Bool(REGB2
)) {
3986 /* compiling/compiling_global.nit:429 */
3988 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3989 if (!once_value_23
) {
3990 fra
.me
.REG
[6] = BOX_NativeString("INIT_ATTRIBUTES__");
3991 REGB2
= TAG_Int(17);
3992 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3993 once_value_23
= fra
.me
.REG
[6];
3994 register_static_object(&once_value_23
);
3995 } else fra
.me
.REG
[6] = once_value_23
;
3996 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3998 fra
.me
.REG
[6] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3999 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4000 if (!once_value_24
) {
4001 fra
.me
.REG
[6] = BOX_NativeString("");
4003 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4004 once_value_24
= fra
.me
.REG
[6];
4005 register_static_object(&once_value_24
);
4006 } else fra
.me
.REG
[6] = once_value_24
;
4007 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4008 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4009 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4010 /* compiling/compiling_global.nit:430 */
4011 fra
.me
.REG
[6] = CALL_program___MMLocalClass___init_var_iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4013 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4014 if (!once_value_25
) {
4015 fra
.me
.REG
[7] = BOX_NativeString("init var of ");
4016 REGB2
= TAG_Int(12);
4017 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
4018 once_value_25
= fra
.me
.REG
[7];
4019 register_static_object(&once_value_25
);
4020 } else fra
.me
.REG
[7] = once_value_25
;
4021 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4023 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4024 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4026 if (!once_value_26
) {
4027 fra
.me
.REG
[7] = BOX_NativeString("");
4029 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
4030 once_value_26
= fra
.me
.REG
[7];
4031 register_static_object(&once_value_26
);
4032 } else fra
.me
.REG
[7] = once_value_26
;
4033 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4034 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4035 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4036 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4037 if (UNTAG_Bool(REGB2
)) {
4038 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 430);
4040 fra
.me
.REG
[8] = CALL_compiling___compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[8], NIT_NULL
, NIT_NULL
);
4041 /* compiling/compiling_global.nit:431 */
4042 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4043 /* compiling/compiling_global.nit:432 */
4044 fra
.me
.REG
[7] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4045 fra
.me
.REG
[7] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4046 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4047 /* compiling/compiling_global.nit:433 */
4048 fra
.me
.REG
[7] = CALL_program___MMLocalClass___init_var_iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4049 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
4050 if (UNTAG_Bool(REGB2
)) {
4051 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 433);
4053 CALL_compiling___compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[8]);
4054 /* compiling/compiling_global.nit:434 */
4055 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4056 /* compiling/compiling_global.nit:435 */
4057 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4058 /* compiling/compiling_global.nit:436 */
4059 if (!once_value_27
) {
4060 fra
.me
.REG
[6] = BOX_NativeString("}");
4062 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4063 once_value_27
= fra
.me
.REG
[6];
4064 register_static_object(&once_value_27
);
4065 } else fra
.me
.REG
[6] = once_value_27
;
4066 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4067 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4068 /* compiling/compiling_global.nit:440 */
4070 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4071 if (!once_value_28
) {
4072 fra
.me
.REG
[8] = BOX_NativeString("val_t NEW_");
4073 REGB2
= TAG_Int(10);
4074 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4075 once_value_28
= fra
.me
.REG
[8];
4076 register_static_object(&once_value_28
);
4077 } else fra
.me
.REG
[8] = once_value_28
;
4078 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4080 fra
.me
.REG
[8] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4082 if (!once_value_29
) {
4083 fra
.me
.REG
[8] = BOX_NativeString("(void);");
4085 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4086 once_value_29
= fra
.me
.REG
[8];
4087 register_static_object(&once_value_29
);
4088 } else fra
.me
.REG
[8] = once_value_29
;
4089 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4090 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4091 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4092 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4093 /* compiling/compiling_global.nit:441 */
4095 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4096 if (!once_value_30
) {
4097 fra
.me
.REG
[8] = BOX_NativeString("val_t NEW_");
4098 REGB2
= TAG_Int(10);
4099 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4100 once_value_30
= fra
.me
.REG
[8];
4101 register_static_object(&once_value_30
);
4102 } else fra
.me
.REG
[8] = once_value_30
;
4103 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4105 fra
.me
.REG
[8] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4107 if (!once_value_31
) {
4108 fra
.me
.REG
[8] = BOX_NativeString("(void)");
4110 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4111 once_value_31
= fra
.me
.REG
[8];
4112 register_static_object(&once_value_31
);
4113 } else fra
.me
.REG
[8] = once_value_31
;
4114 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4115 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4116 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4117 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4118 /* compiling/compiling_global.nit:442 */
4119 if (!once_value_32
) {
4120 fra
.me
.REG
[6] = BOX_NativeString("{");
4122 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4123 once_value_32
= fra
.me
.REG
[6];
4124 register_static_object(&once_value_32
);
4125 } else fra
.me
.REG
[6] = once_value_32
;
4126 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4127 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4128 /* compiling/compiling_global.nit:443 */
4129 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4130 /* compiling/compiling_global.nit:444 */
4131 if (!once_value_33
) {
4132 fra
.me
.REG
[6] = BOX_NativeString("obj_t obj;");
4133 REGB2
= TAG_Int(10);
4134 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4135 once_value_33
= fra
.me
.REG
[6];
4136 register_static_object(&once_value_33
);
4137 } else fra
.me
.REG
[6] = once_value_33
;
4138 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4139 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4140 /* compiling/compiling_global.nit:445 */
4142 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4143 if (!once_value_34
) {
4144 fra
.me
.REG
[8] = BOX_NativeString("obj = alloc(sizeof(val_t) * ");
4145 REGB2
= TAG_Int(28);
4146 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4147 once_value_34
= fra
.me
.REG
[8];
4148 register_static_object(&once_value_34
);
4149 } else fra
.me
.REG
[8] = once_value_34
;
4150 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4152 /* ../lib/standard/collection/array.nit:24 */
4153 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4154 if (UNTAG_Bool(REGB2
)) {
4156 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4158 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4159 /* compiling/compiling_global.nit:445 */
4160 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4162 if (!once_value_35
) {
4163 fra
.me
.REG
[4] = BOX_NativeString(");");
4165 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4166 once_value_35
= fra
.me
.REG
[4];
4167 register_static_object(&once_value_35
);
4168 } else fra
.me
.REG
[4] = once_value_35
;
4169 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4170 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4171 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4172 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4173 /* compiling/compiling_global.nit:446 */
4175 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4176 if (!once_value_36
) {
4177 fra
.me
.REG
[4] = BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_");
4178 REGB2
= TAG_Int(34);
4179 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4180 once_value_36
= fra
.me
.REG
[4];
4181 register_static_object(&once_value_36
);
4182 } else fra
.me
.REG
[4] = once_value_36
;
4183 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4185 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4187 if (!once_value_37
) {
4188 fra
.me
.REG
[4] = BOX_NativeString(";");
4190 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4191 once_value_37
= fra
.me
.REG
[4];
4192 register_static_object(&once_value_37
);
4193 } else fra
.me
.REG
[4] = once_value_37
;
4194 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4196 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4197 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4198 /* compiling/compiling_global.nit:447 */
4199 if (!once_value_38
) {
4200 fra
.me
.REG
[6] = BOX_NativeString("obj[1].object_id = object_id_counter;");
4201 REGB2
= TAG_Int(37);
4202 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4203 once_value_38
= fra
.me
.REG
[6];
4204 register_static_object(&once_value_38
);
4205 } else fra
.me
.REG
[6] = once_value_38
;
4206 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4207 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4208 /* compiling/compiling_global.nit:448 */
4209 if (!once_value_39
) {
4210 fra
.me
.REG
[6] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
4211 REGB2
= TAG_Int(42);
4212 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4213 once_value_39
= fra
.me
.REG
[6];
4214 register_static_object(&once_value_39
);
4215 } else fra
.me
.REG
[6] = once_value_39
;
4216 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4217 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4218 /* compiling/compiling_global.nit:449 */
4219 if (!once_value_40
) {
4220 fra
.me
.REG
[6] = BOX_NativeString("return OBJ2VAL(obj);");
4221 REGB2
= TAG_Int(20);
4222 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4223 once_value_40
= fra
.me
.REG
[6];
4224 register_static_object(&once_value_40
);
4225 } else fra
.me
.REG
[6] = once_value_40
;
4226 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4227 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4228 /* compiling/compiling_global.nit:450 */
4229 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4230 /* compiling/compiling_global.nit:451 */
4231 if (!once_value_41
) {
4232 fra
.me
.REG
[6] = BOX_NativeString("}");
4234 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4235 once_value_41
= fra
.me
.REG
[6];
4236 register_static_object(&once_value_41
);
4237 } else fra
.me
.REG
[6] = once_value_41
;
4238 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4239 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4240 /* compiling/compiling_global.nit:455 */
4242 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4243 if (!once_value_42
) {
4244 fra
.me
.REG
[4] = BOX_NativeString("CHECKNEW_");
4246 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4247 once_value_42
= fra
.me
.REG
[4];
4248 register_static_object(&once_value_42
);
4249 } else fra
.me
.REG
[4] = once_value_42
;
4250 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4252 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4253 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4254 if (!once_value_43
) {
4255 fra
.me
.REG
[4] = BOX_NativeString("");
4257 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4258 once_value_43
= fra
.me
.REG
[4];
4259 register_static_object(&once_value_43
);
4260 } else fra
.me
.REG
[4] = once_value_43
;
4261 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4263 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4264 /* compiling/compiling_global.nit:456 */
4265 fra
.me
.REG
[4] = CALL_program___MMLocalClass___checknew_iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4267 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4268 if (!once_value_44
) {
4269 fra
.me
.REG
[5] = BOX_NativeString("check new ");
4270 REGB2
= TAG_Int(10);
4271 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
4272 once_value_44
= fra
.me
.REG
[5];
4273 register_static_object(&once_value_44
);
4274 } else fra
.me
.REG
[5] = once_value_44
;
4275 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
4277 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4278 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
4280 if (!once_value_45
) {
4281 fra
.me
.REG
[5] = BOX_NativeString("");
4283 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
4284 once_value_45
= fra
.me
.REG
[5];
4285 register_static_object(&once_value_45
);
4286 } else fra
.me
.REG
[5] = once_value_45
;
4287 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4288 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
4289 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4290 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4291 if (UNTAG_Bool(REGB2
)) {
4292 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 456);
4294 fra
.me
.REG
[8] = CALL_compiling___compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[6], fra
.me
.REG
[8], NIT_NULL
, NIT_NULL
);
4295 /* compiling/compiling_global.nit:457 */
4296 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4297 /* compiling/compiling_global.nit:458 */
4298 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4299 fra
.me
.REG
[5] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4300 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4301 /* compiling/compiling_global.nit:459 */
4302 fra
.me
.REG
[5] = CALL_program___MMLocalClass___checknew_iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4303 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4304 if (UNTAG_Bool(REGB2
)) {
4305 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 459);
4307 CALL_compiling___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
[8]);
4308 /* compiling/compiling_global.nit:460 */
4309 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4310 /* compiling/compiling_global.nit:461 */
4311 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4312 /* compiling/compiling_global.nit:462 */
4313 if (!once_value_46
) {
4314 fra
.me
.REG
[4] = BOX_NativeString("}");
4316 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4317 once_value_46
= fra
.me
.REG
[4];
4318 register_static_object(&once_value_46
);
4319 } else fra
.me
.REG
[4] = once_value_46
;
4320 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4321 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4322 /* compiling/compiling_global.nit:465 */
4323 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4324 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4325 REGB2
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4327 /* ../lib/standard/kernel.nit:238 */
4328 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
4329 /* compiling/compiling_global.nit:466 */
4331 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4332 if (!once_value_47
) {
4333 fra
.me
.REG
[8] = BOX_NativeString("int init_table[");
4334 REGB2
= TAG_Int(15);
4335 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4336 once_value_47
= fra
.me
.REG
[8];
4337 register_static_object(&once_value_47
);
4338 } else fra
.me
.REG
[8] = once_value_47
;
4339 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4340 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4341 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
4342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4343 if (!once_value_48
) {
4344 fra
.me
.REG
[8] = BOX_NativeString("] = {0");
4346 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4347 once_value_48
= fra
.me
.REG
[8];
4348 register_static_object(&once_value_48
);
4349 } else fra
.me
.REG
[8] = once_value_48
;
4350 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4352 if (!once_value_49
) {
4353 fra
.me
.REG
[8] = BOX_NativeString(", 0");
4355 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4356 once_value_49
= fra
.me
.REG
[8];
4357 register_static_object(&once_value_49
);
4358 } else fra
.me
.REG
[8] = once_value_49
;
4359 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4361 /* ../lib/standard/kernel.nit:240 */
4362 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
4363 /* compiling/compiling_global.nit:466 */
4364 fra
.me
.REG
[8] = CALL_standard___string___String_____star(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
4365 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4366 if (!once_value_50
) {
4367 fra
.me
.REG
[8] = BOX_NativeString("};");
4369 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4370 once_value_50
= fra
.me
.REG
[8];
4371 register_static_object(&once_value_50
);
4372 } else fra
.me
.REG
[8] = once_value_50
;
4373 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4375 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4376 /* compiling/compiling_global.nit:468 */
4377 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4378 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[8])(fra
.me
.REG
[8], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_global___MMLocalClass___compile_tables_to_c_51
));
4380 /* compiling/compiling_global.nit:485 */
4381 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4382 if (UNTAG_Bool(REGB2
)) {
4383 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 485);
4385 REGB2
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4386 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4387 if (UNTAG_Bool(REGB2
)) {
4388 /* compiling/compiling_global.nit:486 */
4389 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4390 if (UNTAG_Bool(REGB2
)) {
4391 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 486);
4393 fra
.me
.REG
[3] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4394 /* compiling/compiling_global.nit:487 */
4396 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4397 if (!once_value_62
) {
4398 fra
.me
.REG
[4] = BOX_NativeString("struct TBOX_");
4399 REGB2
= TAG_Int(12);
4400 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4401 once_value_62
= fra
.me
.REG
[4];
4402 register_static_object(&once_value_62
);
4403 } else fra
.me
.REG
[4] = once_value_62
;
4404 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4405 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4406 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4407 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4409 if (!once_value_63
) {
4410 fra
.me
.REG
[4] = BOX_NativeString("");
4412 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4413 once_value_63
= fra
.me
.REG
[4];
4414 register_static_object(&once_value_63
);
4415 } else fra
.me
.REG
[4] = once_value_63
;
4416 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4418 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4419 /* compiling/compiling_global.nit:488 */
4421 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4422 if (!once_value_64
) {
4423 fra
.me
.REG
[8] = BOX_NativeString("val_t BOX_");
4424 REGB2
= TAG_Int(10);
4425 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4426 once_value_64
= fra
.me
.REG
[8];
4427 register_static_object(&once_value_64
);
4428 } else fra
.me
.REG
[8] = once_value_64
;
4429 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4430 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4431 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4432 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4433 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4434 if (!once_value_65
) {
4435 fra
.me
.REG
[8] = BOX_NativeString("(");
4437 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4438 once_value_65
= fra
.me
.REG
[8];
4439 register_static_object(&once_value_65
);
4440 } else fra
.me
.REG
[8] = once_value_65
;
4441 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4443 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4444 if (!once_value_66
) {
4445 fra
.me
.REG
[3] = BOX_NativeString(" val) {");
4447 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
4448 once_value_66
= fra
.me
.REG
[3];
4449 register_static_object(&once_value_66
);
4450 } else fra
.me
.REG
[3] = once_value_66
;
4451 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4453 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4454 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4455 /* compiling/compiling_global.nit:489 */
4456 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4457 /* compiling/compiling_global.nit:490 */
4459 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4460 if (!once_value_67
) {
4461 fra
.me
.REG
[3] = BOX_NativeString("");
4463 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
4464 once_value_67
= fra
.me
.REG
[3];
4465 register_static_object(&once_value_67
);
4466 } else fra
.me
.REG
[3] = once_value_67
;
4467 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4468 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4469 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4470 if (!once_value_68
) {
4471 fra
.me
.REG
[3] = BOX_NativeString(" *box = (");
4473 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
4474 once_value_68
= fra
.me
.REG
[3];
4475 register_static_object(&once_value_68
);
4476 } else fra
.me
.REG
[3] = once_value_68
;
4477 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4478 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4480 if (!once_value_69
) {
4481 fra
.me
.REG
[3] = BOX_NativeString("*)alloc(sizeof(");
4482 REGB2
= TAG_Int(15);
4483 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
4484 once_value_69
= fra
.me
.REG
[3];
4485 register_static_object(&once_value_69
);
4486 } else fra
.me
.REG
[3] = once_value_69
;
4487 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4488 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4490 if (!once_value_70
) {
4491 fra
.me
.REG
[0] = BOX_NativeString("));");
4493 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
4494 once_value_70
= fra
.me
.REG
[0];
4495 register_static_object(&once_value_70
);
4496 } else fra
.me
.REG
[0] = once_value_70
;
4497 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4499 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4500 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4501 /* compiling/compiling_global.nit:491 */
4503 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4504 if (!once_value_71
) {
4505 fra
.me
.REG
[0] = BOX_NativeString("box->vft = VFT_");
4506 REGB2
= TAG_Int(15);
4507 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
4508 once_value_71
= fra
.me
.REG
[0];
4509 register_static_object(&once_value_71
);
4510 } else fra
.me
.REG
[0] = once_value_71
;
4511 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4513 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4515 if (!once_value_72
) {
4516 fra
.me
.REG
[2] = BOX_NativeString(";");
4518 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
4519 once_value_72
= fra
.me
.REG
[2];
4520 register_static_object(&once_value_72
);
4521 } else fra
.me
.REG
[2] = once_value_72
;
4522 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4524 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4525 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4526 /* compiling/compiling_global.nit:492 */
4527 if (!once_value_73
) {
4528 fra
.me
.REG
[4] = BOX_NativeString("box->val = val;");
4529 REGB2
= TAG_Int(15);
4530 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4531 once_value_73
= fra
.me
.REG
[4];
4532 register_static_object(&once_value_73
);
4533 } else fra
.me
.REG
[4] = once_value_73
;
4534 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4535 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4536 /* compiling/compiling_global.nit:493 */
4537 if (!once_value_74
) {
4538 fra
.me
.REG
[4] = BOX_NativeString("box->object_id = object_id_counter;");
4539 REGB2
= TAG_Int(35);
4540 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4541 once_value_74
= fra
.me
.REG
[4];
4542 register_static_object(&once_value_74
);
4543 } else fra
.me
.REG
[4] = once_value_74
;
4544 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4545 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4546 /* compiling/compiling_global.nit:494 */
4547 if (!once_value_75
) {
4548 fra
.me
.REG
[4] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
4549 REGB2
= TAG_Int(42);
4550 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4551 once_value_75
= fra
.me
.REG
[4];
4552 register_static_object(&once_value_75
);
4553 } else fra
.me
.REG
[4] = once_value_75
;
4554 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4555 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4556 /* compiling/compiling_global.nit:495 */
4557 if (!once_value_76
) {
4558 fra
.me
.REG
[4] = BOX_NativeString("return OBJ2VAL(box);");
4559 REGB2
= TAG_Int(20);
4560 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4561 once_value_76
= fra
.me
.REG
[4];
4562 register_static_object(&once_value_76
);
4563 } else fra
.me
.REG
[4] = once_value_76
;
4564 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4565 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4566 /* compiling/compiling_global.nit:496 */
4567 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4568 /* compiling/compiling_global.nit:497 */
4569 if (!once_value_77
) {
4570 fra
.me
.REG
[4] = BOX_NativeString("}");
4572 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4573 once_value_77
= fra
.me
.REG
[4];
4574 register_static_object(&once_value_77
);
4575 } else fra
.me
.REG
[4] = once_value_77
;
4576 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4577 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4581 stack_frame_head
= fra
.me
.prev
;
4584 void OC_compiling___compiling_global___MMLocalClass___compile_tables_to_c_51(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
4585 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4589 static val_t once_value_53
; /* Once value */
4590 static val_t once_value_54
; /* Once value */
4591 static val_t once_value_55
; /* Once value */
4592 static val_t once_value_56
; /* Once value */
4593 static val_t once_value_57
; /* Once value */
4594 static val_t once_value_58
; /* Once value */
4595 static val_t once_value_59
; /* Once value */
4596 static val_t once_value_60
; /* Once value */
4597 static val_t once_value_61
; /* Once value */
4598 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4599 fra
.me
.file
= LOCATE_compiling___compiling_global
;
4601 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMLocalClass___compile_tables_to_c
;
4602 fra
.me
.has_broke
= 0;
4603 fra
.me
.REG_size
= 5;
4604 fra
.me
.nitni_local_ref_head
= NULL
;
4605 fra
.me
.REG
[0] = NIT_NULL
;
4606 fra
.me
.REG
[1] = NIT_NULL
;
4607 fra
.me
.REG
[2] = NIT_NULL
;
4608 fra
.me
.REG
[3] = NIT_NULL
;
4609 fra
.me
.REG
[4] = NIT_NULL
;
4610 fra
.me
.closure_ctx
= closctx_param
;
4611 fra
.me
.closure_funs
= CREG
;
4613 CREG
[0] = clos_fun0
;
4614 /* compiling/compiling_global.nit:469 */
4615 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
4616 /* compiling/compiling_global.nit:471 */
4617 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4618 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[2]);
4619 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4620 if (UNTAG_Bool(REGB0
)) {
4623 /* compiling/compiling_global.nit:472 */
4624 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
4625 if (UNTAG_Bool(REGB0
)) {
4627 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_global
, 472);
4629 /* compiling/compiling_global.nit:474 */
4631 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4632 if (!once_value_53
) {
4633 fra
.me
.REG
[2] = BOX_NativeString("NEW_");
4635 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4636 once_value_53
= fra
.me
.REG
[2];
4637 register_static_object(&once_value_53
);
4638 } else fra
.me
.REG
[2] = once_value_53
;
4639 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4640 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4641 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(closctx
->REG
[2])(closctx
->REG
[2]);
4642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4643 if (!once_value_54
) {
4644 fra
.me
.REG
[2] = BOX_NativeString("_");
4646 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4647 once_value_54
= fra
.me
.REG
[2];
4648 register_static_object(&once_value_54
);
4649 } else fra
.me
.REG
[2] = once_value_54
;
4650 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4652 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4653 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4654 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4656 if (!once_value_55
) {
4657 fra
.me
.REG
[2] = BOX_NativeString("");
4659 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4660 once_value_55
= fra
.me
.REG
[2];
4661 register_static_object(&once_value_55
);
4662 } else fra
.me
.REG
[2] = once_value_55
;
4663 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4665 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4666 /* compiling/compiling_global.nit:475 */
4667 fra
.me
.REG
[2] = CALL_program___MMLocalClass___new_instance_iroutine(closctx
->REG
[2])(closctx
->REG
[2]);
4668 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4670 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4671 if (!once_value_56
) {
4672 fra
.me
.REG
[4] = BOX_NativeString("new ");
4674 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4675 once_value_56
= fra
.me
.REG
[4];
4676 register_static_object(&once_value_56
);
4677 } else fra
.me
.REG
[4] = once_value_56
;
4678 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4680 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(closctx
->REG
[2])(closctx
->REG
[2]);
4681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4682 if (!once_value_57
) {
4683 fra
.me
.REG
[4] = BOX_NativeString(" ");
4685 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4686 once_value_57
= fra
.me
.REG
[4];
4687 register_static_object(&once_value_57
);
4688 } else fra
.me
.REG
[4] = once_value_57
;
4689 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4690 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4691 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4692 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4693 if (!once_value_58
) {
4694 fra
.me
.REG
[4] = BOX_NativeString("");
4696 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4697 once_value_58
= fra
.me
.REG
[4];
4698 register_static_object(&once_value_58
);
4699 } else fra
.me
.REG
[4] = once_value_58
;
4700 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4702 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4703 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4704 if (UNTAG_Bool(REGB0
)) {
4705 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 475);
4707 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[2])(fra
.me
.REG
[2], closctx
->REG
[1], fra
.me
.REG
[1], fra
.me
.REG
[3], NIT_NULL
, NIT_NULL
);
4708 /* compiling/compiling_global.nit:476 */
4709 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(closctx
->REG
[1])(closctx
->REG
[1]);
4710 /* compiling/compiling_global.nit:477 */
4711 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___writer(closctx
->REG
[1])(closctx
->REG
[1]);
4712 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4713 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[4]);
4714 /* compiling/compiling_global.nit:478 */
4715 CALL_compiling___compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], closctx
->REG
[4]);
4716 /* compiling/compiling_global.nit:479 */
4717 fra
.me
.REG
[4] = CALL_program___MMLocalClass___new_instance_iroutine(closctx
->REG
[2])(closctx
->REG
[2]);
4718 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4719 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4720 if (UNTAG_Bool(REGB0
)) {
4721 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 479);
4723 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___IRoutine___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], fra
.me
.REG
[1], fra
.me
.REG
[3]);
4724 REGB0
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_standard___string___String
, ID_standard___string___String
)) /*cast String*/;
4725 if (UNTAG_Bool(REGB0
)) {
4727 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_global
, 479);
4729 /* compiling/compiling_global.nit:480 */
4731 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4732 if (!once_value_59
) {
4733 fra
.me
.REG
[0] = BOX_NativeString("return ");
4735 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4736 once_value_59
= fra
.me
.REG
[0];
4737 register_static_object(&once_value_59
);
4738 } else fra
.me
.REG
[0] = once_value_59
;
4739 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4742 if (!once_value_60
) {
4743 fra
.me
.REG
[3] = BOX_NativeString(";");
4745 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4746 once_value_60
= fra
.me
.REG
[3];
4747 register_static_object(&once_value_60
);
4748 } else fra
.me
.REG
[3] = once_value_60
;
4749 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4751 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4752 CALL_compiling___compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
4753 /* compiling/compiling_global.nit:481 */
4754 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
4755 /* compiling/compiling_global.nit:482 */
4756 CALL_compiling___compiling_base___CompilerVisitor___unindent(closctx
->REG
[1])(closctx
->REG
[1]);
4757 /* compiling/compiling_global.nit:483 */
4758 if (!once_value_61
) {
4759 fra
.me
.REG
[2] = BOX_NativeString("}");
4761 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4762 once_value_61
= fra
.me
.REG
[2];
4763 register_static_object(&once_value_61
);
4764 } else fra
.me
.REG
[2] = once_value_61
;
4765 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4766 CALL_compiling___compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
4768 stack_frame_head
= fra
.me
.prev
;
4771 static const char LOCATE_compiling___compiling_global___MMMethod___compile_property_to_c
[] = "compiling_global::MMMethod::compile_property_to_c";
4772 void compiling___compiling_global___MMMethod___compile_property_to_c(val_t p0
, val_t p1
){
4773 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
4777 static val_t once_value_1
; /* Once value */
4778 static val_t once_value_2
; /* Once value */
4779 static val_t once_value_3
; /* Once value */
4780 static val_t once_value_4
; /* Once value */
4781 static val_t once_value_5
; /* Once value */
4782 static val_t once_value_6
; /* Once value */
4783 static val_t once_value_7
; /* Once value */
4784 static val_t once_value_8
; /* Once value */
4785 static val_t once_value_9
; /* Once value */
4786 static val_t once_value_10
; /* Once value */
4787 static val_t once_value_11
; /* Once value */
4788 static val_t once_value_12
; /* Once value */
4789 static val_t once_value_13
; /* Once value */
4790 static val_t once_value_14
; /* Once value */
4791 static val_t once_value_15
; /* Once value */
4792 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4793 fra
.me
.file
= LOCATE_compiling___compiling_global
;
4795 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMMethod___compile_property_to_c
;
4796 fra
.me
.has_broke
= 0;
4797 fra
.me
.REG_size
= 9;
4798 fra
.me
.nitni_local_ref_head
= NULL
;
4799 fra
.me
.REG
[0] = NIT_NULL
;
4800 fra
.me
.REG
[1] = NIT_NULL
;
4801 fra
.me
.REG
[2] = NIT_NULL
;
4802 fra
.me
.REG
[3] = NIT_NULL
;
4803 fra
.me
.REG
[4] = NIT_NULL
;
4804 fra
.me
.REG
[5] = NIT_NULL
;
4805 fra
.me
.REG
[6] = NIT_NULL
;
4806 fra
.me
.REG
[7] = NIT_NULL
;
4807 fra
.me
.REG
[8] = NIT_NULL
;
4810 /* compiling/compiling_global.nit:505 */
4811 fra
.me
.REG
[2] = CALL_icode___icode_base___MMMethod___iroutine(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4812 /* compiling/compiling_global.nit:506 */
4813 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4814 if (UNTAG_Bool(REGB0
)) {
4816 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4817 if (UNTAG_Bool(REGB1
)) {
4818 REGB1
= TAG_Bool(0);
4821 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4825 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4826 if (UNTAG_Bool(REGB0
)) {
4828 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_global
, 506);
4830 /* compiling/compiling_global.nit:508 */
4831 fra
.me
.REG
[3] = NIT_NULL
;
4832 /* compiling/compiling_global.nit:509 */
4833 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4834 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4835 if (UNTAG_Bool(REGB0
)) {
4836 if (!once_value_1
) {
4837 fra
.me
.REG
[4] = BOX_NativeString("int* init_table");
4838 REGB0
= TAG_Int(15);
4839 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4840 once_value_1
= fra
.me
.REG
[4];
4841 register_static_object(&once_value_1
);
4842 } else fra
.me
.REG
[4] = once_value_1
;
4843 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4844 fra
.me
.REG
[3] = fra
.me
.REG
[4];
4846 /* compiling/compiling_global.nit:510 */
4847 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4848 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4849 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4850 if (UNTAG_Bool(REGB0
)) {
4851 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 510);
4853 fra
.me
.REG
[3] = CALL_compiling___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]);
4854 /* compiling/compiling_global.nit:511 */
4855 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4856 /* compiling/compiling_global.nit:512 */
4857 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4858 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4859 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4860 /* compiling/compiling_global.nit:513 */
4861 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4862 /* compiling/compiling_global.nit:514 */
4863 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4864 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4865 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4866 /* compiling/compiling_global.nit:516 */
4867 fra
.me
.REG
[6] = NIT_NULL
;
4868 /* compiling/compiling_global.nit:517 */
4869 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4870 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4871 if (UNTAG_Bool(REGB0
)) {
4872 /* compiling/compiling_global.nit:518 */
4874 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4875 if (!once_value_2
) {
4876 fra
.me
.REG
[8] = BOX_NativeString("itpos");
4878 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4879 once_value_2
= fra
.me
.REG
[8];
4880 register_static_object(&once_value_2
);
4881 } else fra
.me
.REG
[8] = once_value_2
;
4882 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4884 REGB0
= CALL_compiling___compiling_base___CompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4885 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
4886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4887 if (!once_value_3
) {
4888 fra
.me
.REG
[8] = BOX_NativeString("");
4890 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4891 once_value_3
= fra
.me
.REG
[8];
4892 register_static_object(&once_value_3
);
4893 } else fra
.me
.REG
[8] = once_value_3
;
4894 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4896 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4897 fra
.me
.REG
[6] = fra
.me
.REG
[7];
4898 /* compiling/compiling_global.nit:519 */
4900 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4901 if (!once_value_4
) {
4902 fra
.me
.REG
[8] = BOX_NativeString("int ");
4904 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4905 once_value_4
= fra
.me
.REG
[8];
4906 register_static_object(&once_value_4
);
4907 } else fra
.me
.REG
[8] = once_value_4
;
4908 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4910 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4911 if (!once_value_5
) {
4912 fra
.me
.REG
[8] = BOX_NativeString(" = VAL2OBJ(");
4913 REGB0
= TAG_Int(11);
4914 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4915 once_value_5
= fra
.me
.REG
[8];
4916 register_static_object(&once_value_5
);
4917 } else fra
.me
.REG
[8] = once_value_5
;
4918 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4920 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4922 if (!once_value_6
) {
4923 fra
.me
.REG
[8] = BOX_NativeString(")->vft[");
4925 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4926 once_value_6
= fra
.me
.REG
[8];
4927 register_static_object(&once_value_6
);
4928 } else fra
.me
.REG
[8] = once_value_6
;
4929 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4930 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4931 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4932 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4933 fra
.me
.REG
[8] = CALL_compiling___compiling_base___MMGlobalClass___init_table_pos_id(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4935 if (!once_value_7
) {
4936 fra
.me
.REG
[8] = BOX_NativeString("].i;");
4938 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4939 once_value_7
= fra
.me
.REG
[8];
4940 register_static_object(&once_value_7
);
4941 } else fra
.me
.REG
[8] = once_value_7
;
4942 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4944 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4945 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4946 /* compiling/compiling_global.nit:520 */
4948 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4949 if (!once_value_8
) {
4950 fra
.me
.REG
[8] = BOX_NativeString("if (init_table[");
4951 REGB0
= TAG_Int(15);
4952 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4953 once_value_8
= fra
.me
.REG
[8];
4954 register_static_object(&once_value_8
);
4955 } else fra
.me
.REG
[8] = once_value_8
;
4956 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4959 if (!once_value_9
) {
4960 fra
.me
.REG
[8] = BOX_NativeString("]) return;");
4961 REGB0
= TAG_Int(10);
4962 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4963 once_value_9
= fra
.me
.REG
[8];
4964 register_static_object(&once_value_9
);
4965 } else fra
.me
.REG
[8] = once_value_9
;
4966 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4968 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4969 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4971 /* compiling/compiling_global.nit:523 */
4972 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4973 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4974 if (UNTAG_Bool(REGB0
)) {
4975 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 523);
4977 fra
.me
.REG
[3] = CALL_compiling___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]);
4978 /* compiling/compiling_global.nit:525 */
4979 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4980 if (UNTAG_Bool(REGB0
)) {
4982 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4983 if (UNTAG_Bool(REGB1
)) {
4984 REGB1
= TAG_Bool(0);
4987 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
4991 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4992 if (UNTAG_Bool(REGB0
)) {
4993 /* compiling/compiling_global.nit:526 */
4995 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4996 if (!once_value_10
) {
4997 fra
.me
.REG
[2] = BOX_NativeString("init_table[");
4998 REGB0
= TAG_Int(11);
4999 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
5000 once_value_10
= fra
.me
.REG
[2];
5001 register_static_object(&once_value_10
);
5002 } else fra
.me
.REG
[2] = once_value_10
;
5003 fra
.me
.REG
[2] = fra
.me
.REG
[2];
5004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
5005 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
5006 if (!once_value_11
) {
5007 fra
.me
.REG
[6] = BOX_NativeString("] = 1;");
5009 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5010 once_value_11
= fra
.me
.REG
[6];
5011 register_static_object(&once_value_11
);
5012 } else fra
.me
.REG
[6] = once_value_11
;
5013 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
5015 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5016 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5018 /* compiling/compiling_global.nit:528 */
5019 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5020 if (UNTAG_Bool(REGB0
)) {
5022 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5023 if (UNTAG_Bool(REGB1
)) {
5024 REGB1
= TAG_Bool(0);
5027 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
5031 if (UNTAG_Bool(REGB0
)) {
5032 /* compiling/compiling_global.nit:529 */
5033 if (!once_value_12
) {
5034 fra
.me
.REG
[0] = BOX_NativeString("return;");
5036 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5037 once_value_12
= fra
.me
.REG
[0];
5038 register_static_object(&once_value_12
);
5039 } else fra
.me
.REG
[0] = once_value_12
;
5040 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5041 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5043 /* compiling/compiling_global.nit:531 */
5045 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5046 if (!once_value_13
) {
5047 fra
.me
.REG
[6] = BOX_NativeString("return ");
5049 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5050 once_value_13
= fra
.me
.REG
[6];
5051 register_static_object(&once_value_13
);
5052 } else fra
.me
.REG
[6] = once_value_13
;
5053 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
5055 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5056 if (!once_value_14
) {
5057 fra
.me
.REG
[3] = BOX_NativeString(";");
5059 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
5060 once_value_14
= fra
.me
.REG
[3];
5061 register_static_object(&once_value_14
);
5062 } else fra
.me
.REG
[3] = once_value_14
;
5063 fra
.me
.REG
[3] = fra
.me
.REG
[3];
5064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5065 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5066 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5068 /* compiling/compiling_global.nit:533 */
5069 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5070 /* compiling/compiling_global.nit:534 */
5071 if (!once_value_15
) {
5072 fra
.me
.REG
[0] = BOX_NativeString("}");
5074 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5075 once_value_15
= fra
.me
.REG
[0];
5076 register_static_object(&once_value_15
);
5077 } else fra
.me
.REG
[0] = once_value_15
;
5078 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5079 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5080 /* compiling/compiling_global.nit:536 */
5081 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
5082 /* compiling/compiling_global.nit:537 */
5083 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5084 stack_frame_head
= fra
.me
.prev
;