1 /* This C file is generated by NIT to compile module compiling___compiling_global. */
2 #include "compiling___compiling_global._sep.h"
3 void compiling___compiling_global___Program___compile_tables_to_c(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
9 static val_t once_value_4
; /* Once value */
10 static val_t once_value_5
; /* Once value */
11 static val_t once_value_6
; /* Once value */
12 static val_t once_value_7
; /* Once value */
13 static val_t once_value_8
; /* Once value */
14 static val_t once_value_9
; /* Once value */
15 static val_t once_value_10
; /* Once value */
16 static val_t once_value_12
; /* Once value */
17 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
18 fra
.me
.file
= LOCATE_compiling___compiling_global
;
20 fra
.me
.meth
= LOCATE_compiling___compiling_global___Program___compile_tables_to_c
;
23 fra
.me
.nitni_local_ref_head
= NULL
;
24 fra
.me
.REG
[0] = NIT_NULL
;
25 fra
.me
.REG
[1] = NIT_NULL
;
26 fra
.me
.REG
[2] = NIT_NULL
;
27 fra
.me
.REG
[3] = NIT_NULL
;
28 fra
.me
.REG
[4] = NIT_NULL
;
29 fra
.me
.REG
[5] = NIT_NULL
;
30 fra
.me
.REG
[6] = NIT_NULL
;
31 fra
.me
.REG
[7] = NIT_NULL
;
34 /* compiling/compiling_global.nit:27 */
35 fra
.me
.REG
[2] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
36 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
37 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
38 if (UNTAG_Bool(REGB0
)) {
39 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 27);
41 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
42 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
));
43 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
));
44 /* compiling/compiling_global.nit:36 */
46 fra
.me
.REG
[2] = BOX_NativeString("classtable_t TAG2VFT[4] = {NULL");
48 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
49 once_value_4
= fra
.me
.REG
[2];
50 register_static_object(&once_value_4
);
51 } else fra
.me
.REG
[2] = once_value_4
;
52 fra
.me
.REG
[2] = fra
.me
.REG
[2];
53 fra
.me
.REG
[2] = NEW_Buffer_standard___string___Buffer___from(fra
.me
.REG
[2]);
54 /* compiling/compiling_global.nit:37 */
56 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
58 fra
.me
.REG
[4] = BOX_NativeString("Int");
60 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
61 once_value_5
= fra
.me
.REG
[4];
62 register_static_object(&once_value_5
);
63 } else fra
.me
.REG
[4] = once_value_5
;
64 fra
.me
.REG
[4] = fra
.me
.REG
[4];
65 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
67 fra
.me
.REG
[4] = BOX_NativeString("Char");
69 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
70 once_value_6
= fra
.me
.REG
[4];
71 register_static_object(&once_value_6
);
72 } else fra
.me
.REG
[4] = once_value_6
;
73 fra
.me
.REG
[4] = fra
.me
.REG
[4];
74 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
76 fra
.me
.REG
[4] = BOX_NativeString("Bool");
78 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
79 once_value_7
= fra
.me
.REG
[4];
80 register_static_object(&once_value_7
);
81 } else fra
.me
.REG
[4] = once_value_7
;
82 fra
.me
.REG
[4] = fra
.me
.REG
[4];
83 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
84 /* ../lib/standard/collection/array.nit:269 */
86 /* ../lib/standard/collection/array.nit:270 */
87 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
88 if (UNTAG_Bool(REGB1
)) {
90 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
92 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
93 /* ../lib/standard/collection/array.nit:271 */
94 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
95 /* ../lib/standard/collection/array.nit:272 */
97 /* ../lib/standard/collection/array.nit:24 */
98 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
99 if (UNTAG_Bool(REGB1
)) {
101 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
103 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
104 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
105 if (UNTAG_Bool(REGB2
)) {
107 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
109 /* ../lib/standard/kernel.nit:232 */
110 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
111 /* ../lib/standard/collection/array.nit:272 */
112 if (UNTAG_Bool(REGB1
)) {
113 /* ../lib/standard/collection/array.nit:273 */
114 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
115 if (UNTAG_Bool(REGB1
)) {
116 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
118 /* ../lib/standard/collection/array.nit:718 */
119 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
120 /* compiling/compiling_global.nit:38 */
121 fra
.me
.REG
[6] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
122 fra
.me
.REG
[7] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
123 REGB1
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
124 if (UNTAG_Bool(REGB1
)) {
125 /* compiling/compiling_global.nit:39 */
126 fra
.me
.REG
[7] = CALL_program___Program___main_module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
127 fra
.me
.REG
[5] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
128 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
129 /* compiling/compiling_global.nit:40 */
131 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
133 fra
.me
.REG
[6] = BOX_NativeString(", (const classtable_t)VFT_");
135 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
136 once_value_8
= fra
.me
.REG
[6];
137 register_static_object(&once_value_8
);
138 } else fra
.me
.REG
[6] = once_value_8
;
139 fra
.me
.REG
[6] = fra
.me
.REG
[6];
140 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
141 fra
.me
.REG
[5] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
144 fra
.me
.REG
[5] = BOX_NativeString("");
146 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
147 once_value_9
= fra
.me
.REG
[5];
148 register_static_object(&once_value_9
);
149 } else fra
.me
.REG
[5] = once_value_9
;
150 fra
.me
.REG
[5] = fra
.me
.REG
[5];
151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
152 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
153 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
155 /* compiling/compiling_global.nit:42 */
156 if (!once_value_10
) {
157 fra
.me
.REG
[7] = BOX_NativeString(", NULL");
159 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
160 once_value_10
= fra
.me
.REG
[7];
161 register_static_object(&once_value_10
);
162 } else fra
.me
.REG
[7] = once_value_10
;
163 fra
.me
.REG
[7] = fra
.me
.REG
[7];
164 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
166 /* ../lib/standard/collection/array.nit:274 */
168 /* ../lib/standard/kernel.nit:235 */
169 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
170 /* ../lib/standard/collection/array.nit:274 */
173 /* ../lib/standard/collection/array.nit:272 */
178 /* compiling/compiling_global.nit:45 */
179 if (!once_value_12
) {
180 fra
.me
.REG
[0] = BOX_NativeString("};");
182 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
183 once_value_12
= fra
.me
.REG
[0];
184 register_static_object(&once_value_12
);
185 } else fra
.me
.REG
[0] = once_value_12
;
186 fra
.me
.REG
[0] = fra
.me
.REG
[0];
187 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
188 /* compiling/compiling_global.nit:46 */
189 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
190 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
191 stack_frame_head
= fra
.me
.prev
;
194 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
){
195 struct {struct stack_frame_t me
;} fra
;
198 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
199 fra
.me
.file
= LOCATE_compiling___compiling_global
;
201 fra
.me
.meth
= LOCATE_compiling___compiling_global___Program___compile_tables_to_c
;
202 fra
.me
.has_broke
= 0;
204 fra
.me
.nitni_local_ref_head
= NULL
;
205 fra
.me
.REG
[0] = NIT_NULL
;
206 fra
.me
.closure_ctx
= closctx_param
;
207 fra
.me
.closure_funs
= CREG
;
210 /* compiling/compiling_global.nit:28 */
211 CALL_compiling___compiling_global___MMModule___compile_local_table_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
212 stack_frame_head
= fra
.me
.prev
;
215 void OC_compiling___compiling_global___Program___compile_tables_to_c_2(struct stack_frame_t
*closctx
, val_t p0
){
216 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
220 /* compiling/compiling_global.nit:31 */
221 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
222 fra
.me
.file
= LOCATE_compiling___compiling_global
;
224 fra
.me
.meth
= LOCATE_compiling___compiling_global___Program___compile_tables_to_c
;
225 fra
.me
.has_broke
= 0;
227 fra
.me
.nitni_local_ref_head
= NULL
;
228 fra
.me
.REG
[0] = NIT_NULL
;
229 fra
.me
.REG
[1] = NIT_NULL
;
231 /* compiling/compiling_global.nit:32 */
232 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
233 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
234 if (UNTAG_Bool(REGB0
)) {
235 REGB0
= TAG_Bool(true);
237 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
238 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
241 if (UNTAG_Bool(REGB0
)) {
244 /* compiling/compiling_global.nit:33 */
245 CALL_compiling___compiling_global___MMLocalClass___compile_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
247 stack_frame_head
= fra
.me
.prev
;
250 void compiling___compiling_global___Program___compile_main_part(val_t p0
, val_t p1
){
251 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
255 static val_t once_value_1
; /* Once value */
256 static val_t once_value_2
; /* Once value */
257 static val_t once_value_3
; /* Once value */
258 static val_t once_value_4
; /* Once value */
259 static val_t once_value_5
; /* Once value */
260 static val_t once_value_6
; /* Once value */
261 static val_t once_value_7
; /* Once value */
262 static val_t once_value_8
; /* Once value */
263 static val_t once_value_9
; /* Once value */
264 static val_t once_value_10
; /* Once value */
265 static val_t once_value_11
; /* Once value */
266 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
267 fra
.me
.file
= LOCATE_compiling___compiling_global
;
269 fra
.me
.meth
= LOCATE_compiling___compiling_global___Program___compile_main_part
;
270 fra
.me
.has_broke
= 0;
272 fra
.me
.nitni_local_ref_head
= NULL
;
273 fra
.me
.REG
[0] = NIT_NULL
;
274 fra
.me
.REG
[1] = NIT_NULL
;
275 fra
.me
.REG
[2] = NIT_NULL
;
276 fra
.me
.REG
[3] = NIT_NULL
;
279 /* compiling/compiling_global.nit:52 */
281 fra
.me
.REG
[2] = BOX_NativeString("int main(int argc, char **argv) {");
283 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
284 once_value_1
= fra
.me
.REG
[2];
285 register_static_object(&once_value_1
);
286 } else fra
.me
.REG
[2] = once_value_1
;
287 fra
.me
.REG
[2] = fra
.me
.REG
[2];
288 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
289 /* compiling/compiling_global.nit:53 */
290 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
291 /* compiling/compiling_global.nit:54 */
293 fra
.me
.REG
[2] = BOX_NativeString("prepare_signals();");
295 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
296 once_value_2
= fra
.me
.REG
[2];
297 register_static_object(&once_value_2
);
298 } else fra
.me
.REG
[2] = once_value_2
;
299 fra
.me
.REG
[2] = fra
.me
.REG
[2];
300 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
301 /* compiling/compiling_global.nit:55 */
303 fra
.me
.REG
[2] = BOX_NativeString("glob_argc = argc; glob_argv = argv;");
305 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
306 once_value_3
= fra
.me
.REG
[2];
307 register_static_object(&once_value_3
);
308 } else fra
.me
.REG
[2] = once_value_3
;
309 fra
.me
.REG
[2] = fra
.me
.REG
[2];
310 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
311 /* compiling/compiling_global.nit:56 */
312 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
313 fra
.me
.REG
[2] = CALL_program___Program___main_method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
314 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
315 if (UNTAG_Bool(REGB0
)) {
317 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
318 if (UNTAG_Bool(REGB1
)) {
319 REGB1
= TAG_Bool(false);
322 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
326 if (UNTAG_Bool(REGB0
)) {
327 /* compiling/compiling_global.nit:57 */
329 fra
.me
.REG
[2] = BOX_NativeString("No main");
331 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
332 once_value_4
= fra
.me
.REG
[2];
333 register_static_object(&once_value_4
);
334 } else fra
.me
.REG
[2] = once_value_4
;
335 fra
.me
.REG
[2] = fra
.me
.REG
[2];
336 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
338 /* compiling/compiling_global.nit:59 */
339 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
340 fra
.me
.REG
[2] = CALL_program___Program___main_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
341 /* compiling/compiling_global.nit:60 */
343 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
345 fra
.me
.REG
[3] = BOX_NativeString("G_sys = NEW_");
347 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
348 once_value_5
= fra
.me
.REG
[3];
349 register_static_object(&once_value_5
);
350 } else fra
.me
.REG
[3] = once_value_5
;
351 fra
.me
.REG
[3] = fra
.me
.REG
[3];
352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
353 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
354 if (UNTAG_Bool(REGB0
)) {
355 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 60);
357 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
358 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
360 fra
.me
.REG
[2] = BOX_NativeString("();");
362 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
363 once_value_6
= fra
.me
.REG
[2];
364 register_static_object(&once_value_6
);
365 } else fra
.me
.REG
[2] = once_value_6
;
366 fra
.me
.REG
[2] = fra
.me
.REG
[2];
367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
368 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
369 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
370 /* compiling/compiling_global.nit:61 */
372 fra
.me
.REG
[0] = BOX_NativeString("register_static_object(&G_sys);");
374 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
375 once_value_7
= fra
.me
.REG
[0];
376 register_static_object(&once_value_7
);
377 } else fra
.me
.REG
[0] = once_value_7
;
378 fra
.me
.REG
[0] = fra
.me
.REG
[0];
379 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
380 /* compiling/compiling_global.nit:62 */
382 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
384 fra
.me
.REG
[2] = BOX_NativeString("");
386 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
387 once_value_8
= fra
.me
.REG
[2];
388 register_static_object(&once_value_8
);
389 } else fra
.me
.REG
[2] = once_value_8
;
390 fra
.me
.REG
[2] = fra
.me
.REG
[2];
391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
392 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
393 fra
.me
.REG
[2] = CALL_program___Program___main_method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
394 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
395 if (UNTAG_Bool(REGB0
)) {
396 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 62);
398 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
401 fra
.me
.REG
[2] = BOX_NativeString("(G_sys);");
403 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
404 once_value_9
= fra
.me
.REG
[2];
405 register_static_object(&once_value_9
);
406 } else fra
.me
.REG
[2] = once_value_9
;
407 fra
.me
.REG
[2] = fra
.me
.REG
[2];
408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
409 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
410 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
412 /* compiling/compiling_global.nit:64 */
413 if (!once_value_10
) {
414 fra
.me
.REG
[0] = BOX_NativeString("return 0;");
416 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
417 once_value_10
= fra
.me
.REG
[0];
418 register_static_object(&once_value_10
);
419 } else fra
.me
.REG
[0] = once_value_10
;
420 fra
.me
.REG
[0] = fra
.me
.REG
[0];
421 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
422 /* compiling/compiling_global.nit:65 */
423 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
424 /* compiling/compiling_global.nit:66 */
425 if (!once_value_11
) {
426 fra
.me
.REG
[0] = BOX_NativeString("}");
428 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
429 once_value_11
= fra
.me
.REG
[0];
430 register_static_object(&once_value_11
);
431 } else fra
.me
.REG
[0] = once_value_11
;
432 fra
.me
.REG
[0] = fra
.me
.REG
[0];
433 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
434 stack_frame_head
= fra
.me
.prev
;
437 void compiling___compiling_global___MMModule___declare_class_tables_to_c(val_t p0
, val_t p1
){
438 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
440 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
441 fra
.me
.file
= LOCATE_compiling___compiling_global
;
443 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___declare_class_tables_to_c
;
444 fra
.me
.has_broke
= 0;
446 fra
.me
.nitni_local_ref_head
= NULL
;
447 fra
.me
.REG
[0] = NIT_NULL
;
448 fra
.me
.REG
[1] = NIT_NULL
;
449 fra
.me
.REG
[2] = NIT_NULL
;
452 /* compiling/compiling_global.nit:74 */
453 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
454 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
));
455 stack_frame_head
= fra
.me
.prev
;
458 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
){
459 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
464 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
465 fra
.me
.file
= LOCATE_compiling___compiling_global
;
467 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___declare_class_tables_to_c
;
468 fra
.me
.has_broke
= 0;
470 fra
.me
.nitni_local_ref_head
= NULL
;
471 fra
.me
.REG
[0] = NIT_NULL
;
472 fra
.me
.REG
[1] = NIT_NULL
;
473 fra
.me
.closure_ctx
= closctx_param
;
474 fra
.me
.closure_funs
= CREG
;
477 /* compiling/compiling_global.nit:75 */
478 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
479 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
480 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],closctx
->REG
[0]));
481 if (UNTAG_Bool(REGB0
)) {
483 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[0]);
486 if (UNTAG_Bool(REGB0
)) {
487 /* compiling/compiling_global.nit:76 */
488 CALL_compiling___compiling_global___MMLocalClass___declare_tables_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
490 stack_frame_head
= fra
.me
.prev
;
493 void compiling___compiling_global___MMModule___compile_mod_to_c(val_t p0
, val_t p1
){
494 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
500 static val_t once_value_1
; /* Once value */
501 static val_t once_value_2
; /* Once value */
502 static val_t once_value_3
; /* Once value */
503 static val_t once_value_4
; /* Once value */
504 static val_t once_value_5
; /* Once value */
505 static val_t once_value_6
; /* Once value */
506 static val_t once_value_7
; /* Once value */
507 static val_t once_value_8
; /* Once value */
508 static val_t once_value_9
; /* Once value */
509 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
510 fra
.me
.file
= LOCATE_compiling___compiling_global
;
512 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___compile_mod_to_c
;
513 fra
.me
.has_broke
= 0;
515 fra
.me
.nitni_local_ref_head
= NULL
;
516 fra
.me
.REG
[0] = NIT_NULL
;
517 fra
.me
.REG
[1] = NIT_NULL
;
518 fra
.me
.REG
[2] = NIT_NULL
;
519 fra
.me
.REG
[3] = NIT_NULL
;
520 fra
.me
.REG
[4] = NIT_NULL
;
521 fra
.me
.REG
[5] = NIT_NULL
;
522 fra
.me
.REG
[6] = NIT_NULL
;
523 fra
.me
.REG
[7] = NIT_NULL
;
526 /* compiling/compiling_global.nit:84 */
528 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
530 fra
.me
.REG
[3] = BOX_NativeString("extern const char *LOCATE_");
532 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
533 once_value_1
= fra
.me
.REG
[3];
534 register_static_object(&once_value_1
);
535 } else fra
.me
.REG
[3] = once_value_1
;
536 fra
.me
.REG
[3] = fra
.me
.REG
[3];
537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
538 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
539 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
541 fra
.me
.REG
[3] = BOX_NativeString(";");
543 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
544 once_value_2
= fra
.me
.REG
[3];
545 register_static_object(&once_value_2
);
546 } else fra
.me
.REG
[3] = once_value_2
;
547 fra
.me
.REG
[3] = fra
.me
.REG
[3];
548 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
549 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
550 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
551 /* compiling/compiling_global.nit:85 */
552 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
553 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
554 REGB0
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
555 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
556 if (UNTAG_Bool(REGB0
)) {
557 /* compiling/compiling_global.nit:86 */
559 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
561 fra
.me
.REG
[3] = BOX_NativeString("extern const int SFT_");
563 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
564 once_value_3
= fra
.me
.REG
[3];
565 register_static_object(&once_value_3
);
566 } else fra
.me
.REG
[3] = once_value_3
;
567 fra
.me
.REG
[3] = fra
.me
.REG
[3];
568 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
569 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
570 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
572 fra
.me
.REG
[3] = BOX_NativeString("[];");
574 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
575 once_value_4
= fra
.me
.REG
[3];
576 register_static_object(&once_value_4
);
577 } else fra
.me
.REG
[3] = once_value_4
;
578 fra
.me
.REG
[3] = fra
.me
.REG
[3];
579 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
580 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
581 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
583 /* compiling/compiling_global.nit:88 */
585 /* compiling/compiling_global.nit:89 */
586 fra
.me
.REG
[2] = CALL_compiling___table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
587 /* ../lib/standard/collection/array.nit:269 */
589 /* ../lib/standard/collection/array.nit:270 */
590 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
591 if (UNTAG_Bool(REGB2
)) {
593 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
595 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
596 /* ../lib/standard/collection/array.nit:271 */
597 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
598 /* ../lib/standard/collection/array.nit:272 */
600 /* ../lib/standard/collection/array.nit:24 */
601 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
602 if (UNTAG_Bool(REGB2
)) {
604 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
606 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
607 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
608 if (UNTAG_Bool(REGB3
)) {
610 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
612 /* ../lib/standard/kernel.nit:232 */
613 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
614 /* ../lib/standard/collection/array.nit:272 */
615 if (UNTAG_Bool(REGB2
)) {
616 /* ../lib/standard/collection/array.nit:273 */
617 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
618 if (UNTAG_Bool(REGB2
)) {
619 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
621 /* ../lib/standard/collection/array.nit:718 */
622 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
623 /* compiling/compiling_global.nit:91 */
624 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
625 fra
.me
.REG
[5] = CALL_program___Program___tc(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
626 REGB2
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
627 if (UNTAG_Bool(REGB2
)) {
628 /* compiling/compiling_global.nit:92 */
630 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
632 fra
.me
.REG
[6] = BOX_NativeString("");
634 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
635 once_value_5
= fra
.me
.REG
[6];
636 register_static_object(&once_value_5
);
637 } else fra
.me
.REG
[6] = once_value_5
;
638 fra
.me
.REG
[6] = fra
.me
.REG
[6];
639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
640 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
641 fra
.me
.REG
[6] = CALL_compiling___compiling_global___ModuleTableElt___value(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
644 fra
.me
.REG
[6] = BOX_NativeString("");
646 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
647 once_value_6
= fra
.me
.REG
[6];
648 register_static_object(&once_value_6
);
649 } else fra
.me
.REG
[6] = once_value_6
;
650 fra
.me
.REG
[6] = fra
.me
.REG
[6];
651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
652 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
654 /* compiling/compiling_global.nit:94 */
656 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
658 fra
.me
.REG
[7] = BOX_NativeString("SFT_");
660 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
661 once_value_7
= fra
.me
.REG
[7];
662 register_static_object(&once_value_7
);
663 } else fra
.me
.REG
[7] = once_value_7
;
664 fra
.me
.REG
[7] = fra
.me
.REG
[7];
665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
666 fra
.me
.REG
[7] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
667 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
669 fra
.me
.REG
[7] = BOX_NativeString("[");
671 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
672 once_value_8
= fra
.me
.REG
[7];
673 register_static_object(&once_value_8
);
674 } else fra
.me
.REG
[7] = once_value_8
;
675 fra
.me
.REG
[7] = fra
.me
.REG
[7];
676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
677 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
678 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
680 fra
.me
.REG
[7] = BOX_NativeString("]");
682 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
683 once_value_9
= fra
.me
.REG
[7];
684 register_static_object(&once_value_9
);
685 } else fra
.me
.REG
[7] = once_value_9
;
686 fra
.me
.REG
[7] = fra
.me
.REG
[7];
687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
688 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
689 fra
.me
.REG
[5] = fra
.me
.REG
[6];
690 /* compiling/compiling_global.nit:95 */
692 /* ../lib/standard/kernel.nit:235 */
693 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
694 /* compiling/compiling_global.nit:95 */
697 /* compiling/compiling_global.nit:97 */
698 CALL_compiling___compiling_global___AbsTableElt___compile_macros(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
699 /* ../lib/standard/collection/array.nit:274 */
701 /* ../lib/standard/kernel.nit:235 */
702 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
703 /* ../lib/standard/collection/array.nit:274 */
706 /* ../lib/standard/collection/array.nit:272 */
711 /* compiling/compiling_global.nit:99 */
712 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
713 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
));
714 stack_frame_head
= fra
.me
.prev
;
717 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
){
718 struct {struct stack_frame_t me
;} fra
;
722 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
723 fra
.me
.file
= LOCATE_compiling___compiling_global
;
725 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___compile_mod_to_c
;
726 fra
.me
.has_broke
= 0;
728 fra
.me
.nitni_local_ref_head
= NULL
;
729 fra
.me
.REG
[0] = NIT_NULL
;
730 fra
.me
.closure_ctx
= closctx_param
;
731 fra
.me
.closure_funs
= CREG
;
734 closctx
->REG
[3] = fra
.me
.REG
[0];
735 /* compiling/compiling_global.nit:100 */
736 REGB0
= TAG_Bool(VAL_ISA(closctx
->REG
[3], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
737 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
738 if (UNTAG_Bool(REGB0
)) {
741 /* compiling/compiling_global.nit:101 */
742 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(closctx
->REG
[3])(closctx
->REG
[3]);
743 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
));
745 stack_frame_head
= fra
.me
.prev
;
748 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
){
749 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
756 static val_t once_value_14
; /* Once value */
757 static val_t once_value_15
; /* Once value */
758 static val_t once_value_17
; /* Once value */
759 static val_t once_value_18
; /* Once value */
760 static val_t once_value_19
; /* Once value */
761 static val_t once_value_20
; /* Once value */
762 static val_t once_value_21
; /* Once value */
763 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
764 fra
.me
.file
= LOCATE_compiling___compiling_global
;
766 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___compile_mod_to_c
;
767 fra
.me
.has_broke
= 0;
769 fra
.me
.nitni_local_ref_head
= NULL
;
770 fra
.me
.REG
[0] = NIT_NULL
;
771 fra
.me
.REG
[1] = NIT_NULL
;
772 fra
.me
.REG
[2] = NIT_NULL
;
773 fra
.me
.REG
[3] = NIT_NULL
;
774 fra
.me
.closure_ctx
= closctx_param
;
775 fra
.me
.closure_funs
= CREG
;
778 /* compiling/compiling_global.nit:102 */
779 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
780 /* compiling/compiling_global.nit:103 */
781 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
782 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],closctx
->REG
[3]));
783 if (UNTAG_Bool(REGB0
)) {
785 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], closctx
->REG
[3]);
788 if (UNTAG_Bool(REGB0
)) {
789 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
791 REGB1
= TAG_Bool(false);
794 if (UNTAG_Bool(REGB0
)) {
795 /* compiling/compiling_global.nit:104 */
796 CALL_compiling___compiling_global___MMMethod___compile_property_to_c(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[1]);
798 /* compiling/compiling_global.nit:106 */
799 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[3]);
800 if (UNTAG_Bool(REGB0
)) {
801 /* compiling/compiling_global.nit:108 */
802 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
803 /* compiling/compiling_global.nit:109 */
805 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
806 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
807 if (UNTAG_Bool(REGB1
)) {
808 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 109);
810 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
811 /* ../lib/standard/kernel.nit:352 */
813 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
814 if (UNTAG_Bool(REGB2
)) {
816 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
818 /* ../lib/standard/kernel.nit:232 */
819 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
820 /* ../lib/standard/kernel.nit:352 */
821 if (UNTAG_Bool(REGB2
)) {
822 /* compiling/compiling_global.nit:109 */
824 /* compiling/compiling_global.nit:110 */
826 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
827 if (!once_value_14
) {
828 fra
.me
.REG
[3] = BOX_NativeString("val_t p");
830 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB3
);
831 once_value_14
= fra
.me
.REG
[3];
832 register_static_object(&once_value_14
);
833 } else fra
.me
.REG
[3] = once_value_14
;
834 fra
.me
.REG
[3] = fra
.me
.REG
[3];
835 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
836 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
838 if (!once_value_15
) {
839 fra
.me
.REG
[3] = BOX_NativeString("");
841 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
842 once_value_15
= fra
.me
.REG
[3];
843 register_static_object(&once_value_15
);
844 } else fra
.me
.REG
[3] = once_value_15
;
845 fra
.me
.REG
[3] = fra
.me
.REG
[3];
846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
847 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
849 /* ../lib/standard/kernel.nit:354 */
851 /* ../lib/standard/kernel.nit:235 */
852 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
853 /* ../lib/standard/kernel.nit:354 */
856 /* ../lib/standard/kernel.nit:352 */
861 /* compiling/compiling_global.nit:112 */
863 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
864 if (!once_value_17
) {
865 fra
.me
.REG
[3] = BOX_NativeString("val_t NEW_");
867 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
868 once_value_17
= fra
.me
.REG
[3];
869 register_static_object(&once_value_17
);
870 } else fra
.me
.REG
[3] = once_value_17
;
871 fra
.me
.REG
[3] = fra
.me
.REG
[3];
872 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
873 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(closctx
->REG
[3])(closctx
->REG
[3]);
874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
875 if (!once_value_18
) {
876 fra
.me
.REG
[3] = BOX_NativeString("_");
878 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
879 once_value_18
= fra
.me
.REG
[3];
880 register_static_object(&once_value_18
);
881 } else fra
.me
.REG
[3] = once_value_18
;
882 fra
.me
.REG
[3] = fra
.me
.REG
[3];
883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
884 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
885 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
886 fra
.me
.REG
[1] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
887 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
888 if (!once_value_19
) {
889 fra
.me
.REG
[1] = BOX_NativeString("(");
891 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
892 once_value_19
= fra
.me
.REG
[1];
893 register_static_object(&once_value_19
);
894 } else fra
.me
.REG
[1] = once_value_19
;
895 fra
.me
.REG
[1] = fra
.me
.REG
[1];
896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
897 if (!once_value_20
) {
898 fra
.me
.REG
[1] = BOX_NativeString(", ");
900 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
901 once_value_20
= fra
.me
.REG
[1];
902 register_static_object(&once_value_20
);
903 } else fra
.me
.REG
[1] = once_value_20
;
904 fra
.me
.REG
[1] = fra
.me
.REG
[1];
905 fra
.me
.REG
[1] = CALL_standard___string___Collection___join(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
907 if (!once_value_21
) {
908 fra
.me
.REG
[1] = BOX_NativeString(");");
910 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
911 once_value_21
= fra
.me
.REG
[1];
912 register_static_object(&once_value_21
);
913 } else fra
.me
.REG
[1] = once_value_21
;
914 fra
.me
.REG
[1] = fra
.me
.REG
[1];
915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
916 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
917 CALL_compiling___compiling_base___CompilerVisitor___add_decl(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
919 stack_frame_head
= fra
.me
.prev
;
922 void compiling___compiling_global___MMModule___compile_local_table_to_c(val_t p0
, val_t p1
){
923 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
928 static val_t once_value_1
; /* Once value */
929 static val_t once_value_2
; /* Once value */
930 static val_t once_value_3
; /* Once value */
931 static val_t once_value_5
; /* Once value */
932 static val_t once_value_6
; /* Once value */
933 static val_t once_value_7
; /* Once value */
934 static val_t once_value_8
; /* Once value */
935 static val_t once_value_10
; /* Once value */
936 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
937 fra
.me
.file
= LOCATE_compiling___compiling_global
;
939 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMModule___compile_local_table_to_c
;
940 fra
.me
.has_broke
= 0;
942 fra
.me
.nitni_local_ref_head
= NULL
;
943 fra
.me
.REG
[0] = NIT_NULL
;
944 fra
.me
.REG
[1] = NIT_NULL
;
945 fra
.me
.REG
[2] = NIT_NULL
;
946 fra
.me
.REG
[3] = NIT_NULL
;
947 fra
.me
.REG
[4] = NIT_NULL
;
950 /* compiling/compiling_global.nit:121 */
952 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
954 fra
.me
.REG
[3] = BOX_NativeString("const char *LOCATE_");
956 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
957 once_value_1
= fra
.me
.REG
[3];
958 register_static_object(&once_value_1
);
959 } else fra
.me
.REG
[3] = once_value_1
;
960 fra
.me
.REG
[3] = fra
.me
.REG
[3];
961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
962 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
963 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
965 fra
.me
.REG
[3] = BOX_NativeString(" = \"");
967 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
968 once_value_2
= fra
.me
.REG
[3];
969 register_static_object(&once_value_2
);
970 } else fra
.me
.REG
[3] = once_value_2
;
971 fra
.me
.REG
[3] = fra
.me
.REG
[3];
972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
973 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
974 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
975 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
976 if (UNTAG_Bool(REGB0
)) {
977 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 121);
979 fra
.me
.REG
[3] = CALL_location___SourceFile___filename(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
982 fra
.me
.REG
[3] = BOX_NativeString("\";");
984 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
985 once_value_3
= fra
.me
.REG
[3];
986 register_static_object(&once_value_3
);
987 } else fra
.me
.REG
[3] = once_value_3
;
988 fra
.me
.REG
[3] = fra
.me
.REG
[3];
989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
990 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
991 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
992 /* compiling/compiling_global.nit:123 */
993 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
994 fra
.me
.REG
[2] = CALL_program___Program___tc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
995 REGB0
= CALL_program___ToolContext___use_SFT_optimization(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
996 if (UNTAG_Bool(REGB0
)) {
997 REGB0
= TAG_Bool(true);
999 fra
.me
.REG
[2] = CALL_compiling___table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1000 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1003 if (UNTAG_Bool(REGB0
)) {
1004 /* compiling/compiling_global.nit:124 */
1007 /* compiling/compiling_global.nit:127 */
1009 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1010 if (!once_value_5
) {
1011 fra
.me
.REG
[3] = BOX_NativeString("const int SFT_");
1012 REGB0
= TAG_Int(14);
1013 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1014 once_value_5
= fra
.me
.REG
[3];
1015 register_static_object(&once_value_5
);
1016 } else fra
.me
.REG
[3] = once_value_5
;
1017 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1018 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1019 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1020 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1021 if (!once_value_6
) {
1022 fra
.me
.REG
[3] = BOX_NativeString("[");
1024 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1025 once_value_6
= fra
.me
.REG
[3];
1026 register_static_object(&once_value_6
);
1027 } else fra
.me
.REG
[3] = once_value_6
;
1028 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1029 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1030 fra
.me
.REG
[3] = CALL_compiling___table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1031 /* ../lib/standard/collection/array.nit:24 */
1032 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1033 if (UNTAG_Bool(REGB0
)) {
1035 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1037 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1038 /* compiling/compiling_global.nit:127 */
1039 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1040 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1041 if (!once_value_7
) {
1042 fra
.me
.REG
[3] = BOX_NativeString("] = {");
1044 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1045 once_value_7
= fra
.me
.REG
[3];
1046 register_static_object(&once_value_7
);
1047 } else fra
.me
.REG
[3] = once_value_7
;
1048 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1050 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1051 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1052 /* compiling/compiling_global.nit:128 */
1053 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1054 /* compiling/compiling_global.nit:129 */
1055 fra
.me
.REG
[0] = CALL_compiling___table_computation___MMModule___local_table(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1056 /* ../lib/standard/collection/array.nit:269 */
1058 /* ../lib/standard/collection/array.nit:270 */
1059 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1060 if (UNTAG_Bool(REGB1
)) {
1062 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1064 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1065 /* ../lib/standard/collection/array.nit:271 */
1066 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1067 /* ../lib/standard/collection/array.nit:272 */
1069 /* ../lib/standard/collection/array.nit:24 */
1070 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1071 if (UNTAG_Bool(REGB1
)) {
1073 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1075 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1076 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1077 if (UNTAG_Bool(REGB2
)) {
1079 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1081 /* ../lib/standard/kernel.nit:232 */
1082 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1083 /* ../lib/standard/collection/array.nit:272 */
1084 if (UNTAG_Bool(REGB1
)) {
1085 /* ../lib/standard/collection/array.nit:273 */
1086 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1087 if (UNTAG_Bool(REGB1
)) {
1088 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1090 /* ../lib/standard/collection/array.nit:718 */
1091 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1092 /* compiling/compiling_global.nit:130 */
1093 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1094 fra
.me
.REG
[4] = CALL_compiling___compiling_global___ModuleTableElt___value(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1095 if (!once_value_8
) {
1096 fra
.me
.REG
[3] = BOX_NativeString(",");
1098 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
1099 once_value_8
= fra
.me
.REG
[3];
1100 register_static_object(&once_value_8
);
1101 } else fra
.me
.REG
[3] = once_value_8
;
1102 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1103 fra
.me
.REG
[3] = CALL_standard___string___String_____plus(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1104 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1105 /* ../lib/standard/collection/array.nit:274 */
1107 /* ../lib/standard/kernel.nit:235 */
1108 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1109 /* ../lib/standard/collection/array.nit:274 */
1112 /* ../lib/standard/collection/array.nit:272 */
1117 /* compiling/compiling_global.nit:132 */
1118 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1119 /* compiling/compiling_global.nit:133 */
1120 if (!once_value_10
) {
1121 fra
.me
.REG
[2] = BOX_NativeString("};");
1123 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1124 once_value_10
= fra
.me
.REG
[2];
1125 register_static_object(&once_value_10
);
1126 } else fra
.me
.REG
[2] = once_value_10
;
1127 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1128 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1130 stack_frame_head
= fra
.me
.prev
;
1133 void compiling___compiling_global___AbsTableElt___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1134 struct {struct stack_frame_t me
;} fra
;
1136 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1137 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1139 fra
.me
.meth
= LOCATE_compiling___compiling_global___AbsTableElt___compile_macros
;
1140 fra
.me
.has_broke
= 0;
1141 fra
.me
.REG_size
= 0;
1142 fra
.me
.nitni_local_ref_head
= NULL
;
1143 /* compiling/compiling_global.nit:140 */
1144 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_global
, 140);
1145 stack_frame_head
= fra
.me
.prev
;
1148 val_t
compiling___compiling_global___TableElt___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1149 struct {struct stack_frame_t me
;} fra
;
1151 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1152 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1154 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableElt___compile_to_c
;
1155 fra
.me
.has_broke
= 0;
1156 fra
.me
.REG_size
= 0;
1157 fra
.me
.nitni_local_ref_head
= NULL
;
1158 /* compiling/compiling_global.nit:145 */
1159 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_global
, 145);
1160 stack_frame_head
= fra
.me
.prev
;
1163 val_t
compiling___compiling_global___ModuleTableElt___value(val_t p0
, val_t p1
){
1164 struct {struct stack_frame_t me
;} fra
;
1166 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1167 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1169 fra
.me
.meth
= LOCATE_compiling___compiling_global___ModuleTableElt___value
;
1170 fra
.me
.has_broke
= 0;
1171 fra
.me
.REG_size
= 0;
1172 fra
.me
.nitni_local_ref_head
= NULL
;
1173 /* compiling/compiling_global.nit:150 */
1174 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_global
, 150);
1175 stack_frame_head
= fra
.me
.prev
;
1178 val_t
compiling___compiling_global___ModuleTableEltGroup___value(val_t p0
, val_t p1
){
1179 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1182 static val_t once_value_1
; /* Once value */
1183 static val_t once_value_2
; /* Once value */
1184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1185 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1187 fra
.me
.meth
= LOCATE_compiling___compiling_global___ModuleTableEltGroup___value
;
1188 fra
.me
.has_broke
= 0;
1189 fra
.me
.REG_size
= 4;
1190 fra
.me
.nitni_local_ref_head
= NULL
;
1191 fra
.me
.REG
[0] = NIT_NULL
;
1192 fra
.me
.REG
[1] = NIT_NULL
;
1193 fra
.me
.REG
[2] = NIT_NULL
;
1194 fra
.me
.REG
[3] = NIT_NULL
;
1197 /* compiling/compiling_global.nit:155 */
1199 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1200 if (!once_value_1
) {
1201 fra
.me
.REG
[3] = BOX_NativeString("");
1203 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1204 once_value_1
= fra
.me
.REG
[3];
1205 register_static_object(&once_value_1
);
1206 } else fra
.me
.REG
[3] = once_value_1
;
1207 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1208 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1209 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1210 fra
.me
.REG
[0] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1211 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1212 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1213 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1215 if (!once_value_2
) {
1216 fra
.me
.REG
[0] = BOX_NativeString(" /* Group of ? */");
1217 REGB0
= TAG_Int(17);
1218 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1219 once_value_2
= fra
.me
.REG
[0];
1220 register_static_object(&once_value_2
);
1221 } else fra
.me
.REG
[0] = once_value_2
;
1222 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1223 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1224 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1227 stack_frame_head
= fra
.me
.prev
;
1228 return fra
.me
.REG
[2];
1230 void compiling___compiling_global___ModuleTableEltGroup___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1231 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1237 static val_t once_value_1
; /* Once value */
1238 static val_t once_value_2
; /* Once value */
1239 static val_t once_value_3
; /* Once value */
1240 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1241 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1243 fra
.me
.meth
= LOCATE_compiling___compiling_global___ModuleTableEltGroup___compile_macros
;
1244 fra
.me
.has_broke
= 0;
1245 fra
.me
.REG_size
= 7;
1246 fra
.me
.nitni_local_ref_head
= NULL
;
1247 fra
.me
.REG
[0] = NIT_NULL
;
1248 fra
.me
.REG
[1] = NIT_NULL
;
1249 fra
.me
.REG
[2] = NIT_NULL
;
1250 fra
.me
.REG
[3] = NIT_NULL
;
1251 fra
.me
.REG
[4] = NIT_NULL
;
1252 fra
.me
.REG
[5] = NIT_NULL
;
1253 fra
.me
.REG
[6] = NIT_NULL
;
1257 /* compiling/compiling_global.nit:158 */
1259 /* compiling/compiling_global.nit:159 */
1260 fra
.me
.REG
[0] = CALL_compiling___table_computation___ModuleTableEltGroup___elements(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1261 /* ../lib/standard/collection/array.nit:269 */
1263 /* ../lib/standard/collection/array.nit:270 */
1264 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1265 if (UNTAG_Bool(REGB2
)) {
1267 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1269 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1270 /* ../lib/standard/collection/array.nit:271 */
1271 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1272 /* ../lib/standard/collection/array.nit:272 */
1274 /* ../lib/standard/collection/array.nit:24 */
1275 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1276 if (UNTAG_Bool(REGB2
)) {
1278 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1280 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1281 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1282 if (UNTAG_Bool(REGB3
)) {
1284 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1286 /* ../lib/standard/kernel.nit:232 */
1287 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1288 /* ../lib/standard/collection/array.nit:272 */
1289 if (UNTAG_Bool(REGB2
)) {
1290 /* ../lib/standard/collection/array.nit:273 */
1291 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1292 if (UNTAG_Bool(REGB2
)) {
1293 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1295 /* ../lib/standard/collection/array.nit:718 */
1296 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
1297 /* compiling/compiling_global.nit:160 */
1299 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1300 if (!once_value_1
) {
1301 fra
.me
.REG
[6] = BOX_NativeString("");
1303 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1304 once_value_1
= fra
.me
.REG
[6];
1305 register_static_object(&once_value_1
);
1306 } else fra
.me
.REG
[6] = once_value_1
;
1307 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1308 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1310 if (!once_value_2
) {
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_2
= fra
.me
.REG
[6];
1315 register_static_object(&once_value_2
);
1316 } else fra
.me
.REG
[6] = once_value_2
;
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 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1320 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1321 if (!once_value_3
) {
1322 fra
.me
.REG
[6] = BOX_NativeString("");
1324 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1325 once_value_3
= fra
.me
.REG
[6];
1326 register_static_object(&once_value_3
);
1327 } else fra
.me
.REG
[6] = once_value_3
;
1328 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1330 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1331 CALL_compiling___compiling_global___AbsTableElt___compile_macros(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
1332 /* compiling/compiling_global.nit:161 */
1334 /* ../lib/standard/kernel.nit:235 */
1335 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1336 /* compiling/compiling_global.nit:161 */
1338 /* ../lib/standard/collection/array.nit:274 */
1340 /* ../lib/standard/kernel.nit:235 */
1341 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1342 /* ../lib/standard/collection/array.nit:274 */
1345 /* ../lib/standard/collection/array.nit:272 */
1350 stack_frame_head
= fra
.me
.prev
;
1353 void compiling___compiling_global___TableEltMeth___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1354 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1357 static val_t once_value_1
; /* Once value */
1358 static val_t once_value_2
; /* Once value */
1359 static val_t once_value_3
; /* Once value */
1360 static val_t once_value_4
; /* Once value */
1361 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1362 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1364 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltMeth___compile_macros
;
1365 fra
.me
.has_broke
= 0;
1366 fra
.me
.REG_size
= 5;
1367 fra
.me
.nitni_local_ref_head
= NULL
;
1368 fra
.me
.REG
[0] = NIT_NULL
;
1369 fra
.me
.REG
[1] = NIT_NULL
;
1370 fra
.me
.REG
[2] = NIT_NULL
;
1371 fra
.me
.REG
[3] = NIT_NULL
;
1372 fra
.me
.REG
[4] = NIT_NULL
;
1376 /* compiling/compiling_global.nit:169 */
1377 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1378 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1379 /* compiling/compiling_global.nit:170 */
1381 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1382 if (!once_value_1
) {
1383 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1385 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1386 once_value_1
= fra
.me
.REG
[4];
1387 register_static_object(&once_value_1
);
1388 } else fra
.me
.REG
[4] = once_value_1
;
1389 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1391 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1393 if (!once_value_2
) {
1394 fra
.me
.REG
[4] = BOX_NativeString("(recv) ((");
1396 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1397 once_value_2
= fra
.me
.REG
[4];
1398 register_static_object(&once_value_2
);
1399 } else fra
.me
.REG
[4] = once_value_2
;
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
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1403 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1405 if (!once_value_3
) {
1406 fra
.me
.REG
[0] = BOX_NativeString("_t)CALL((recv), (");
1407 REGB0
= TAG_Int(17);
1408 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1409 once_value_3
= fra
.me
.REG
[0];
1410 register_static_object(&once_value_3
);
1411 } else fra
.me
.REG
[0] = once_value_3
;
1412 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1413 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1415 if (!once_value_4
) {
1416 fra
.me
.REG
[2] = BOX_NativeString(")))");
1418 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1419 once_value_4
= fra
.me
.REG
[2];
1420 register_static_object(&once_value_4
);
1421 } else fra
.me
.REG
[2] = once_value_4
;
1422 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1423 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1424 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1425 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1426 stack_frame_head
= fra
.me
.prev
;
1429 val_t
compiling___compiling_global___TableEltMeth___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1430 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1432 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1433 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1435 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltMeth___compile_to_c
;
1436 fra
.me
.has_broke
= 0;
1437 fra
.me
.REG_size
= 3;
1438 fra
.me
.nitni_local_ref_head
= NULL
;
1439 fra
.me
.REG
[0] = NIT_NULL
;
1440 fra
.me
.REG
[1] = NIT_NULL
;
1441 fra
.me
.REG
[2] = NIT_NULL
;
1445 /* compiling/compiling_global.nit:175 */
1446 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1447 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1448 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1449 /* compiling/compiling_global.nit:176 */
1450 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1453 stack_frame_head
= fra
.me
.prev
;
1454 return fra
.me
.REG
[0];
1456 void compiling___compiling_global___TableEltSuper___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1457 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1460 static val_t once_value_1
; /* Once value */
1461 static val_t once_value_2
; /* Once value */
1462 static val_t once_value_3
; /* Once value */
1463 static val_t once_value_4
; /* Once value */
1464 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1465 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1467 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltSuper___compile_macros
;
1468 fra
.me
.has_broke
= 0;
1469 fra
.me
.REG_size
= 5;
1470 fra
.me
.nitni_local_ref_head
= NULL
;
1471 fra
.me
.REG
[0] = NIT_NULL
;
1472 fra
.me
.REG
[1] = NIT_NULL
;
1473 fra
.me
.REG
[2] = NIT_NULL
;
1474 fra
.me
.REG
[3] = NIT_NULL
;
1475 fra
.me
.REG
[4] = NIT_NULL
;
1479 /* compiling/compiling_global.nit:183 */
1480 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1481 /* compiling/compiling_global.nit:184 */
1483 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1484 if (!once_value_1
) {
1485 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1487 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1488 once_value_1
= fra
.me
.REG
[4];
1489 register_static_object(&once_value_1
);
1490 } else fra
.me
.REG
[4] = once_value_1
;
1491 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1493 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1494 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1495 if (!once_value_2
) {
1496 fra
.me
.REG
[4] = BOX_NativeString("(recv) ((");
1498 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1499 once_value_2
= fra
.me
.REG
[4];
1500 register_static_object(&once_value_2
);
1501 } else fra
.me
.REG
[4] = once_value_2
;
1502 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1503 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1504 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1505 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1506 if (!once_value_3
) {
1507 fra
.me
.REG
[0] = BOX_NativeString("_t)CALL((recv), (");
1508 REGB0
= TAG_Int(17);
1509 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1510 once_value_3
= fra
.me
.REG
[0];
1511 register_static_object(&once_value_3
);
1512 } else fra
.me
.REG
[0] = once_value_3
;
1513 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1516 if (!once_value_4
) {
1517 fra
.me
.REG
[2] = BOX_NativeString(")))");
1519 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1520 once_value_4
= fra
.me
.REG
[2];
1521 register_static_object(&once_value_4
);
1522 } else fra
.me
.REG
[2] = once_value_4
;
1523 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1525 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1526 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1527 stack_frame_head
= fra
.me
.prev
;
1530 val_t
compiling___compiling_global___TableEltSuper___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1531 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1537 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1538 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1540 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltSuper___compile_to_c
;
1541 fra
.me
.has_broke
= 0;
1542 fra
.me
.REG_size
= 7;
1543 fra
.me
.nitni_local_ref_head
= NULL
;
1544 fra
.me
.REG
[0] = NIT_NULL
;
1545 fra
.me
.REG
[1] = NIT_NULL
;
1546 fra
.me
.REG
[2] = NIT_NULL
;
1547 fra
.me
.REG
[3] = NIT_NULL
;
1548 fra
.me
.REG
[4] = NIT_NULL
;
1549 fra
.me
.REG
[5] = NIT_NULL
;
1550 fra
.me
.REG
[6] = NIT_NULL
;
1554 /* compiling/compiling_global.nit:189 */
1555 fra
.me
.REG
[1] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1556 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1557 /* compiling/compiling_global.nit:190 */
1558 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1559 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1560 /* compiling/compiling_global.nit:191 */
1561 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1562 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1563 /* compiling/compiling_global.nit:192 */
1564 REGB0
= TAG_Bool(false);
1565 /* ../lib/standard/collection/array.nit:269 */
1567 /* ../lib/standard/collection/array.nit:270 */
1568 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1569 if (UNTAG_Bool(REGB2
)) {
1571 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1573 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1574 /* ../lib/standard/collection/array.nit:271 */
1575 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1576 /* ../lib/standard/collection/array.nit:272 */
1578 /* ../lib/standard/collection/array.nit:24 */
1579 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1580 if (UNTAG_Bool(REGB2
)) {
1582 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1584 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1585 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1586 if (UNTAG_Bool(REGB3
)) {
1588 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1590 /* ../lib/standard/kernel.nit:232 */
1591 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1592 /* ../lib/standard/collection/array.nit:272 */
1593 if (UNTAG_Bool(REGB2
)) {
1594 /* ../lib/standard/collection/array.nit:273 */
1595 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1596 if (UNTAG_Bool(REGB2
)) {
1597 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1599 /* ../lib/standard/collection/array.nit:718 */
1600 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1601 /* compiling/compiling_global.nit:195 */
1602 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[1]));
1603 if (UNTAG_Bool(REGB2
)) {
1605 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
1608 if (UNTAG_Bool(REGB2
)) {
1609 /* compiling/compiling_global.nit:196 */
1610 REGB2
= TAG_Bool(true);
1613 /* compiling/compiling_global.nit:197 */
1614 if (UNTAG_Bool(REGB0
)) {
1615 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1616 REGB2
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1618 REGB3
= TAG_Bool(false);
1621 if (UNTAG_Bool(REGB2
)) {
1622 /* compiling/compiling_global.nit:198 */
1623 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1624 if (UNTAG_Bool(REGB2
)) {
1625 /* compiling/compiling_global.nit:200 */
1626 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1627 fra
.me
.REG
[5] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1632 /* ../lib/standard/collection/array.nit:274 */
1634 /* ../lib/standard/kernel.nit:235 */
1635 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1636 /* ../lib/standard/collection/array.nit:274 */
1639 /* ../lib/standard/collection/array.nit:272 */
1644 /* compiling/compiling_global.nit:204 */
1645 nit_abort("Aborted", NULL
, LOCATE_compiling___compiling_global
, 204);
1647 stack_frame_head
= fra
.me
.prev
;
1648 return fra
.me
.REG
[5];
1650 void compiling___compiling_global___TableEltVTClassColor___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1651 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1654 static val_t once_value_1
; /* Once value */
1655 static val_t once_value_2
; /* Once value */
1656 static val_t once_value_3
; /* Once value */
1657 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1658 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1660 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVTClassColor___compile_macros
;
1661 fra
.me
.has_broke
= 0;
1662 fra
.me
.REG_size
= 5;
1663 fra
.me
.nitni_local_ref_head
= NULL
;
1664 fra
.me
.REG
[0] = NIT_NULL
;
1665 fra
.me
.REG
[1] = NIT_NULL
;
1666 fra
.me
.REG
[2] = NIT_NULL
;
1667 fra
.me
.REG
[3] = NIT_NULL
;
1668 fra
.me
.REG
[4] = NIT_NULL
;
1672 /* compiling/compiling_global.nit:211 */
1673 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1674 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1675 /* compiling/compiling_global.nit:212 */
1677 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1678 if (!once_value_1
) {
1679 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1681 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1682 once_value_1
= fra
.me
.REG
[4];
1683 register_static_object(&once_value_1
);
1684 } else fra
.me
.REG
[4] = once_value_1
;
1685 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1687 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_color(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1688 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1689 if (!once_value_2
) {
1690 fra
.me
.REG
[0] = BOX_NativeString("(recv) (VAL2VFT(recv)[");
1691 REGB0
= TAG_Int(22);
1692 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1693 once_value_2
= fra
.me
.REG
[0];
1694 register_static_object(&once_value_2
);
1695 } else fra
.me
.REG
[0] = once_value_2
;
1696 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1699 if (!once_value_3
) {
1700 fra
.me
.REG
[2] = BOX_NativeString("].i)");
1702 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1703 once_value_3
= fra
.me
.REG
[2];
1704 register_static_object(&once_value_3
);
1705 } else fra
.me
.REG
[2] = once_value_3
;
1706 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1707 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1708 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1709 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1710 stack_frame_head
= fra
.me
.prev
;
1713 val_t
compiling___compiling_global___TableEltVTClassColor___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1714 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1717 static val_t once_value_1
; /* Once value */
1718 static val_t once_value_2
; /* Once value */
1719 static val_t once_value_3
; /* Once value */
1720 static val_t once_value_4
; /* Once value */
1721 static val_t once_value_5
; /* Once value */
1722 static val_t once_value_6
; /* Once value */
1723 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1724 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1726 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVTClassColor___compile_to_c
;
1727 fra
.me
.has_broke
= 0;
1728 fra
.me
.REG_size
= 8;
1729 fra
.me
.nitni_local_ref_head
= NULL
;
1730 fra
.me
.REG
[0] = NIT_NULL
;
1731 fra
.me
.REG
[1] = NIT_NULL
;
1732 fra
.me
.REG
[2] = NIT_NULL
;
1733 fra
.me
.REG
[3] = NIT_NULL
;
1734 fra
.me
.REG
[4] = NIT_NULL
;
1735 fra
.me
.REG
[5] = NIT_NULL
;
1736 fra
.me
.REG
[6] = NIT_NULL
;
1737 fra
.me
.REG
[7] = NIT_NULL
;
1741 /* compiling/compiling_global.nit:215 */
1742 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1743 /* compiling/compiling_global.nit:217 */
1744 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1745 /* compiling/compiling_global.nit:218 */
1746 fra
.me
.REG
[4] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1747 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1748 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1749 /* compiling/compiling_global.nit:219 */
1750 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1751 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature_for(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1752 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1753 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1754 if (UNTAG_Bool(REGB0
)) {
1755 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 219);
1757 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1758 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1759 /* compiling/compiling_global.nit:220 */
1760 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1761 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
1762 if (UNTAG_Bool(REGB0
)) {
1764 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_global
, 220);
1766 fra
.me
.REG
[6] = CALL_compiling___table_computation___MMConcreteClass___class_color_pos(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1767 /* compiling/compiling_global.nit:221 */
1768 REGB0
= TAG_Int(11);
1769 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1770 if (!once_value_1
) {
1771 fra
.me
.REG
[7] = BOX_NativeString("");
1773 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1774 once_value_1
= fra
.me
.REG
[7];
1775 register_static_object(&once_value_1
);
1776 } else fra
.me
.REG
[7] = once_value_1
;
1777 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
1779 fra
.me
.REG
[7] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1780 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1781 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
1783 if (!once_value_2
) {
1784 fra
.me
.REG
[6] = BOX_NativeString(" /* ");
1786 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1787 once_value_2
= fra
.me
.REG
[6];
1788 register_static_object(&once_value_2
);
1789 } else fra
.me
.REG
[6] = once_value_2
;
1790 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
1792 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1793 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1794 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1795 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1796 if (!once_value_3
) {
1797 fra
.me
.REG
[3] = BOX_NativeString(": VT ");
1799 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1800 once_value_3
= fra
.me
.REG
[3];
1801 register_static_object(&once_value_3
);
1802 } else fra
.me
.REG
[3] = once_value_3
;
1803 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1804 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1805 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1807 if (!once_value_4
) {
1808 fra
.me
.REG
[2] = BOX_NativeString("::");
1810 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1811 once_value_4
= fra
.me
.REG
[2];
1812 register_static_object(&once_value_4
);
1813 } else fra
.me
.REG
[2] = once_value_4
;
1814 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1816 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
1818 if (!once_value_5
) {
1819 fra
.me
.REG
[4] = BOX_NativeString(" : color of ");
1820 REGB0
= TAG_Int(12);
1821 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1822 once_value_5
= fra
.me
.REG
[4];
1823 register_static_object(&once_value_5
);
1824 } else fra
.me
.REG
[4] = once_value_5
;
1825 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
1827 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
1829 if (!once_value_6
) {
1830 fra
.me
.REG
[5] = BOX_NativeString(" */");
1832 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1833 once_value_6
= fra
.me
.REG
[5];
1834 register_static_object(&once_value_6
);
1835 } else fra
.me
.REG
[5] = once_value_6
;
1836 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
1838 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1841 stack_frame_head
= fra
.me
.prev
;
1842 return fra
.me
.REG
[0];
1844 void compiling___compiling_global___TableEltVTClassId___compile_macros(val_t p0
, val_t p1
, val_t p2
){
1845 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1848 static val_t once_value_1
; /* Once value */
1849 static val_t once_value_2
; /* Once value */
1850 static val_t once_value_3
; /* Once value */
1851 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1852 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1854 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVTClassId___compile_macros
;
1855 fra
.me
.has_broke
= 0;
1856 fra
.me
.REG_size
= 5;
1857 fra
.me
.nitni_local_ref_head
= NULL
;
1858 fra
.me
.REG
[0] = NIT_NULL
;
1859 fra
.me
.REG
[1] = NIT_NULL
;
1860 fra
.me
.REG
[2] = NIT_NULL
;
1861 fra
.me
.REG
[3] = NIT_NULL
;
1862 fra
.me
.REG
[4] = NIT_NULL
;
1866 /* compiling/compiling_global.nit:228 */
1867 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1868 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1869 /* compiling/compiling_global.nit:229 */
1871 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1872 if (!once_value_1
) {
1873 fra
.me
.REG
[4] = BOX_NativeString("#define ");
1875 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1876 once_value_1
= fra
.me
.REG
[4];
1877 register_static_object(&once_value_1
);
1878 } else fra
.me
.REG
[4] = once_value_1
;
1879 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1880 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1881 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1883 if (!once_value_2
) {
1884 fra
.me
.REG
[0] = BOX_NativeString("(recv) (VAL2VFT(recv)[");
1885 REGB0
= TAG_Int(22);
1886 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1887 once_value_2
= fra
.me
.REG
[0];
1888 register_static_object(&once_value_2
);
1889 } else fra
.me
.REG
[0] = once_value_2
;
1890 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1893 if (!once_value_3
) {
1894 fra
.me
.REG
[2] = BOX_NativeString("].i)");
1896 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1897 once_value_3
= fra
.me
.REG
[2];
1898 register_static_object(&once_value_3
);
1899 } else fra
.me
.REG
[2] = once_value_3
;
1900 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1902 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1903 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1904 stack_frame_head
= fra
.me
.prev
;
1907 val_t
compiling___compiling_global___TableEltVTClassId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
1908 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1911 static val_t once_value_1
; /* Once value */
1912 static val_t once_value_2
; /* Once value */
1913 static val_t once_value_3
; /* Once value */
1914 static val_t once_value_4
; /* Once value */
1915 static val_t once_value_5
; /* Once value */
1916 static val_t once_value_6
; /* Once value */
1917 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1918 fra
.me
.file
= LOCATE_compiling___compiling_global
;
1920 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVTClassId___compile_to_c
;
1921 fra
.me
.has_broke
= 0;
1922 fra
.me
.REG_size
= 7;
1923 fra
.me
.nitni_local_ref_head
= NULL
;
1924 fra
.me
.REG
[0] = NIT_NULL
;
1925 fra
.me
.REG
[1] = NIT_NULL
;
1926 fra
.me
.REG
[2] = NIT_NULL
;
1927 fra
.me
.REG
[3] = NIT_NULL
;
1928 fra
.me
.REG
[4] = NIT_NULL
;
1929 fra
.me
.REG
[5] = NIT_NULL
;
1930 fra
.me
.REG
[6] = NIT_NULL
;
1934 /* compiling/compiling_global.nit:234 */
1935 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1936 /* compiling/compiling_global.nit:235 */
1937 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1938 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1939 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1940 /* compiling/compiling_global.nit:236 */
1941 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1942 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature_for(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1943 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1944 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1945 if (UNTAG_Bool(REGB0
)) {
1946 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 236);
1948 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1949 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1950 /* compiling/compiling_global.nit:237 */
1951 REGB0
= TAG_Int(11);
1952 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1953 if (!once_value_1
) {
1954 fra
.me
.REG
[6] = BOX_NativeString("");
1956 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1957 once_value_1
= fra
.me
.REG
[6];
1958 register_static_object(&once_value_1
);
1959 } else fra
.me
.REG
[6] = once_value_1
;
1960 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1962 fra
.me
.REG
[6] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1963 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1964 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1965 if (UNTAG_Bool(REGB0
)) {
1966 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 237);
1968 REGB0
= CALL_compiling___table_computation___CompiledClass___id(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1969 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1970 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1971 if (!once_value_2
) {
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_2
= fra
.me
.REG
[6];
1976 register_static_object(&once_value_2
);
1977 } else fra
.me
.REG
[6] = once_value_2
;
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
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1981 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1982 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1983 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1984 if (!once_value_3
) {
1985 fra
.me
.REG
[0] = BOX_NativeString(": VT ");
1987 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1988 once_value_3
= fra
.me
.REG
[0];
1989 register_static_object(&once_value_3
);
1990 } else fra
.me
.REG
[0] = once_value_3
;
1991 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1993 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1995 if (!once_value_4
) {
1996 fra
.me
.REG
[2] = BOX_NativeString("::");
1998 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1999 once_value_4
= fra
.me
.REG
[2];
2000 register_static_object(&once_value_4
);
2001 } else fra
.me
.REG
[2] = once_value_4
;
2002 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2003 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
2004 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2005 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
2006 if (!once_value_5
) {
2007 fra
.me
.REG
[3] = BOX_NativeString(" : id of ");
2009 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2010 once_value_5
= fra
.me
.REG
[3];
2011 register_static_object(&once_value_5
);
2012 } else fra
.me
.REG
[3] = once_value_5
;
2013 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
2015 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
2017 if (!once_value_6
) {
2018 fra
.me
.REG
[4] = BOX_NativeString(" */");
2020 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2021 once_value_6
= fra
.me
.REG
[4];
2022 register_static_object(&once_value_6
);
2023 } else fra
.me
.REG
[4] = once_value_6
;
2024 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
2026 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2029 stack_frame_head
= fra
.me
.prev
;
2030 return fra
.me
.REG
[5];
2032 void compiling___compiling_global___TableEltAttr___compile_macros(val_t p0
, val_t p1
, val_t p2
){
2033 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2036 static val_t once_value_1
; /* Once value */
2037 static val_t once_value_2
; /* Once value */
2038 static val_t once_value_3
; /* Once value */
2039 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2040 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2042 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltAttr___compile_macros
;
2043 fra
.me
.has_broke
= 0;
2044 fra
.me
.REG_size
= 5;
2045 fra
.me
.nitni_local_ref_head
= NULL
;
2046 fra
.me
.REG
[0] = NIT_NULL
;
2047 fra
.me
.REG
[1] = NIT_NULL
;
2048 fra
.me
.REG
[2] = NIT_NULL
;
2049 fra
.me
.REG
[3] = NIT_NULL
;
2050 fra
.me
.REG
[4] = NIT_NULL
;
2054 /* compiling/compiling_global.nit:244 */
2055 fra
.me
.REG
[0] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2056 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2057 /* compiling/compiling_global.nit:245 */
2059 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2060 if (!once_value_1
) {
2061 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2063 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2064 once_value_1
= fra
.me
.REG
[4];
2065 register_static_object(&once_value_1
);
2066 } else fra
.me
.REG
[4] = once_value_1
;
2067 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2068 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2069 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2070 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2071 if (!once_value_2
) {
2072 fra
.me
.REG
[0] = BOX_NativeString("(recv) ATTR(recv, (");
2073 REGB0
= TAG_Int(19);
2074 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2075 once_value_2
= fra
.me
.REG
[0];
2076 register_static_object(&once_value_2
);
2077 } else fra
.me
.REG
[0] = once_value_2
;
2078 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2080 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2081 if (!once_value_3
) {
2082 fra
.me
.REG
[2] = BOX_NativeString("))");
2084 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2085 once_value_3
= fra
.me
.REG
[2];
2086 register_static_object(&once_value_3
);
2087 } else fra
.me
.REG
[2] = once_value_3
;
2088 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2090 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2091 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2092 stack_frame_head
= fra
.me
.prev
;
2095 val_t
compiling___compiling_global___TableEltAttr___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2096 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2099 static val_t once_value_1
; /* Once value */
2100 static val_t once_value_2
; /* Once value */
2101 static val_t once_value_3
; /* Once value */
2102 static val_t once_value_4
; /* Once value */
2103 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2104 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2106 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltAttr___compile_to_c
;
2107 fra
.me
.has_broke
= 0;
2108 fra
.me
.REG_size
= 6;
2109 fra
.me
.nitni_local_ref_head
= NULL
;
2110 fra
.me
.REG
[0] = NIT_NULL
;
2111 fra
.me
.REG
[1] = NIT_NULL
;
2112 fra
.me
.REG
[2] = NIT_NULL
;
2113 fra
.me
.REG
[3] = NIT_NULL
;
2114 fra
.me
.REG
[4] = NIT_NULL
;
2115 fra
.me
.REG
[5] = NIT_NULL
;
2119 /* compiling/compiling_global.nit:250 */
2120 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2121 /* compiling/compiling_global.nit:251 */
2122 fra
.me
.REG
[3] = CALL_compiling___table_computation___TableEltProp___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2123 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2124 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2125 /* compiling/compiling_global.nit:252 */
2127 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2128 if (!once_value_1
) {
2129 fra
.me
.REG
[5] = BOX_NativeString("/* ");
2131 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2132 once_value_1
= fra
.me
.REG
[5];
2133 register_static_object(&once_value_1
);
2134 } else fra
.me
.REG
[5] = once_value_1
;
2135 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2137 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2138 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2139 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2140 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2141 if (!once_value_2
) {
2142 fra
.me
.REG
[0] = BOX_NativeString(": Attribute ");
2143 REGB0
= TAG_Int(12);
2144 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2145 once_value_2
= fra
.me
.REG
[0];
2146 register_static_object(&once_value_2
);
2147 } else fra
.me
.REG
[0] = once_value_2
;
2148 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2150 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2152 if (!once_value_3
) {
2153 fra
.me
.REG
[2] = BOX_NativeString("::");
2155 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2156 once_value_3
= fra
.me
.REG
[2];
2157 register_static_object(&once_value_3
);
2158 } else fra
.me
.REG
[2] = once_value_3
;
2159 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2160 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2161 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2163 if (!once_value_4
) {
2164 fra
.me
.REG
[3] = BOX_NativeString(" */");
2166 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2167 once_value_4
= fra
.me
.REG
[3];
2168 register_static_object(&once_value_4
);
2169 } else fra
.me
.REG
[3] = once_value_4
;
2170 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2172 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2175 stack_frame_head
= fra
.me
.prev
;
2176 return fra
.me
.REG
[4];
2178 val_t
compiling___compiling_global___AbsTableEltClass___symbol(val_t p0
){
2179 struct {struct stack_frame_t me
;} fra
;
2181 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2182 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2184 fra
.me
.meth
= LOCATE_compiling___compiling_global___AbsTableEltClass___symbol
;
2185 fra
.me
.has_broke
= 0;
2186 fra
.me
.REG_size
= 0;
2187 fra
.me
.nitni_local_ref_head
= NULL
;
2188 /* compiling/compiling_global.nit:258 */
2189 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_global
, 258);
2190 stack_frame_head
= fra
.me
.prev
;
2193 void compiling___compiling_global___AbsTableEltClass___compile_macros(val_t p0
, val_t p1
, val_t p2
){
2194 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2197 static val_t once_value_1
; /* Once value */
2198 static val_t once_value_2
; /* Once value */
2199 static val_t once_value_3
; /* Once value */
2200 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2201 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2203 fra
.me
.meth
= LOCATE_compiling___compiling_global___AbsTableEltClass___compile_macros
;
2204 fra
.me
.has_broke
= 0;
2205 fra
.me
.REG_size
= 5;
2206 fra
.me
.nitni_local_ref_head
= NULL
;
2207 fra
.me
.REG
[0] = NIT_NULL
;
2208 fra
.me
.REG
[1] = NIT_NULL
;
2209 fra
.me
.REG
[2] = NIT_NULL
;
2210 fra
.me
.REG
[3] = NIT_NULL
;
2211 fra
.me
.REG
[4] = NIT_NULL
;
2215 /* compiling/compiling_global.nit:263 */
2217 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2218 if (!once_value_1
) {
2219 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2221 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2222 once_value_1
= fra
.me
.REG
[4];
2223 register_static_object(&once_value_1
);
2224 } else fra
.me
.REG
[4] = once_value_1
;
2225 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2227 fra
.me
.REG
[0] = CALL_compiling___compiling_global___AbsTableEltClass___symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2228 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2229 if (!once_value_2
) {
2230 fra
.me
.REG
[0] = BOX_NativeString(" (");
2232 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2233 once_value_2
= fra
.me
.REG
[0];
2234 register_static_object(&once_value_2
);
2235 } else fra
.me
.REG
[0] = once_value_2
;
2236 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2238 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2239 if (!once_value_3
) {
2240 fra
.me
.REG
[2] = BOX_NativeString(")");
2242 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2243 once_value_3
= fra
.me
.REG
[2];
2244 register_static_object(&once_value_3
);
2245 } else fra
.me
.REG
[2] = once_value_3
;
2246 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2248 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2249 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2250 stack_frame_head
= fra
.me
.prev
;
2253 val_t
compiling___compiling_global___TableEltClassId___symbol(val_t p0
){
2254 struct {struct stack_frame_t me
;} fra
;
2256 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2257 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2259 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassId___symbol
;
2260 fra
.me
.has_broke
= 0;
2261 fra
.me
.REG_size
= 1;
2262 fra
.me
.nitni_local_ref_head
= NULL
;
2263 fra
.me
.REG
[0] = NIT_NULL
;
2265 /* compiling/compiling_global.nit:268 */
2266 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2267 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2268 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2271 stack_frame_head
= fra
.me
.prev
;
2272 return fra
.me
.REG
[0];
2274 val_t
compiling___compiling_global___TableEltClassId___value(val_t p0
, val_t p1
){
2275 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2278 static val_t once_value_1
; /* Once value */
2279 static val_t once_value_2
; /* Once value */
2280 static val_t once_value_3
; /* Once value */
2281 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2282 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2284 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassId___value
;
2285 fra
.me
.has_broke
= 0;
2286 fra
.me
.REG_size
= 4;
2287 fra
.me
.nitni_local_ref_head
= NULL
;
2288 fra
.me
.REG
[0] = NIT_NULL
;
2289 fra
.me
.REG
[1] = NIT_NULL
;
2290 fra
.me
.REG
[2] = NIT_NULL
;
2291 fra
.me
.REG
[3] = NIT_NULL
;
2294 /* compiling/compiling_global.nit:272 */
2296 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2297 if (!once_value_1
) {
2298 fra
.me
.REG
[3] = BOX_NativeString("");
2300 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2301 once_value_1
= fra
.me
.REG
[3];
2302 register_static_object(&once_value_1
);
2303 } else fra
.me
.REG
[3] = once_value_1
;
2304 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2306 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2307 fra
.me
.REG
[3] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2308 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2309 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2310 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2311 if (UNTAG_Bool(REGB0
)) {
2312 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 272);
2314 REGB0
= CALL_compiling___table_computation___CompiledClass___id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2315 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2317 if (!once_value_2
) {
2318 fra
.me
.REG
[3] = BOX_NativeString(" /* Id of ");
2319 REGB0
= TAG_Int(10);
2320 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2321 once_value_2
= fra
.me
.REG
[3];
2322 register_static_object(&once_value_2
);
2323 } else fra
.me
.REG
[3] = once_value_2
;
2324 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2326 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2327 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2328 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2329 if (!once_value_3
) {
2330 fra
.me
.REG
[0] = BOX_NativeString(" */");
2332 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2333 once_value_3
= fra
.me
.REG
[0];
2334 register_static_object(&once_value_3
);
2335 } else fra
.me
.REG
[0] = once_value_3
;
2336 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2338 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2341 stack_frame_head
= fra
.me
.prev
;
2342 return fra
.me
.REG
[2];
2344 val_t
compiling___compiling_global___TableEltClassInitTable___symbol(val_t p0
){
2345 struct {struct stack_frame_t me
;} fra
;
2347 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2348 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2350 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassInitTable___symbol
;
2351 fra
.me
.has_broke
= 0;
2352 fra
.me
.REG_size
= 1;
2353 fra
.me
.nitni_local_ref_head
= NULL
;
2354 fra
.me
.REG
[0] = NIT_NULL
;
2356 /* compiling/compiling_global.nit:277 */
2357 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2358 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2359 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___init_table_pos_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2362 stack_frame_head
= fra
.me
.prev
;
2363 return fra
.me
.REG
[0];
2365 val_t
compiling___compiling_global___TableEltClassInitTable___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2366 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
2372 static val_t once_value_3
; /* Once value */
2373 static val_t once_value_4
; /* Once value */
2374 static val_t once_value_5
; /* Once value */
2375 static val_t once_value_6
; /* Once value */
2376 static val_t once_value_7
; /* Once value */
2377 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2378 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2380 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassInitTable___compile_to_c
;
2381 fra
.me
.has_broke
= 0;
2382 fra
.me
.REG_size
= 7;
2383 fra
.me
.nitni_local_ref_head
= NULL
;
2384 fra
.me
.REG
[0] = NIT_NULL
;
2385 fra
.me
.REG
[1] = NIT_NULL
;
2386 fra
.me
.REG
[2] = NIT_NULL
;
2387 fra
.me
.REG
[3] = NIT_NULL
;
2388 fra
.me
.REG
[4] = NIT_NULL
;
2389 fra
.me
.REG
[5] = NIT_NULL
;
2390 fra
.me
.REG
[6] = NIT_NULL
;
2394 /* compiling/compiling_global.nit:281 */
2395 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2396 /* compiling/compiling_global.nit:282 */
2397 fra
.me
.REG
[3] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2398 fra
.me
.REG
[4] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2399 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2400 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2401 /* compiling/compiling_global.nit:283 */
2402 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2403 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___reverse_linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2404 /* compiling/compiling_global.nit:284 */
2406 /* compiling/compiling_global.nit:285 */
2408 /* ../lib/standard/collection/array.nit:278 */
2409 fra
.me
.REG
[5] = fra
.me
.REG
[3];
2411 /* ../lib/standard/collection/array.nit:280 */
2413 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2414 if (UNTAG_Bool(REGB3
)) {
2416 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2418 /* ../lib/standard/kernel.nit:233 */
2419 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
2420 /* ../lib/standard/collection/array.nit:280 */
2421 if (UNTAG_Bool(REGB2
)) {
2422 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
2423 if (UNTAG_Bool(REGB2
)) {
2425 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2427 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
2428 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2429 if (UNTAG_Bool(REGB3
)) {
2431 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2433 /* ../lib/standard/kernel.nit:232 */
2434 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
2436 /* ../lib/standard/collection/array.nit:280 */
2437 REGB3
= TAG_Bool(false);
2440 if (UNTAG_Bool(REGB2
)) {
2442 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2444 /* ../lib/standard/collection/array.nit:281 */
2445 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
2446 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2447 if (UNTAG_Bool(REGB2
)) {
2448 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2450 /* ../lib/standard/collection/array.nit:718 */
2451 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
2452 /* ../lib/standard/collection/array.nit:281 */
2455 /* compiling/compiling_global.nit:285 */
2456 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2457 if (UNTAG_Bool(REGB1
)) {
2458 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 285);
2460 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2461 fra
.me
.REG
[6] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2462 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2463 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[6]));
2464 if (UNTAG_Bool(REGB1
)) {
2466 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2469 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2470 if (UNTAG_Bool(REGB1
)) {
2471 /* compiling/compiling_global.nit:286 */
2473 /* ../lib/standard/kernel.nit:235 */
2474 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2475 /* compiling/compiling_global.nit:286 */
2478 /* compiling/compiling_global.nit:285 */
2483 /* compiling/compiling_global.nit:288 */
2485 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2486 if (!once_value_3
) {
2487 fra
.me
.REG
[6] = BOX_NativeString("");
2489 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
2490 once_value_3
= fra
.me
.REG
[6];
2491 register_static_object(&once_value_3
);
2492 } else fra
.me
.REG
[6] = once_value_3
;
2493 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2494 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2495 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2497 if (!once_value_4
) {
2498 fra
.me
.REG
[6] = BOX_NativeString(" /* ");
2500 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
2501 once_value_4
= fra
.me
.REG
[6];
2502 register_static_object(&once_value_4
);
2503 } else fra
.me
.REG
[6] = once_value_4
;
2504 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2505 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
2506 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2507 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2508 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2509 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2510 if (!once_value_5
) {
2511 fra
.me
.REG
[0] = BOX_NativeString(": ");
2513 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2514 once_value_5
= fra
.me
.REG
[0];
2515 register_static_object(&once_value_5
);
2516 } else fra
.me
.REG
[0] = once_value_5
;
2517 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2518 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2519 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2520 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2521 if (!once_value_6
) {
2522 fra
.me
.REG
[2] = BOX_NativeString(" < ");
2524 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2525 once_value_6
= fra
.me
.REG
[2];
2526 register_static_object(&once_value_6
);
2527 } else fra
.me
.REG
[2] = once_value_6
;
2528 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2529 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2530 fra
.me
.REG
[4] = CALL_compiling___table_computation___CompiledClass___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2531 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2533 if (!once_value_7
) {
2534 fra
.me
.REG
[4] = BOX_NativeString(": superclass init_table position */");
2535 REGB0
= TAG_Int(35);
2536 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2537 once_value_7
= fra
.me
.REG
[4];
2538 register_static_object(&once_value_7
);
2539 } else fra
.me
.REG
[4] = once_value_7
;
2540 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2542 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2545 stack_frame_head
= fra
.me
.prev
;
2546 return fra
.me
.REG
[3];
2548 val_t
compiling___compiling_global___TableEltClassColor___symbol(val_t p0
){
2549 struct {struct stack_frame_t me
;} fra
;
2551 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2552 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2554 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassColor___symbol
;
2555 fra
.me
.has_broke
= 0;
2556 fra
.me
.REG_size
= 1;
2557 fra
.me
.nitni_local_ref_head
= NULL
;
2558 fra
.me
.REG
[0] = NIT_NULL
;
2560 /* compiling/compiling_global.nit:293 */
2561 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2562 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2563 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2566 stack_frame_head
= fra
.me
.prev
;
2567 return fra
.me
.REG
[0];
2569 val_t
compiling___compiling_global___TableEltClassColor___value(val_t p0
, val_t p1
){
2570 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2573 static val_t once_value_1
; /* Once value */
2574 static val_t once_value_2
; /* Once value */
2575 static val_t once_value_3
; /* Once value */
2576 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2577 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2579 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassColor___value
;
2580 fra
.me
.has_broke
= 0;
2581 fra
.me
.REG_size
= 4;
2582 fra
.me
.nitni_local_ref_head
= NULL
;
2583 fra
.me
.REG
[0] = NIT_NULL
;
2584 fra
.me
.REG
[1] = NIT_NULL
;
2585 fra
.me
.REG
[2] = NIT_NULL
;
2586 fra
.me
.REG
[3] = NIT_NULL
;
2589 /* compiling/compiling_global.nit:297 */
2591 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2592 if (!once_value_1
) {
2593 fra
.me
.REG
[3] = BOX_NativeString("");
2595 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2596 once_value_1
= fra
.me
.REG
[3];
2597 register_static_object(&once_value_1
);
2598 } else fra
.me
.REG
[3] = once_value_1
;
2599 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2600 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2601 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2602 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2603 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2605 if (!once_value_2
) {
2606 fra
.me
.REG
[1] = BOX_NativeString(" /* Color of ");
2607 REGB0
= TAG_Int(13);
2608 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2609 once_value_2
= fra
.me
.REG
[1];
2610 register_static_object(&once_value_2
);
2611 } else fra
.me
.REG
[1] = once_value_2
;
2612 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2613 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2614 fra
.me
.REG
[0] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2615 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2617 if (!once_value_3
) {
2618 fra
.me
.REG
[0] = BOX_NativeString(" */");
2620 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2621 once_value_3
= fra
.me
.REG
[0];
2622 register_static_object(&once_value_3
);
2623 } else fra
.me
.REG
[0] = once_value_3
;
2624 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2625 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2626 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2629 stack_frame_head
= fra
.me
.prev
;
2630 return fra
.me
.REG
[2];
2632 val_t
compiling___compiling_global___TableEltClassColor___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2633 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2636 static val_t once_value_1
; /* Once value */
2637 static val_t once_value_2
; /* Once value */
2638 static val_t once_value_3
; /* Once value */
2639 static val_t once_value_4
; /* Once value */
2640 static val_t once_value_5
; /* Once value */
2641 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2642 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2644 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassColor___compile_to_c
;
2645 fra
.me
.has_broke
= 0;
2646 fra
.me
.REG_size
= 6;
2647 fra
.me
.nitni_local_ref_head
= NULL
;
2648 fra
.me
.REG
[0] = NIT_NULL
;
2649 fra
.me
.REG
[1] = NIT_NULL
;
2650 fra
.me
.REG
[2] = NIT_NULL
;
2651 fra
.me
.REG
[3] = NIT_NULL
;
2652 fra
.me
.REG
[4] = NIT_NULL
;
2653 fra
.me
.REG
[5] = NIT_NULL
;
2657 /* compiling/compiling_global.nit:302 */
2658 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2659 /* compiling/compiling_global.nit:303 */
2660 fra
.me
.REG
[3] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2661 fra
.me
.REG
[4] = CALL_compiling___table_computation___AbsTableEltClass___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2662 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2663 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2664 /* compiling/compiling_global.nit:304 */
2666 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2667 if (!once_value_1
) {
2668 fra
.me
.REG
[5] = BOX_NativeString("");
2670 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2671 once_value_1
= fra
.me
.REG
[5];
2672 register_static_object(&once_value_1
);
2673 } else fra
.me
.REG
[5] = once_value_1
;
2674 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2675 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2676 REGB0
= CALL_compiling___table_computation___CompiledClass___id(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2677 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2678 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2679 if (!once_value_2
) {
2680 fra
.me
.REG
[5] = BOX_NativeString(" /* ");
2682 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2683 once_value_2
= fra
.me
.REG
[5];
2684 register_static_object(&once_value_2
);
2685 } else fra
.me
.REG
[5] = once_value_2
;
2686 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2688 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2689 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2690 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2692 if (!once_value_3
) {
2693 fra
.me
.REG
[0] = BOX_NativeString(": ");
2695 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2696 once_value_3
= fra
.me
.REG
[0];
2697 register_static_object(&once_value_3
);
2698 } else fra
.me
.REG
[0] = once_value_3
;
2699 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2700 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2701 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2703 if (!once_value_4
) {
2704 fra
.me
.REG
[2] = BOX_NativeString(" < ");
2706 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2707 once_value_4
= fra
.me
.REG
[2];
2708 register_static_object(&once_value_4
);
2709 } else fra
.me
.REG
[2] = once_value_4
;
2710 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2712 fra
.me
.REG
[4] = CALL_compiling___table_computation___CompiledClass___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2713 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2715 if (!once_value_5
) {
2716 fra
.me
.REG
[4] = BOX_NativeString(": superclass typecheck marker */");
2717 REGB0
= TAG_Int(32);
2718 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2719 once_value_5
= fra
.me
.REG
[4];
2720 register_static_object(&once_value_5
);
2721 } else fra
.me
.REG
[4] = once_value_5
;
2722 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2723 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2724 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2727 stack_frame_head
= fra
.me
.prev
;
2728 return fra
.me
.REG
[3];
2730 val_t
compiling___compiling_global___TableEltComposite___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2731 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2733 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2734 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2736 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltComposite___compile_to_c
;
2737 fra
.me
.has_broke
= 0;
2738 fra
.me
.REG_size
= 3;
2739 fra
.me
.nitni_local_ref_head
= NULL
;
2740 fra
.me
.REG
[0] = NIT_NULL
;
2741 fra
.me
.REG
[1] = NIT_NULL
;
2742 fra
.me
.REG
[2] = NIT_NULL
;
2746 /* compiling/compiling_global.nit:309 */
2747 nit_abort("Aborted", NULL
, LOCATE_compiling___compiling_global
, 309);
2748 stack_frame_head
= fra
.me
.prev
;
2751 val_t
compiling___compiling_global___TableEltClassSelfId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2752 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2755 static val_t once_value_1
; /* Once value */
2756 static val_t once_value_2
; /* Once value */
2757 static val_t once_value_3
; /* Once value */
2758 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2759 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2761 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassSelfId___compile_to_c
;
2762 fra
.me
.has_broke
= 0;
2763 fra
.me
.REG_size
= 5;
2764 fra
.me
.nitni_local_ref_head
= NULL
;
2765 fra
.me
.REG
[0] = NIT_NULL
;
2766 fra
.me
.REG
[1] = NIT_NULL
;
2767 fra
.me
.REG
[2] = NIT_NULL
;
2768 fra
.me
.REG
[3] = NIT_NULL
;
2769 fra
.me
.REG
[4] = NIT_NULL
;
2773 /* compiling/compiling_global.nit:315 */
2774 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2775 /* compiling/compiling_global.nit:316 */
2777 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2778 if (!once_value_1
) {
2779 fra
.me
.REG
[4] = BOX_NativeString("");
2781 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2782 once_value_1
= fra
.me
.REG
[4];
2783 register_static_object(&once_value_1
);
2784 } else fra
.me
.REG
[4] = once_value_1
;
2785 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2787 fra
.me
.REG
[4] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2788 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2789 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2790 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2791 if (UNTAG_Bool(REGB0
)) {
2792 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 316);
2794 REGB0
= CALL_compiling___table_computation___CompiledClass___id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2795 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2797 if (!once_value_2
) {
2798 fra
.me
.REG
[2] = BOX_NativeString(" /* ");
2800 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2801 once_value_2
= fra
.me
.REG
[2];
2802 register_static_object(&once_value_2
);
2803 } else fra
.me
.REG
[2] = once_value_2
;
2804 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2806 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2807 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2808 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2810 if (!once_value_3
) {
2811 fra
.me
.REG
[0] = BOX_NativeString(": Identity */");
2812 REGB0
= TAG_Int(13);
2813 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2814 once_value_3
= fra
.me
.REG
[0];
2815 register_static_object(&once_value_3
);
2816 } else fra
.me
.REG
[0] = once_value_3
;
2817 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2818 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2819 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2822 stack_frame_head
= fra
.me
.prev
;
2823 return fra
.me
.REG
[3];
2825 val_t
compiling___compiling_global___TableEltClassSelfName___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2826 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2829 static val_t once_value_1
; /* Once value */
2830 static val_t once_value_2
; /* Once value */
2831 static val_t once_value_3
; /* Once value */
2832 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2833 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2835 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassSelfName___compile_to_c
;
2836 fra
.me
.has_broke
= 0;
2837 fra
.me
.REG_size
= 5;
2838 fra
.me
.nitni_local_ref_head
= NULL
;
2839 fra
.me
.REG
[0] = NIT_NULL
;
2840 fra
.me
.REG
[1] = NIT_NULL
;
2841 fra
.me
.REG
[2] = NIT_NULL
;
2842 fra
.me
.REG
[3] = NIT_NULL
;
2843 fra
.me
.REG
[4] = NIT_NULL
;
2847 /* compiling/compiling_global.nit:323 */
2848 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2849 /* compiling/compiling_global.nit:324 */
2851 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2852 if (!once_value_1
) {
2853 fra
.me
.REG
[4] = BOX_NativeString("\"");
2855 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2856 once_value_1
= fra
.me
.REG
[4];
2857 register_static_object(&once_value_1
);
2858 } else fra
.me
.REG
[4] = once_value_1
;
2859 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2861 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2862 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2863 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2865 if (!once_value_2
) {
2866 fra
.me
.REG
[2] = BOX_NativeString("\" /* ");
2868 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2869 once_value_2
= fra
.me
.REG
[2];
2870 register_static_object(&once_value_2
);
2871 } else fra
.me
.REG
[2] = once_value_2
;
2872 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2873 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2874 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2875 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2876 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2878 if (!once_value_3
) {
2879 fra
.me
.REG
[0] = BOX_NativeString(": Class Name */");
2880 REGB0
= TAG_Int(15);
2881 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2882 once_value_3
= fra
.me
.REG
[0];
2883 register_static_object(&once_value_3
);
2884 } else fra
.me
.REG
[0] = once_value_3
;
2885 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2887 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2890 stack_frame_head
= fra
.me
.prev
;
2891 return fra
.me
.REG
[3];
2893 val_t
compiling___compiling_global___TableEltClassObjectSize___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
2894 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2900 static val_t once_value_1
; /* Once value */
2901 static val_t once_value_3
; /* Once value */
2902 static val_t once_value_4
; /* Once value */
2903 static val_t once_value_5
; /* Once value */
2904 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2905 fra
.me
.file
= LOCATE_compiling___compiling_global
;
2907 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltClassObjectSize___compile_to_c
;
2908 fra
.me
.has_broke
= 0;
2909 fra
.me
.REG_size
= 5;
2910 fra
.me
.nitni_local_ref_head
= NULL
;
2911 fra
.me
.REG
[0] = NIT_NULL
;
2912 fra
.me
.REG
[1] = NIT_NULL
;
2913 fra
.me
.REG
[2] = NIT_NULL
;
2914 fra
.me
.REG
[3] = NIT_NULL
;
2915 fra
.me
.REG
[4] = NIT_NULL
;
2919 /* compiling/compiling_global.nit:331 */
2921 /* compiling/compiling_global.nit:332 */
2922 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2923 /* compiling/compiling_global.nit:333 */
2924 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2925 if (!once_value_1
) {
2926 fra
.me
.REG
[4] = BOX_NativeString("NativeArray");
2927 REGB1
= TAG_Int(11);
2928 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2929 once_value_1
= fra
.me
.REG
[4];
2930 register_static_object(&once_value_1
);
2931 } else fra
.me
.REG
[4] = once_value_1
;
2932 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2933 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2934 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
2935 if (UNTAG_Bool(REGB1
)) {
2937 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2940 if (UNTAG_Bool(REGB1
)) {
2941 /* compiling/compiling_global.nit:334 */
2943 /* ../lib/standard/kernel.nit:236 */
2944 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
2945 /* compiling/compiling_global.nit:334 */
2948 /* compiling/compiling_global.nit:336 */
2949 fra
.me
.REG
[4] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2950 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2951 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2952 /* compiling/compiling_global.nit:337 */
2953 fra
.me
.REG
[2] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2954 /* ../lib/standard/collection/array.nit:269 */
2956 /* ../lib/standard/collection/array.nit:270 */
2957 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2958 if (UNTAG_Bool(REGB2
)) {
2960 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2962 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2963 /* ../lib/standard/collection/array.nit:271 */
2964 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2965 /* ../lib/standard/collection/array.nit:272 */
2967 /* ../lib/standard/collection/array.nit:24 */
2968 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2969 if (UNTAG_Bool(REGB2
)) {
2971 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2973 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2974 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2975 if (UNTAG_Bool(REGB3
)) {
2977 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2979 /* ../lib/standard/kernel.nit:232 */
2980 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
2981 /* ../lib/standard/collection/array.nit:272 */
2982 if (UNTAG_Bool(REGB2
)) {
2983 /* ../lib/standard/collection/array.nit:273 */
2984 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2985 if (UNTAG_Bool(REGB2
)) {
2986 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2988 /* ../lib/standard/collection/array.nit:718 */
2989 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
2990 /* compiling/compiling_global.nit:339 */
2992 /* ../lib/standard/kernel.nit:235 */
2993 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2994 /* compiling/compiling_global.nit:339 */
2996 /* ../lib/standard/collection/array.nit:274 */
2998 /* ../lib/standard/kernel.nit:235 */
2999 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
3000 /* ../lib/standard/collection/array.nit:274 */
3003 /* ../lib/standard/collection/array.nit:272 */
3009 /* compiling/compiling_global.nit:342 */
3011 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3012 if (!once_value_3
) {
3013 fra
.me
.REG
[2] = BOX_NativeString("");
3015 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
3016 once_value_3
= fra
.me
.REG
[2];
3017 register_static_object(&once_value_3
);
3018 } else fra
.me
.REG
[2] = once_value_3
;
3019 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3020 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3021 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3023 if (!once_value_4
) {
3024 fra
.me
.REG
[2] = BOX_NativeString(" /* ");
3026 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3027 once_value_4
= fra
.me
.REG
[2];
3028 register_static_object(&once_value_4
);
3029 } else fra
.me
.REG
[2] = once_value_4
;
3030 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3032 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3033 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3034 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3035 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3036 if (!once_value_5
) {
3037 fra
.me
.REG
[0] = BOX_NativeString(": Object size (-1 if a NativeArray)*/");
3038 REGB0
= TAG_Int(37);
3039 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3040 once_value_5
= fra
.me
.REG
[0];
3041 register_static_object(&once_value_5
);
3042 } else fra
.me
.REG
[0] = once_value_5
;
3043 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3045 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3048 stack_frame_head
= fra
.me
.prev
;
3049 return fra
.me
.REG
[4];
3051 val_t
compiling___compiling_global___TableEltObjectId___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
3052 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3055 static val_t once_value_1
; /* Once value */
3056 static val_t once_value_2
; /* Once value */
3057 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3058 fra
.me
.file
= LOCATE_compiling___compiling_global
;
3060 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltObjectId___compile_to_c
;
3061 fra
.me
.has_broke
= 0;
3062 fra
.me
.REG_size
= 4;
3063 fra
.me
.nitni_local_ref_head
= NULL
;
3064 fra
.me
.REG
[0] = NIT_NULL
;
3065 fra
.me
.REG
[1] = NIT_NULL
;
3066 fra
.me
.REG
[2] = NIT_NULL
;
3067 fra
.me
.REG
[3] = NIT_NULL
;
3071 /* compiling/compiling_global.nit:349 */
3072 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3073 /* compiling/compiling_global.nit:350 */
3075 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3076 if (!once_value_1
) {
3077 fra
.me
.REG
[3] = BOX_NativeString("/* ");
3079 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3080 once_value_1
= fra
.me
.REG
[3];
3081 register_static_object(&once_value_1
);
3082 } else fra
.me
.REG
[3] = once_value_1
;
3083 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3085 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3086 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3087 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3088 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3089 if (!once_value_2
) {
3090 fra
.me
.REG
[0] = BOX_NativeString(": Object_id */");
3091 REGB0
= TAG_Int(14);
3092 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3093 once_value_2
= fra
.me
.REG
[0];
3094 register_static_object(&once_value_2
);
3095 } else fra
.me
.REG
[0] = once_value_2
;
3096 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3098 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3101 stack_frame_head
= fra
.me
.prev
;
3102 return fra
.me
.REG
[2];
3104 val_t
compiling___compiling_global___TableEltVftPointer___compile_to_c(val_t p0
, val_t p1
, val_t p2
){
3105 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3108 static val_t once_value_1
; /* Once value */
3109 static val_t once_value_2
; /* Once value */
3110 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3111 fra
.me
.file
= LOCATE_compiling___compiling_global
;
3113 fra
.me
.meth
= LOCATE_compiling___compiling_global___TableEltVftPointer___compile_to_c
;
3114 fra
.me
.has_broke
= 0;
3115 fra
.me
.REG_size
= 4;
3116 fra
.me
.nitni_local_ref_head
= NULL
;
3117 fra
.me
.REG
[0] = NIT_NULL
;
3118 fra
.me
.REG
[1] = NIT_NULL
;
3119 fra
.me
.REG
[2] = NIT_NULL
;
3120 fra
.me
.REG
[3] = NIT_NULL
;
3124 /* compiling/compiling_global.nit:357 */
3125 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3126 /* compiling/compiling_global.nit:358 */
3128 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3129 if (!once_value_1
) {
3130 fra
.me
.REG
[3] = BOX_NativeString("/* ");
3132 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3133 once_value_1
= fra
.me
.REG
[3];
3134 register_static_object(&once_value_1
);
3135 } else fra
.me
.REG
[3] = once_value_1
;
3136 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3138 fra
.me
.REG
[1] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3139 REGB0
= CALL_compiling___table_computation___ColorContext___color(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3140 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3142 if (!once_value_2
) {
3143 fra
.me
.REG
[0] = BOX_NativeString(": Pointer to the classtable */");
3144 REGB0
= TAG_Int(30);
3145 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3146 once_value_2
= fra
.me
.REG
[0];
3147 register_static_object(&once_value_2
);
3148 } else fra
.me
.REG
[0] = once_value_2
;
3149 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3150 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3151 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3154 stack_frame_head
= fra
.me
.prev
;
3155 return fra
.me
.REG
[2];
3157 void compiling___compiling_global___MMLocalClass___declare_tables_to_c(val_t p0
, val_t p1
){
3158 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3162 static val_t once_value_1
; /* Once value */
3163 static val_t once_value_2
; /* Once value */
3164 static val_t once_value_3
; /* Once value */
3165 static val_t once_value_4
; /* Once value */
3166 static val_t once_value_5
; /* Once value */
3167 static val_t once_value_6
; /* Once value */
3168 static val_t once_value_7
; /* Once value */
3169 static val_t once_value_8
; /* Once value */
3170 static val_t once_value_9
; /* Once value */
3171 static val_t once_value_10
; /* Once value */
3172 static val_t once_value_11
; /* Once value */
3173 static val_t once_value_12
; /* Once value */
3174 static val_t once_value_13
; /* Once value */
3175 static val_t once_value_14
; /* Once value */
3176 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3177 fra
.me
.file
= LOCATE_compiling___compiling_global
;
3179 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMLocalClass___declare_tables_to_c
;
3180 fra
.me
.has_broke
= 0;
3181 fra
.me
.REG_size
= 6;
3182 fra
.me
.nitni_local_ref_head
= NULL
;
3183 fra
.me
.REG
[0] = NIT_NULL
;
3184 fra
.me
.REG
[1] = NIT_NULL
;
3185 fra
.me
.REG
[2] = NIT_NULL
;
3186 fra
.me
.REG
[3] = NIT_NULL
;
3187 fra
.me
.REG
[4] = NIT_NULL
;
3188 fra
.me
.REG
[5] = NIT_NULL
;
3191 /* compiling/compiling_global.nit:368 */
3192 if (!once_value_1
) {
3193 fra
.me
.REG
[2] = BOX_NativeString("");
3195 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3196 once_value_1
= fra
.me
.REG
[2];
3197 register_static_object(&once_value_1
);
3198 } else fra
.me
.REG
[2] = once_value_1
;
3199 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3200 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3201 /* compiling/compiling_global.nit:369 */
3202 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3203 /* compiling/compiling_global.nit:370 */
3205 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3206 if (!once_value_2
) {
3207 fra
.me
.REG
[4] = BOX_NativeString("extern const classtable_elt_t VFT_");
3208 REGB0
= TAG_Int(34);
3209 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3210 once_value_2
= fra
.me
.REG
[4];
3211 register_static_object(&once_value_2
);
3212 } else fra
.me
.REG
[4] = once_value_2
;
3213 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3215 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3217 if (!once_value_3
) {
3218 fra
.me
.REG
[4] = BOX_NativeString("[];");
3220 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3221 once_value_3
= fra
.me
.REG
[4];
3222 register_static_object(&once_value_3
);
3223 } else fra
.me
.REG
[4] = once_value_3
;
3224 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3225 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3226 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3227 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3228 /* compiling/compiling_global.nit:371 */
3229 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3230 if (UNTAG_Bool(REGB0
)) {
3232 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3233 if (UNTAG_Bool(REGB1
)) {
3234 REGB1
= TAG_Bool(false);
3237 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3241 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3242 if (UNTAG_Bool(REGB0
)) {
3243 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3244 if (UNTAG_Bool(REGB0
)) {
3245 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 371);
3247 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3248 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3250 REGB1
= TAG_Bool(false);
3253 if (UNTAG_Bool(REGB0
)) {
3254 /* compiling/compiling_global.nit:372 */
3255 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3256 if (UNTAG_Bool(REGB0
)) {
3257 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 372);
3259 fra
.me
.REG
[2] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3260 /* compiling/compiling_global.nit:373 */
3262 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3263 if (!once_value_4
) {
3264 fra
.me
.REG
[4] = BOX_NativeString("struct TBOX_");
3265 REGB0
= TAG_Int(12);
3266 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3267 once_value_4
= fra
.me
.REG
[4];
3268 register_static_object(&once_value_4
);
3269 } else fra
.me
.REG
[4] = once_value_4
;
3270 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3272 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3273 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3275 if (!once_value_5
) {
3276 fra
.me
.REG
[4] = BOX_NativeString("");
3278 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3279 once_value_5
= fra
.me
.REG
[4];
3280 register_static_object(&once_value_5
);
3281 } else fra
.me
.REG
[4] = once_value_5
;
3282 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3283 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3284 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3285 /* compiling/compiling_global.nit:374 */
3287 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3288 if (!once_value_6
) {
3289 fra
.me
.REG
[5] = BOX_NativeString("");
3291 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3292 once_value_6
= fra
.me
.REG
[5];
3293 register_static_object(&once_value_6
);
3294 } else fra
.me
.REG
[5] = once_value_6
;
3295 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3298 if (!once_value_7
) {
3299 fra
.me
.REG
[5] = BOX_NativeString(" { const classtable_elt_t * vft; bigint object_id; ");
3300 REGB0
= TAG_Int(51);
3301 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3302 once_value_7
= fra
.me
.REG
[5];
3303 register_static_object(&once_value_7
);
3304 } else fra
.me
.REG
[5] = once_value_7
;
3305 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3308 if (!once_value_8
) {
3309 fra
.me
.REG
[5] = BOX_NativeString(" val;};");
3311 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3312 once_value_8
= fra
.me
.REG
[5];
3313 register_static_object(&once_value_8
);
3314 } else fra
.me
.REG
[5] = once_value_8
;
3315 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3317 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3318 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3319 /* compiling/compiling_global.nit:375 */
3321 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3322 if (!once_value_9
) {
3323 fra
.me
.REG
[5] = BOX_NativeString("val_t BOX_");
3324 REGB0
= TAG_Int(10);
3325 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3326 once_value_9
= fra
.me
.REG
[5];
3327 register_static_object(&once_value_9
);
3328 } else fra
.me
.REG
[5] = once_value_9
;
3329 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3330 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3331 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3332 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3334 if (!once_value_10
) {
3335 fra
.me
.REG
[5] = BOX_NativeString("(");
3337 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3338 once_value_10
= fra
.me
.REG
[5];
3339 register_static_object(&once_value_10
);
3340 } else fra
.me
.REG
[5] = once_value_10
;
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_11
) {
3345 fra
.me
.REG
[2] = BOX_NativeString(" val);");
3347 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3348 once_value_11
= fra
.me
.REG
[2];
3349 register_static_object(&once_value_11
);
3350 } else fra
.me
.REG
[2] = once_value_11
;
3351 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
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:376 */
3357 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3358 if (!once_value_12
) {
3359 fra
.me
.REG
[2] = BOX_NativeString("#define UNBOX_");
3360 REGB0
= TAG_Int(14);
3361 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3362 once_value_12
= fra
.me
.REG
[2];
3363 register_static_object(&once_value_12
);
3364 } else fra
.me
.REG
[2] = once_value_12
;
3365 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3367 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3368 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3370 if (!once_value_13
) {
3371 fra
.me
.REG
[0] = BOX_NativeString("(x) (((");
3373 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3374 once_value_13
= fra
.me
.REG
[0];
3375 register_static_object(&once_value_13
);
3376 } else fra
.me
.REG
[0] = once_value_13
;
3377 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3378 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3380 if (!once_value_14
) {
3381 fra
.me
.REG
[3] = BOX_NativeString(" *)(VAL2OBJ(x)))->val)");
3382 REGB0
= TAG_Int(22);
3383 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3384 once_value_14
= fra
.me
.REG
[3];
3385 register_static_object(&once_value_14
);
3386 } else fra
.me
.REG
[3] = once_value_14
;
3387 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3388 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
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]);
3392 stack_frame_head
= fra
.me
.prev
;
3395 void compiling___compiling_global___MMLocalClass___compile_tables_to_c(val_t p0
, val_t p1
){
3396 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
3402 static val_t once_value_1
; /* Once value */
3403 static val_t once_value_2
; /* Once value */
3404 static val_t once_value_3
; /* Once value */
3405 static val_t once_value_4
; /* Once value */
3406 static val_t once_value_5
; /* Once value */
3407 static val_t once_value_6
; /* Once value */
3408 static val_t once_value_8
; /* Once value */
3409 static val_t once_value_9
; /* Once value */
3410 static val_t once_value_10
; /* Once value */
3411 static val_t once_value_12
; /* Once value */
3412 static val_t once_value_13
; /* Once value */
3413 static val_t once_value_14
; /* Once value */
3414 static val_t once_value_15
; /* Once value */
3415 static val_t once_value_16
; /* Once value */
3416 static val_t once_value_17
; /* Once value */
3417 static val_t once_value_18
; /* Once value */
3418 static val_t once_value_19
; /* Once value */
3419 static val_t once_value_20
; /* Once value */
3420 static val_t once_value_21
; /* Once value */
3421 static val_t once_value_22
; /* Once value */
3422 static val_t once_value_23
; /* Once value */
3423 static val_t once_value_24
; /* Once value */
3424 static val_t once_value_25
; /* Once value */
3425 static val_t once_value_26
; /* Once value */
3426 static val_t once_value_27
; /* Once value */
3427 static val_t once_value_28
; /* Once value */
3428 static val_t once_value_29
; /* Once value */
3429 static val_t once_value_30
; /* Once value */
3430 static val_t once_value_31
; /* Once value */
3431 static val_t once_value_32
; /* Once value */
3432 static val_t once_value_33
; /* Once value */
3433 static val_t once_value_34
; /* Once value */
3434 static val_t once_value_35
; /* Once value */
3435 static val_t once_value_36
; /* Once value */
3436 static val_t once_value_37
; /* Once value */
3437 static val_t once_value_38
; /* Once value */
3438 static val_t once_value_39
; /* Once value */
3439 static val_t once_value_40
; /* Once value */
3440 static val_t once_value_41
; /* Once value */
3441 static val_t once_value_42
; /* Once value */
3442 static val_t once_value_43
; /* Once value */
3443 static val_t once_value_44
; /* Once value */
3444 static val_t once_value_45
; /* Once value */
3445 static val_t once_value_46
; /* Once value */
3446 static val_t once_value_47
; /* Once value */
3447 static val_t once_value_48
; /* Once value */
3448 static val_t once_value_49
; /* Once value */
3449 static val_t once_value_50
; /* Once value */
3450 static val_t once_value_62
; /* Once value */
3451 static val_t once_value_63
; /* Once value */
3452 static val_t once_value_64
; /* Once value */
3453 static val_t once_value_65
; /* Once value */
3454 static val_t once_value_66
; /* Once value */
3455 static val_t once_value_67
; /* Once value */
3456 static val_t once_value_68
; /* Once value */
3457 static val_t once_value_69
; /* Once value */
3458 static val_t once_value_70
; /* Once value */
3459 static val_t once_value_71
; /* Once value */
3460 static val_t once_value_72
; /* Once value */
3461 static val_t once_value_73
; /* Once value */
3462 static val_t once_value_74
; /* Once value */
3463 static val_t once_value_75
; /* Once value */
3464 static val_t once_value_76
; /* Once value */
3465 static val_t once_value_77
; /* Once value */
3466 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3467 fra
.me
.file
= LOCATE_compiling___compiling_global
;
3469 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMLocalClass___compile_tables_to_c
;
3470 fra
.me
.has_broke
= 0;
3471 fra
.me
.REG_size
= 10;
3472 fra
.me
.nitni_local_ref_head
= NULL
;
3473 fra
.me
.REG
[0] = NIT_NULL
;
3474 fra
.me
.REG
[1] = NIT_NULL
;
3475 fra
.me
.REG
[2] = NIT_NULL
;
3476 fra
.me
.REG
[3] = NIT_NULL
;
3477 fra
.me
.REG
[4] = NIT_NULL
;
3478 fra
.me
.REG
[5] = NIT_NULL
;
3479 fra
.me
.REG
[6] = NIT_NULL
;
3480 fra
.me
.REG
[7] = NIT_NULL
;
3481 fra
.me
.REG
[8] = NIT_NULL
;
3482 fra
.me
.REG
[9] = NIT_NULL
;
3485 /* compiling/compiling_global.nit:380 */
3486 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3487 /* compiling/compiling_global.nit:383 */
3488 fra
.me
.REG
[3] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3489 fra
.me
.REG
[3] = CALL_compiling___table_computation___Program___compiled_classes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3490 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3491 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3492 /* compiling/compiling_global.nit:384 */
3493 fra
.me
.REG
[3] = CALL_compiling___table_computation___CompiledClass___class_table(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3494 /* ../lib/standard/collection/array.nit:24 */
3495 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3496 if (UNTAG_Bool(REGB0
)) {
3498 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3500 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3501 /* compiling/compiling_global.nit:386 */
3502 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3503 fra
.me
.REG
[5] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3504 REGB1
= CALL_compiling___table_computation___TableInformation___max_class_table_length(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3505 /* ../lib/standard/collection/array.nit:24 */
3506 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3507 if (UNTAG_Bool(REGB2
)) {
3509 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3511 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3512 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
3513 if (UNTAG_Bool(REGB3
)) {
3515 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3517 /* ../lib/standard/kernel.nit:234 */
3518 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
3519 /* compiling/compiling_global.nit:386 */
3520 if (UNTAG_Bool(REGB2
)) {
3521 /* compiling/compiling_global.nit:387 */
3522 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___program(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3523 fra
.me
.REG
[5] = CALL_compiling___table_computation___Program___table_information(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3524 REGB2
= CALL_compiling___table_computation___TableInformation___max_class_table_length(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3527 /* compiling/compiling_global.nit:390 */
3529 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3530 if (!once_value_1
) {
3531 fra
.me
.REG
[6] = BOX_NativeString("const classtable_elt_t VFT_");
3532 REGB2
= TAG_Int(27);
3533 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3534 once_value_1
= fra
.me
.REG
[6];
3535 register_static_object(&once_value_1
);
3536 } else fra
.me
.REG
[6] = once_value_1
;
3537 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3538 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3539 fra
.me
.REG
[6] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3540 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3541 if (!once_value_2
) {
3542 fra
.me
.REG
[6] = BOX_NativeString("[");
3544 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3545 once_value_2
= fra
.me
.REG
[6];
3546 register_static_object(&once_value_2
);
3547 } else fra
.me
.REG
[6] = once_value_2
;
3548 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3550 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3552 if (!once_value_3
) {
3553 fra
.me
.REG
[6] = BOX_NativeString("] = {");
3555 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3556 once_value_3
= fra
.me
.REG
[6];
3557 register_static_object(&once_value_3
);
3558 } else fra
.me
.REG
[6] = once_value_3
;
3559 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3560 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3561 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3562 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3563 /* compiling/compiling_global.nit:391 */
3564 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3565 /* ../lib/standard/collection/array.nit:266 */
3566 fra
.me
.REG
[5] = fra
.me
.REG
[3];
3567 /* ../lib/standard/collection/array.nit:269 */
3569 /* ../lib/standard/collection/array.nit:270 */
3570 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
3571 if (UNTAG_Bool(REGB1
)) {
3573 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
3575 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
3576 /* ../lib/standard/collection/array.nit:271 */
3577 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
3578 /* ../lib/standard/collection/array.nit:272 */
3580 /* ../lib/standard/collection/array.nit:24 */
3581 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
3582 if (UNTAG_Bool(REGB1
)) {
3584 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3586 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
3587 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
3588 if (UNTAG_Bool(REGB3
)) {
3590 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3592 /* ../lib/standard/kernel.nit:232 */
3593 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
3594 /* ../lib/standard/collection/array.nit:272 */
3595 if (UNTAG_Bool(REGB1
)) {
3596 /* ../lib/standard/collection/array.nit:273 */
3597 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3598 if (UNTAG_Bool(REGB1
)) {
3599 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
3601 /* ../lib/standard/collection/array.nit:718 */
3602 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
3603 /* compiling/compiling_global.nit:393 */
3604 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3605 if (UNTAG_Bool(REGB1
)) {
3607 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3608 if (UNTAG_Bool(REGB3
)) {
3609 REGB3
= TAG_Bool(false);
3612 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
3616 if (UNTAG_Bool(REGB1
)) {
3617 /* compiling/compiling_global.nit:394 */
3618 if (!once_value_4
) {
3619 fra
.me
.REG
[8] = BOX_NativeString("{0} /* Class Hole :( */,");
3620 REGB1
= TAG_Int(24);
3621 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3622 once_value_4
= fra
.me
.REG
[8];
3623 register_static_object(&once_value_4
);
3624 } else fra
.me
.REG
[8] = once_value_4
;
3625 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3626 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
3628 /* compiling/compiling_global.nit:396 */
3630 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3631 if (!once_value_5
) {
3632 fra
.me
.REG
[9] = BOX_NativeString("{(bigint) ");
3633 REGB1
= TAG_Int(10);
3634 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
3635 once_value_5
= fra
.me
.REG
[9];
3636 register_static_object(&once_value_5
);
3637 } else fra
.me
.REG
[9] = once_value_5
;
3638 fra
.me
.REG
[9] = fra
.me
.REG
[9];
3639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3640 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3641 if (UNTAG_Bool(REGB1
)) {
3642 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 396);
3644 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]);
3645 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3646 if (!once_value_6
) {
3647 fra
.me
.REG
[7] = BOX_NativeString("},");
3649 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
3650 once_value_6
= fra
.me
.REG
[7];
3651 register_static_object(&once_value_6
);
3652 } else fra
.me
.REG
[7] = once_value_6
;
3653 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3654 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3655 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3656 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
3658 /* ../lib/standard/collection/array.nit:274 */
3660 /* ../lib/standard/kernel.nit:235 */
3661 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
3662 /* ../lib/standard/collection/array.nit:274 */
3665 /* ../lib/standard/collection/array.nit:272 */
3670 /* ../lib/standard/collection/array.nit:24 */
3671 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3672 if (UNTAG_Bool(REGB2
)) {
3674 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3676 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3677 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3678 if (UNTAG_Bool(REGB1
)) {
3680 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3682 /* ../lib/standard/kernel.nit:234 */
3683 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB2
));
3684 /* compiling/compiling_global.nit:399 */
3685 if (UNTAG_Bool(REGB2
)) {
3686 /* compiling/compiling_global.nit:400 */
3687 if (!once_value_8
) {
3688 fra
.me
.REG
[6] = BOX_NativeString("{0},");
3690 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3691 once_value_8
= fra
.me
.REG
[6];
3692 register_static_object(&once_value_8
);
3693 } else fra
.me
.REG
[6] = once_value_8
;
3694 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3695 /* ../lib/standard/collection/array.nit:24 */
3696 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3697 if (UNTAG_Bool(REGB2
)) {
3699 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3701 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3702 /* ../lib/standard/kernel.nit:237 */
3703 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
3704 /* compiling/compiling_global.nit:400 */
3705 fra
.me
.REG
[6] = CALL_standard___string___String_____star(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
3706 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3708 /* compiling/compiling_global.nit:402 */
3709 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3710 /* compiling/compiling_global.nit:403 */
3711 if (!once_value_9
) {
3712 fra
.me
.REG
[6] = BOX_NativeString("};");
3714 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3715 once_value_9
= fra
.me
.REG
[6];
3716 register_static_object(&once_value_9
);
3717 } else fra
.me
.REG
[6] = once_value_9
;
3718 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3719 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
3720 /* compiling/compiling_global.nit:404 */
3721 fra
.me
.REG
[4] = CALL_compiling___table_computation___CompiledClass___instance_table(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3722 /* ../lib/standard/collection/array.nit:266 */
3723 fra
.me
.REG
[6] = fra
.me
.REG
[4];
3724 /* ../lib/standard/collection/array.nit:269 */
3726 /* ../lib/standard/collection/array.nit:270 */
3727 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
3728 if (UNTAG_Bool(REGB0
)) {
3730 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
3732 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
3733 /* ../lib/standard/collection/array.nit:271 */
3734 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
3735 /* ../lib/standard/collection/array.nit:272 */
3737 /* ../lib/standard/collection/array.nit:24 */
3738 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
3739 if (UNTAG_Bool(REGB0
)) {
3741 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3743 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
3744 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
3745 if (UNTAG_Bool(REGB1
)) {
3747 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3749 /* ../lib/standard/kernel.nit:232 */
3750 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
3751 /* ../lib/standard/collection/array.nit:272 */
3752 if (UNTAG_Bool(REGB0
)) {
3753 /* ../lib/standard/collection/array.nit:273 */
3754 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3755 if (UNTAG_Bool(REGB0
)) {
3756 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
3758 /* ../lib/standard/collection/array.nit:718 */
3759 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB2
)];
3760 /* compiling/compiling_global.nit:406 */
3761 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3762 if (UNTAG_Bool(REGB0
)) {
3764 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3765 if (UNTAG_Bool(REGB1
)) {
3766 REGB1
= TAG_Bool(false);
3769 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3773 if (UNTAG_Bool(REGB0
)) {
3774 /* compiling/compiling_global.nit:407 */
3775 if (!once_value_10
) {
3776 fra
.me
.REG
[8] = BOX_NativeString("/* Instance Hole :( */");
3777 REGB0
= TAG_Int(22);
3778 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3779 once_value_10
= fra
.me
.REG
[8];
3780 register_static_object(&once_value_10
);
3781 } else fra
.me
.REG
[8] = once_value_10
;
3782 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3783 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
3785 /* compiling/compiling_global.nit:409 */
3786 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3787 if (UNTAG_Bool(REGB0
)) {
3788 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 409);
3790 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]);
3791 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3793 /* ../lib/standard/collection/array.nit:274 */
3795 /* ../lib/standard/kernel.nit:235 */
3796 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
3797 /* ../lib/standard/collection/array.nit:274 */
3800 /* ../lib/standard/collection/array.nit:272 */
3805 /* compiling/compiling_global.nit:413 */
3806 fra
.me
.REG
[3] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3807 /* compiling/compiling_global.nit:414 */
3808 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3809 if (!once_value_12
) {
3810 fra
.me
.REG
[5] = BOX_NativeString("NativeArray");
3811 REGB2
= TAG_Int(11);
3812 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3813 once_value_12
= fra
.me
.REG
[5];
3814 register_static_object(&once_value_12
);
3815 } else fra
.me
.REG
[5] = once_value_12
;
3816 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3817 fra
.me
.REG
[5] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3818 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[6],fra
.me
.REG
[5]));
3819 if (UNTAG_Bool(REGB2
)) {
3821 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3824 if (UNTAG_Bool(REGB2
)) {
3825 /* compiling/compiling_global.nit:415 */
3826 if (!once_value_13
) {
3827 fra
.me
.REG
[5] = BOX_NativeString("val_t NEW_NativeArray(size_t length, size_t size) {");
3828 REGB2
= TAG_Int(51);
3829 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3830 once_value_13
= fra
.me
.REG
[5];
3831 register_static_object(&once_value_13
);
3832 } else fra
.me
.REG
[5] = once_value_13
;
3833 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3834 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3835 /* compiling/compiling_global.nit:416 */
3836 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3837 /* compiling/compiling_global.nit:417 */
3838 if (!once_value_14
) {
3839 fra
.me
.REG
[5] = BOX_NativeString("Nit_NativeArray array;");
3840 REGB2
= TAG_Int(22);
3841 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3842 once_value_14
= fra
.me
.REG
[5];
3843 register_static_object(&once_value_14
);
3844 } else fra
.me
.REG
[5] = once_value_14
;
3845 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3846 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3847 /* compiling/compiling_global.nit:418 */
3848 if (!once_value_15
) {
3849 fra
.me
.REG
[5] = BOX_NativeString("array = (Nit_NativeArray)alloc(sizeof(struct Nit_NativeArray) + ((length - 1) * size));");
3850 REGB2
= TAG_Int(87);
3851 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3852 once_value_15
= fra
.me
.REG
[5];
3853 register_static_object(&once_value_15
);
3854 } else fra
.me
.REG
[5] = once_value_15
;
3855 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3856 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3857 /* compiling/compiling_global.nit:419 */
3859 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3860 if (!once_value_16
) {
3861 fra
.me
.REG
[6] = BOX_NativeString("array->vft = (classtable_elt_t*)VFT_");
3862 REGB2
= TAG_Int(36);
3863 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3864 once_value_16
= fra
.me
.REG
[6];
3865 register_static_object(&once_value_16
);
3866 } else fra
.me
.REG
[6] = once_value_16
;
3867 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3869 fra
.me
.REG
[6] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3871 if (!once_value_17
) {
3872 fra
.me
.REG
[6] = BOX_NativeString(";");
3874 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3875 once_value_17
= fra
.me
.REG
[6];
3876 register_static_object(&once_value_17
);
3877 } else fra
.me
.REG
[6] = once_value_17
;
3878 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3880 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3881 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3882 /* compiling/compiling_global.nit:420 */
3883 if (!once_value_18
) {
3884 fra
.me
.REG
[5] = BOX_NativeString("array->object_id = object_id_counter;");
3885 REGB2
= TAG_Int(37);
3886 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3887 once_value_18
= fra
.me
.REG
[5];
3888 register_static_object(&once_value_18
);
3889 } else fra
.me
.REG
[5] = once_value_18
;
3890 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3891 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3892 /* compiling/compiling_global.nit:421 */
3893 if (!once_value_19
) {
3894 fra
.me
.REG
[5] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
3895 REGB2
= TAG_Int(42);
3896 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3897 once_value_19
= fra
.me
.REG
[5];
3898 register_static_object(&once_value_19
);
3899 } else fra
.me
.REG
[5] = once_value_19
;
3900 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3901 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3902 /* compiling/compiling_global.nit:422 */
3903 if (!once_value_20
) {
3904 fra
.me
.REG
[5] = BOX_NativeString("array->size = length;");
3905 REGB2
= TAG_Int(21);
3906 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3907 once_value_20
= fra
.me
.REG
[5];
3908 register_static_object(&once_value_20
);
3909 } else fra
.me
.REG
[5] = once_value_20
;
3910 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3911 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3912 /* compiling/compiling_global.nit:423 */
3913 if (!once_value_21
) {
3914 fra
.me
.REG
[5] = BOX_NativeString("return OBJ2VAL(array);");
3915 REGB2
= TAG_Int(22);
3916 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3917 once_value_21
= fra
.me
.REG
[5];
3918 register_static_object(&once_value_21
);
3919 } else fra
.me
.REG
[5] = once_value_21
;
3920 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3921 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3922 /* compiling/compiling_global.nit:424 */
3923 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3924 /* compiling/compiling_global.nit:425 */
3925 if (!once_value_22
) {
3926 fra
.me
.REG
[5] = BOX_NativeString("}");
3928 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
3929 once_value_22
= fra
.me
.REG
[5];
3930 register_static_object(&once_value_22
);
3931 } else fra
.me
.REG
[5] = once_value_22
;
3932 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3933 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
3935 /* compiling/compiling_global.nit:426 */
3936 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3937 if (UNTAG_Bool(REGB2
)) {
3939 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3940 if (UNTAG_Bool(REGB0
)) {
3941 REGB0
= TAG_Bool(false);
3944 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3948 if (UNTAG_Bool(REGB2
)) {
3949 /* compiling/compiling_global.nit:429 */
3951 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3952 if (!once_value_23
) {
3953 fra
.me
.REG
[6] = BOX_NativeString("INIT_ATTRIBUTES__");
3954 REGB2
= TAG_Int(17);
3955 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3956 once_value_23
= fra
.me
.REG
[6];
3957 register_static_object(&once_value_23
);
3958 } else fra
.me
.REG
[6] = once_value_23
;
3959 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3960 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3961 fra
.me
.REG
[6] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3963 if (!once_value_24
) {
3964 fra
.me
.REG
[6] = BOX_NativeString("");
3966 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
3967 once_value_24
= fra
.me
.REG
[6];
3968 register_static_object(&once_value_24
);
3969 } else fra
.me
.REG
[6] = once_value_24
;
3970 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3972 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3973 /* compiling/compiling_global.nit:430 */
3974 fra
.me
.REG
[6] = CALL_program___MMLocalClass___init_var_iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3976 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3977 if (!once_value_25
) {
3978 fra
.me
.REG
[7] = BOX_NativeString("init var of ");
3979 REGB2
= TAG_Int(12);
3980 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
3981 once_value_25
= fra
.me
.REG
[7];
3982 register_static_object(&once_value_25
);
3983 } else fra
.me
.REG
[7] = once_value_25
;
3984 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3985 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3986 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3987 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3988 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3989 if (!once_value_26
) {
3990 fra
.me
.REG
[7] = BOX_NativeString("");
3992 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
3993 once_value_26
= fra
.me
.REG
[7];
3994 register_static_object(&once_value_26
);
3995 } else fra
.me
.REG
[7] = once_value_26
;
3996 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
3998 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3999 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4000 if (UNTAG_Bool(REGB2
)) {
4001 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 430);
4003 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
);
4004 /* compiling/compiling_global.nit:431 */
4005 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4006 /* compiling/compiling_global.nit:432 */
4007 fra
.me
.REG
[7] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4008 fra
.me
.REG
[7] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4009 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4010 /* compiling/compiling_global.nit:433 */
4011 fra
.me
.REG
[7] = CALL_program___MMLocalClass___init_var_iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4012 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
4013 if (UNTAG_Bool(REGB2
)) {
4014 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 433);
4016 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]);
4017 /* compiling/compiling_global.nit:434 */
4018 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4019 /* compiling/compiling_global.nit:435 */
4020 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4021 /* compiling/compiling_global.nit:436 */
4022 if (!once_value_27
) {
4023 fra
.me
.REG
[6] = BOX_NativeString("}");
4025 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4026 once_value_27
= fra
.me
.REG
[6];
4027 register_static_object(&once_value_27
);
4028 } else fra
.me
.REG
[6] = once_value_27
;
4029 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4030 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4031 /* compiling/compiling_global.nit:440 */
4033 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4034 if (!once_value_28
) {
4035 fra
.me
.REG
[8] = BOX_NativeString("val_t NEW_");
4036 REGB2
= TAG_Int(10);
4037 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4038 once_value_28
= fra
.me
.REG
[8];
4039 register_static_object(&once_value_28
);
4040 } else fra
.me
.REG
[8] = once_value_28
;
4041 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4043 fra
.me
.REG
[8] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4045 if (!once_value_29
) {
4046 fra
.me
.REG
[8] = BOX_NativeString("(void);");
4048 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4049 once_value_29
= fra
.me
.REG
[8];
4050 register_static_object(&once_value_29
);
4051 } else fra
.me
.REG
[8] = once_value_29
;
4052 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4053 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4054 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4055 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4056 /* compiling/compiling_global.nit:441 */
4058 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4059 if (!once_value_30
) {
4060 fra
.me
.REG
[8] = BOX_NativeString("val_t NEW_");
4061 REGB2
= TAG_Int(10);
4062 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4063 once_value_30
= fra
.me
.REG
[8];
4064 register_static_object(&once_value_30
);
4065 } else fra
.me
.REG
[8] = once_value_30
;
4066 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4068 fra
.me
.REG
[8] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4070 if (!once_value_31
) {
4071 fra
.me
.REG
[8] = BOX_NativeString("(void)");
4073 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4074 once_value_31
= fra
.me
.REG
[8];
4075 register_static_object(&once_value_31
);
4076 } else fra
.me
.REG
[8] = once_value_31
;
4077 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4078 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4079 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4080 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4081 /* compiling/compiling_global.nit:442 */
4082 if (!once_value_32
) {
4083 fra
.me
.REG
[6] = BOX_NativeString("{");
4085 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4086 once_value_32
= fra
.me
.REG
[6];
4087 register_static_object(&once_value_32
);
4088 } else fra
.me
.REG
[6] = once_value_32
;
4089 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4090 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4091 /* compiling/compiling_global.nit:443 */
4092 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4093 /* compiling/compiling_global.nit:444 */
4094 if (!once_value_33
) {
4095 fra
.me
.REG
[6] = BOX_NativeString("obj_t obj;");
4096 REGB2
= TAG_Int(10);
4097 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4098 once_value_33
= fra
.me
.REG
[6];
4099 register_static_object(&once_value_33
);
4100 } else fra
.me
.REG
[6] = once_value_33
;
4101 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4102 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4103 /* compiling/compiling_global.nit:445 */
4105 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4106 if (!once_value_34
) {
4107 fra
.me
.REG
[8] = BOX_NativeString("obj = alloc(sizeof(val_t) * ");
4108 REGB2
= TAG_Int(28);
4109 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4110 once_value_34
= fra
.me
.REG
[8];
4111 register_static_object(&once_value_34
);
4112 } else fra
.me
.REG
[8] = once_value_34
;
4113 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
4115 /* ../lib/standard/collection/array.nit:24 */
4116 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4117 if (UNTAG_Bool(REGB2
)) {
4119 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4121 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4122 /* compiling/compiling_global.nit:445 */
4123 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4125 if (!once_value_35
) {
4126 fra
.me
.REG
[4] = BOX_NativeString(");");
4128 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4129 once_value_35
= fra
.me
.REG
[4];
4130 register_static_object(&once_value_35
);
4131 } else fra
.me
.REG
[4] = once_value_35
;
4132 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4133 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4134 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4135 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4136 /* compiling/compiling_global.nit:446 */
4138 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4139 if (!once_value_36
) {
4140 fra
.me
.REG
[4] = BOX_NativeString("obj->vft = (classtable_elt_t*)VFT_");
4141 REGB2
= TAG_Int(34);
4142 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4143 once_value_36
= fra
.me
.REG
[4];
4144 register_static_object(&once_value_36
);
4145 } else fra
.me
.REG
[4] = once_value_36
;
4146 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4148 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4150 if (!once_value_37
) {
4151 fra
.me
.REG
[4] = BOX_NativeString(";");
4153 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4154 once_value_37
= fra
.me
.REG
[4];
4155 register_static_object(&once_value_37
);
4156 } else fra
.me
.REG
[4] = once_value_37
;
4157 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4158 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4159 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4160 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4161 /* compiling/compiling_global.nit:447 */
4162 if (!once_value_38
) {
4163 fra
.me
.REG
[6] = BOX_NativeString("obj[1].object_id = object_id_counter;");
4164 REGB2
= TAG_Int(37);
4165 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4166 once_value_38
= fra
.me
.REG
[6];
4167 register_static_object(&once_value_38
);
4168 } else fra
.me
.REG
[6] = once_value_38
;
4169 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4170 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4171 /* compiling/compiling_global.nit:448 */
4172 if (!once_value_39
) {
4173 fra
.me
.REG
[6] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
4174 REGB2
= TAG_Int(42);
4175 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4176 once_value_39
= fra
.me
.REG
[6];
4177 register_static_object(&once_value_39
);
4178 } else fra
.me
.REG
[6] = once_value_39
;
4179 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4180 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4181 /* compiling/compiling_global.nit:449 */
4182 if (!once_value_40
) {
4183 fra
.me
.REG
[6] = BOX_NativeString("return OBJ2VAL(obj);");
4184 REGB2
= TAG_Int(20);
4185 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4186 once_value_40
= fra
.me
.REG
[6];
4187 register_static_object(&once_value_40
);
4188 } else fra
.me
.REG
[6] = once_value_40
;
4189 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4190 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4191 /* compiling/compiling_global.nit:450 */
4192 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4193 /* compiling/compiling_global.nit:451 */
4194 if (!once_value_41
) {
4195 fra
.me
.REG
[6] = BOX_NativeString("}");
4197 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
4198 once_value_41
= fra
.me
.REG
[6];
4199 register_static_object(&once_value_41
);
4200 } else fra
.me
.REG
[6] = once_value_41
;
4201 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4202 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4203 /* compiling/compiling_global.nit:455 */
4205 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4206 if (!once_value_42
) {
4207 fra
.me
.REG
[4] = BOX_NativeString("CHECKNEW_");
4209 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4210 once_value_42
= fra
.me
.REG
[4];
4211 register_static_object(&once_value_42
);
4212 } else fra
.me
.REG
[4] = once_value_42
;
4213 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4215 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4217 if (!once_value_43
) {
4218 fra
.me
.REG
[4] = BOX_NativeString("");
4220 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4221 once_value_43
= fra
.me
.REG
[4];
4222 register_static_object(&once_value_43
);
4223 } else fra
.me
.REG
[4] = once_value_43
;
4224 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4225 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
4226 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4227 /* compiling/compiling_global.nit:456 */
4228 fra
.me
.REG
[4] = CALL_program___MMLocalClass___checknew_iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4230 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4231 if (!once_value_44
) {
4232 fra
.me
.REG
[5] = BOX_NativeString("check new ");
4233 REGB2
= TAG_Int(10);
4234 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
4235 once_value_44
= fra
.me
.REG
[5];
4236 register_static_object(&once_value_44
);
4237 } else fra
.me
.REG
[5] = once_value_44
;
4238 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
4240 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4241 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
4243 if (!once_value_45
) {
4244 fra
.me
.REG
[5] = BOX_NativeString("");
4246 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
4247 once_value_45
= fra
.me
.REG
[5];
4248 register_static_object(&once_value_45
);
4249 } else fra
.me
.REG
[5] = once_value_45
;
4250 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
4252 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4253 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4254 if (UNTAG_Bool(REGB2
)) {
4255 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 456);
4257 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
);
4258 /* compiling/compiling_global.nit:457 */
4259 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4260 /* compiling/compiling_global.nit:458 */
4261 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4262 fra
.me
.REG
[5] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4263 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4264 /* compiling/compiling_global.nit:459 */
4265 fra
.me
.REG
[5] = CALL_program___MMLocalClass___checknew_iroutine(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4266 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4267 if (UNTAG_Bool(REGB2
)) {
4268 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 459);
4270 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]);
4271 /* compiling/compiling_global.nit:460 */
4272 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4273 /* compiling/compiling_global.nit:461 */
4274 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4275 /* compiling/compiling_global.nit:462 */
4276 if (!once_value_46
) {
4277 fra
.me
.REG
[4] = BOX_NativeString("}");
4279 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4280 once_value_46
= fra
.me
.REG
[4];
4281 register_static_object(&once_value_46
);
4282 } else fra
.me
.REG
[4] = once_value_46
;
4283 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4284 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4285 /* compiling/compiling_global.nit:465 */
4286 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4287 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4288 REGB2
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4290 /* ../lib/standard/kernel.nit:235 */
4291 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
4292 /* compiling/compiling_global.nit:466 */
4294 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4295 if (!once_value_47
) {
4296 fra
.me
.REG
[8] = BOX_NativeString("int init_table[");
4297 REGB2
= TAG_Int(15);
4298 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4299 once_value_47
= fra
.me
.REG
[8];
4300 register_static_object(&once_value_47
);
4301 } else fra
.me
.REG
[8] = once_value_47
;
4302 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4303 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4304 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
4305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4306 if (!once_value_48
) {
4307 fra
.me
.REG
[8] = BOX_NativeString("] = {0");
4309 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4310 once_value_48
= fra
.me
.REG
[8];
4311 register_static_object(&once_value_48
);
4312 } else fra
.me
.REG
[8] = once_value_48
;
4313 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4315 if (!once_value_49
) {
4316 fra
.me
.REG
[8] = BOX_NativeString(", 0");
4318 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4319 once_value_49
= fra
.me
.REG
[8];
4320 register_static_object(&once_value_49
);
4321 } else fra
.me
.REG
[8] = once_value_49
;
4322 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4324 /* ../lib/standard/kernel.nit:237 */
4325 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
4326 /* compiling/compiling_global.nit:466 */
4327 fra
.me
.REG
[8] = CALL_standard___string___String_____star(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
4328 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4329 if (!once_value_50
) {
4330 fra
.me
.REG
[8] = BOX_NativeString("};");
4332 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4333 once_value_50
= fra
.me
.REG
[8];
4334 register_static_object(&once_value_50
);
4335 } else fra
.me
.REG
[8] = once_value_50
;
4336 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4338 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4339 /* compiling/compiling_global.nit:468 */
4340 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4341 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
));
4343 /* compiling/compiling_global.nit:485 */
4344 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4345 if (UNTAG_Bool(REGB2
)) {
4346 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 485);
4348 REGB2
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4349 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4350 if (UNTAG_Bool(REGB2
)) {
4351 /* compiling/compiling_global.nit:486 */
4352 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4353 if (UNTAG_Bool(REGB2
)) {
4354 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 486);
4356 fra
.me
.REG
[3] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4357 /* compiling/compiling_global.nit:487 */
4359 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4360 if (!once_value_62
) {
4361 fra
.me
.REG
[4] = BOX_NativeString("struct TBOX_");
4362 REGB2
= TAG_Int(12);
4363 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4364 once_value_62
= fra
.me
.REG
[4];
4365 register_static_object(&once_value_62
);
4366 } else fra
.me
.REG
[4] = once_value_62
;
4367 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4368 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4369 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4370 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4372 if (!once_value_63
) {
4373 fra
.me
.REG
[4] = BOX_NativeString("");
4375 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4376 once_value_63
= fra
.me
.REG
[4];
4377 register_static_object(&once_value_63
);
4378 } else fra
.me
.REG
[4] = once_value_63
;
4379 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4380 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4381 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4382 /* compiling/compiling_global.nit:488 */
4384 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4385 if (!once_value_64
) {
4386 fra
.me
.REG
[8] = BOX_NativeString("val_t BOX_");
4387 REGB2
= TAG_Int(10);
4388 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4389 once_value_64
= fra
.me
.REG
[8];
4390 register_static_object(&once_value_64
);
4391 } else fra
.me
.REG
[8] = once_value_64
;
4392 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4393 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4394 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4395 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4397 if (!once_value_65
) {
4398 fra
.me
.REG
[8] = BOX_NativeString("(");
4400 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
4401 once_value_65
= fra
.me
.REG
[8];
4402 register_static_object(&once_value_65
);
4403 } else fra
.me
.REG
[8] = once_value_65
;
4404 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4405 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
4406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4407 if (!once_value_66
) {
4408 fra
.me
.REG
[3] = BOX_NativeString(" val) {");
4410 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
4411 once_value_66
= fra
.me
.REG
[3];
4412 register_static_object(&once_value_66
);
4413 } else fra
.me
.REG
[3] = once_value_66
;
4414 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4415 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4416 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4417 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4418 /* compiling/compiling_global.nit:489 */
4419 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4420 /* compiling/compiling_global.nit:490 */
4422 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4423 if (!once_value_67
) {
4424 fra
.me
.REG
[3] = BOX_NativeString("");
4426 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
4427 once_value_67
= fra
.me
.REG
[3];
4428 register_static_object(&once_value_67
);
4429 } else fra
.me
.REG
[3] = once_value_67
;
4430 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4433 if (!once_value_68
) {
4434 fra
.me
.REG
[3] = BOX_NativeString(" *box = (");
4436 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
4437 once_value_68
= fra
.me
.REG
[3];
4438 register_static_object(&once_value_68
);
4439 } else fra
.me
.REG
[3] = once_value_68
;
4440 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4443 if (!once_value_69
) {
4444 fra
.me
.REG
[3] = BOX_NativeString("*)alloc(sizeof(");
4445 REGB2
= TAG_Int(15);
4446 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
4447 once_value_69
= fra
.me
.REG
[3];
4448 register_static_object(&once_value_69
);
4449 } else fra
.me
.REG
[3] = once_value_69
;
4450 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
4452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4453 if (!once_value_70
) {
4454 fra
.me
.REG
[0] = BOX_NativeString("));");
4456 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
4457 once_value_70
= fra
.me
.REG
[0];
4458 register_static_object(&once_value_70
);
4459 } else fra
.me
.REG
[0] = once_value_70
;
4460 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4462 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4463 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4464 /* compiling/compiling_global.nit:491 */
4466 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4467 if (!once_value_71
) {
4468 fra
.me
.REG
[0] = BOX_NativeString("box->vft = VFT_");
4469 REGB2
= TAG_Int(15);
4470 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
4471 once_value_71
= fra
.me
.REG
[0];
4472 register_static_object(&once_value_71
);
4473 } else fra
.me
.REG
[0] = once_value_71
;
4474 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4476 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4478 if (!once_value_72
) {
4479 fra
.me
.REG
[2] = BOX_NativeString(";");
4481 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
4482 once_value_72
= fra
.me
.REG
[2];
4483 register_static_object(&once_value_72
);
4484 } else fra
.me
.REG
[2] = once_value_72
;
4485 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4487 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4488 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4489 /* compiling/compiling_global.nit:492 */
4490 if (!once_value_73
) {
4491 fra
.me
.REG
[4] = BOX_NativeString("box->val = val;");
4492 REGB2
= TAG_Int(15);
4493 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4494 once_value_73
= fra
.me
.REG
[4];
4495 register_static_object(&once_value_73
);
4496 } else fra
.me
.REG
[4] = once_value_73
;
4497 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4498 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4499 /* compiling/compiling_global.nit:493 */
4500 if (!once_value_74
) {
4501 fra
.me
.REG
[4] = BOX_NativeString("box->object_id = object_id_counter;");
4502 REGB2
= TAG_Int(35);
4503 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4504 once_value_74
= fra
.me
.REG
[4];
4505 register_static_object(&once_value_74
);
4506 } else fra
.me
.REG
[4] = once_value_74
;
4507 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4508 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4509 /* compiling/compiling_global.nit:494 */
4510 if (!once_value_75
) {
4511 fra
.me
.REG
[4] = BOX_NativeString("object_id_counter = object_id_counter + 1;");
4512 REGB2
= TAG_Int(42);
4513 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4514 once_value_75
= fra
.me
.REG
[4];
4515 register_static_object(&once_value_75
);
4516 } else fra
.me
.REG
[4] = once_value_75
;
4517 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4518 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4519 /* compiling/compiling_global.nit:495 */
4520 if (!once_value_76
) {
4521 fra
.me
.REG
[4] = BOX_NativeString("return OBJ2VAL(box);");
4522 REGB2
= TAG_Int(20);
4523 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4524 once_value_76
= fra
.me
.REG
[4];
4525 register_static_object(&once_value_76
);
4526 } else fra
.me
.REG
[4] = once_value_76
;
4527 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4528 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4529 /* compiling/compiling_global.nit:496 */
4530 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4531 /* compiling/compiling_global.nit:497 */
4532 if (!once_value_77
) {
4533 fra
.me
.REG
[4] = BOX_NativeString("}");
4535 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4536 once_value_77
= fra
.me
.REG
[4];
4537 register_static_object(&once_value_77
);
4538 } else fra
.me
.REG
[4] = once_value_77
;
4539 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4540 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4544 stack_frame_head
= fra
.me
.prev
;
4547 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
){
4548 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4552 static val_t once_value_53
; /* Once value */
4553 static val_t once_value_54
; /* Once value */
4554 static val_t once_value_55
; /* Once value */
4555 static val_t once_value_56
; /* Once value */
4556 static val_t once_value_57
; /* Once value */
4557 static val_t once_value_58
; /* Once value */
4558 static val_t once_value_59
; /* Once value */
4559 static val_t once_value_60
; /* Once value */
4560 static val_t once_value_61
; /* Once value */
4561 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4562 fra
.me
.file
= LOCATE_compiling___compiling_global
;
4564 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMLocalClass___compile_tables_to_c
;
4565 fra
.me
.has_broke
= 0;
4566 fra
.me
.REG_size
= 5;
4567 fra
.me
.nitni_local_ref_head
= NULL
;
4568 fra
.me
.REG
[0] = NIT_NULL
;
4569 fra
.me
.REG
[1] = NIT_NULL
;
4570 fra
.me
.REG
[2] = NIT_NULL
;
4571 fra
.me
.REG
[3] = NIT_NULL
;
4572 fra
.me
.REG
[4] = NIT_NULL
;
4573 fra
.me
.closure_ctx
= closctx_param
;
4574 fra
.me
.closure_funs
= CREG
;
4576 CREG
[0] = clos_fun0
;
4577 /* compiling/compiling_global.nit:469 */
4578 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
4579 /* compiling/compiling_global.nit:471 */
4580 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4581 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[2]);
4582 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4583 if (UNTAG_Bool(REGB0
)) {
4586 /* compiling/compiling_global.nit:472 */
4587 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
4588 if (UNTAG_Bool(REGB0
)) {
4590 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_global
, 472);
4592 /* compiling/compiling_global.nit:474 */
4594 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4595 if (!once_value_53
) {
4596 fra
.me
.REG
[2] = BOX_NativeString("NEW_");
4598 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4599 once_value_53
= fra
.me
.REG
[2];
4600 register_static_object(&once_value_53
);
4601 } else fra
.me
.REG
[2] = once_value_53
;
4602 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4603 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4604 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(closctx
->REG
[2])(closctx
->REG
[2]);
4605 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4606 if (!once_value_54
) {
4607 fra
.me
.REG
[2] = BOX_NativeString("_");
4609 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4610 once_value_54
= fra
.me
.REG
[2];
4611 register_static_object(&once_value_54
);
4612 } else fra
.me
.REG
[2] = once_value_54
;
4613 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4615 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4616 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4617 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4618 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4619 if (!once_value_55
) {
4620 fra
.me
.REG
[2] = BOX_NativeString("");
4622 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4623 once_value_55
= fra
.me
.REG
[2];
4624 register_static_object(&once_value_55
);
4625 } else fra
.me
.REG
[2] = once_value_55
;
4626 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4628 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4629 /* compiling/compiling_global.nit:475 */
4630 fra
.me
.REG
[2] = CALL_program___MMLocalClass___new_instance_iroutine(closctx
->REG
[2])(closctx
->REG
[2]);
4631 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4633 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4634 if (!once_value_56
) {
4635 fra
.me
.REG
[4] = BOX_NativeString("new ");
4637 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4638 once_value_56
= fra
.me
.REG
[4];
4639 register_static_object(&once_value_56
);
4640 } else fra
.me
.REG
[4] = once_value_56
;
4641 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4643 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(closctx
->REG
[2])(closctx
->REG
[2]);
4644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4645 if (!once_value_57
) {
4646 fra
.me
.REG
[4] = BOX_NativeString(" ");
4648 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4649 once_value_57
= fra
.me
.REG
[4];
4650 register_static_object(&once_value_57
);
4651 } else fra
.me
.REG
[4] = once_value_57
;
4652 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4654 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4656 if (!once_value_58
) {
4657 fra
.me
.REG
[4] = BOX_NativeString("");
4659 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4660 once_value_58
= fra
.me
.REG
[4];
4661 register_static_object(&once_value_58
);
4662 } else fra
.me
.REG
[4] = once_value_58
;
4663 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4665 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4666 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4667 if (UNTAG_Bool(REGB0
)) {
4668 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 475);
4670 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
);
4671 /* compiling/compiling_global.nit:476 */
4672 fra
.me
.REG
[2] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(closctx
->REG
[1])(closctx
->REG
[1]);
4673 /* compiling/compiling_global.nit:477 */
4674 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___writer(closctx
->REG
[1])(closctx
->REG
[1]);
4675 fra
.me
.REG
[4] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4676 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[4]);
4677 /* compiling/compiling_global.nit:478 */
4678 CALL_compiling___compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], closctx
->REG
[4]);
4679 /* compiling/compiling_global.nit:479 */
4680 fra
.me
.REG
[4] = CALL_program___MMLocalClass___new_instance_iroutine(closctx
->REG
[2])(closctx
->REG
[2]);
4681 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4682 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4683 if (UNTAG_Bool(REGB0
)) {
4684 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 479);
4686 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]);
4687 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*/;
4688 if (UNTAG_Bool(REGB0
)) {
4690 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_global
, 479);
4692 /* compiling/compiling_global.nit:480 */
4694 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4695 if (!once_value_59
) {
4696 fra
.me
.REG
[0] = BOX_NativeString("return ");
4698 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4699 once_value_59
= fra
.me
.REG
[0];
4700 register_static_object(&once_value_59
);
4701 } else fra
.me
.REG
[0] = once_value_59
;
4702 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4703 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4704 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4705 if (!once_value_60
) {
4706 fra
.me
.REG
[3] = BOX_NativeString(";");
4708 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4709 once_value_60
= fra
.me
.REG
[3];
4710 register_static_object(&once_value_60
);
4711 } else fra
.me
.REG
[3] = once_value_60
;
4712 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4713 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4714 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4715 CALL_compiling___compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
4716 /* compiling/compiling_global.nit:481 */
4717 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
4718 /* compiling/compiling_global.nit:482 */
4719 CALL_compiling___compiling_base___CompilerVisitor___unindent(closctx
->REG
[1])(closctx
->REG
[1]);
4720 /* compiling/compiling_global.nit:483 */
4721 if (!once_value_61
) {
4722 fra
.me
.REG
[2] = BOX_NativeString("}");
4724 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4725 once_value_61
= fra
.me
.REG
[2];
4726 register_static_object(&once_value_61
);
4727 } else fra
.me
.REG
[2] = once_value_61
;
4728 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4729 CALL_compiling___compiling_base___CompilerVisitor___add_instr(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[2]);
4731 stack_frame_head
= fra
.me
.prev
;
4734 void compiling___compiling_global___MMMethod___compile_property_to_c(val_t p0
, val_t p1
){
4735 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
4739 static val_t once_value_1
; /* Once value */
4740 static val_t once_value_2
; /* Once value */
4741 static val_t once_value_3
; /* Once value */
4742 static val_t once_value_4
; /* Once value */
4743 static val_t once_value_5
; /* Once value */
4744 static val_t once_value_6
; /* Once value */
4745 static val_t once_value_7
; /* Once value */
4746 static val_t once_value_8
; /* Once value */
4747 static val_t once_value_9
; /* Once value */
4748 static val_t once_value_10
; /* Once value */
4749 static val_t once_value_11
; /* Once value */
4750 static val_t once_value_12
; /* Once value */
4751 static val_t once_value_13
; /* Once value */
4752 static val_t once_value_14
; /* Once value */
4753 static val_t once_value_15
; /* Once value */
4754 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4755 fra
.me
.file
= LOCATE_compiling___compiling_global
;
4757 fra
.me
.meth
= LOCATE_compiling___compiling_global___MMMethod___compile_property_to_c
;
4758 fra
.me
.has_broke
= 0;
4759 fra
.me
.REG_size
= 9;
4760 fra
.me
.nitni_local_ref_head
= NULL
;
4761 fra
.me
.REG
[0] = NIT_NULL
;
4762 fra
.me
.REG
[1] = NIT_NULL
;
4763 fra
.me
.REG
[2] = NIT_NULL
;
4764 fra
.me
.REG
[3] = NIT_NULL
;
4765 fra
.me
.REG
[4] = NIT_NULL
;
4766 fra
.me
.REG
[5] = NIT_NULL
;
4767 fra
.me
.REG
[6] = NIT_NULL
;
4768 fra
.me
.REG
[7] = NIT_NULL
;
4769 fra
.me
.REG
[8] = NIT_NULL
;
4772 /* compiling/compiling_global.nit:505 */
4773 fra
.me
.REG
[2] = CALL_icode___icode_base___MMMethod___iroutine(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4774 /* compiling/compiling_global.nit:506 */
4775 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4776 if (UNTAG_Bool(REGB0
)) {
4778 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4779 if (UNTAG_Bool(REGB1
)) {
4780 REGB1
= TAG_Bool(false);
4783 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4787 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4788 if (UNTAG_Bool(REGB0
)) {
4790 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_global
, 506);
4792 /* compiling/compiling_global.nit:508 */
4793 fra
.me
.REG
[3] = NIT_NULL
;
4794 /* compiling/compiling_global.nit:509 */
4795 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4796 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4797 if (UNTAG_Bool(REGB0
)) {
4798 if (!once_value_1
) {
4799 fra
.me
.REG
[4] = BOX_NativeString("int* init_table");
4800 REGB0
= TAG_Int(15);
4801 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4802 once_value_1
= fra
.me
.REG
[4];
4803 register_static_object(&once_value_1
);
4804 } else fra
.me
.REG
[4] = once_value_1
;
4805 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4806 fra
.me
.REG
[3] = fra
.me
.REG
[4];
4808 /* compiling/compiling_global.nit:510 */
4809 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4810 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4811 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4812 if (UNTAG_Bool(REGB0
)) {
4813 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 510);
4815 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]);
4816 /* compiling/compiling_global.nit:511 */
4817 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4818 /* compiling/compiling_global.nit:512 */
4819 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4820 fra
.me
.REG
[4] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4821 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4822 /* compiling/compiling_global.nit:513 */
4823 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4824 /* compiling/compiling_global.nit:514 */
4825 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4826 fra
.me
.REG
[6] = CALL_compiling___compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4827 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4828 /* compiling/compiling_global.nit:516 */
4829 fra
.me
.REG
[6] = NIT_NULL
;
4830 /* compiling/compiling_global.nit:517 */
4831 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4832 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4833 if (UNTAG_Bool(REGB0
)) {
4834 /* compiling/compiling_global.nit:518 */
4836 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4837 if (!once_value_2
) {
4838 fra
.me
.REG
[8] = BOX_NativeString("itpos");
4840 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4841 once_value_2
= fra
.me
.REG
[8];
4842 register_static_object(&once_value_2
);
4843 } else fra
.me
.REG
[8] = once_value_2
;
4844 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4845 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4846 REGB0
= CALL_compiling___compiling_base___CompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4847 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
4848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4849 if (!once_value_3
) {
4850 fra
.me
.REG
[8] = BOX_NativeString("");
4852 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4853 once_value_3
= fra
.me
.REG
[8];
4854 register_static_object(&once_value_3
);
4855 } else fra
.me
.REG
[8] = once_value_3
;
4856 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4858 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4859 fra
.me
.REG
[6] = fra
.me
.REG
[7];
4860 /* compiling/compiling_global.nit:519 */
4862 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4863 if (!once_value_4
) {
4864 fra
.me
.REG
[8] = BOX_NativeString("int ");
4866 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4867 once_value_4
= fra
.me
.REG
[8];
4868 register_static_object(&once_value_4
);
4869 } else fra
.me
.REG
[8] = once_value_4
;
4870 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4872 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4873 if (!once_value_5
) {
4874 fra
.me
.REG
[8] = BOX_NativeString(" = VAL2OBJ(");
4875 REGB0
= TAG_Int(11);
4876 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4877 once_value_5
= fra
.me
.REG
[8];
4878 register_static_object(&once_value_5
);
4879 } else fra
.me
.REG
[8] = once_value_5
;
4880 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4882 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4884 if (!once_value_6
) {
4885 fra
.me
.REG
[8] = BOX_NativeString(")->vft[");
4887 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4888 once_value_6
= fra
.me
.REG
[8];
4889 register_static_object(&once_value_6
);
4890 } else fra
.me
.REG
[8] = once_value_6
;
4891 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4893 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4894 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4895 fra
.me
.REG
[8] = CALL_compiling___compiling_base___MMGlobalClass___init_table_pos_id(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4897 if (!once_value_7
) {
4898 fra
.me
.REG
[8] = BOX_NativeString("].i;");
4900 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4901 once_value_7
= fra
.me
.REG
[8];
4902 register_static_object(&once_value_7
);
4903 } else fra
.me
.REG
[8] = once_value_7
;
4904 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4906 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4907 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4908 /* compiling/compiling_global.nit:520 */
4910 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4911 if (!once_value_8
) {
4912 fra
.me
.REG
[8] = BOX_NativeString("if (init_table[");
4913 REGB0
= TAG_Int(15);
4914 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4915 once_value_8
= fra
.me
.REG
[8];
4916 register_static_object(&once_value_8
);
4917 } else fra
.me
.REG
[8] = once_value_8
;
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 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4921 if (!once_value_9
) {
4922 fra
.me
.REG
[8] = BOX_NativeString("]) return;");
4923 REGB0
= TAG_Int(10);
4924 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4925 once_value_9
= fra
.me
.REG
[8];
4926 register_static_object(&once_value_9
);
4927 } else fra
.me
.REG
[8] = once_value_9
;
4928 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4930 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4931 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4933 /* compiling/compiling_global.nit:523 */
4934 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4935 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4936 if (UNTAG_Bool(REGB0
)) {
4937 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_global
, 523);
4939 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]);
4940 /* compiling/compiling_global.nit:525 */
4941 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4942 if (UNTAG_Bool(REGB0
)) {
4944 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4945 if (UNTAG_Bool(REGB1
)) {
4946 REGB1
= TAG_Bool(false);
4949 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
4953 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4954 if (UNTAG_Bool(REGB0
)) {
4955 /* compiling/compiling_global.nit:526 */
4957 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4958 if (!once_value_10
) {
4959 fra
.me
.REG
[2] = BOX_NativeString("init_table[");
4960 REGB0
= TAG_Int(11);
4961 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4962 once_value_10
= fra
.me
.REG
[2];
4963 register_static_object(&once_value_10
);
4964 } else fra
.me
.REG
[2] = once_value_10
;
4965 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
4967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4968 if (!once_value_11
) {
4969 fra
.me
.REG
[6] = BOX_NativeString("] = 1;");
4971 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4972 once_value_11
= fra
.me
.REG
[6];
4973 register_static_object(&once_value_11
);
4974 } else fra
.me
.REG
[6] = once_value_11
;
4975 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4977 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4978 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4980 /* compiling/compiling_global.nit:528 */
4981 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4982 if (UNTAG_Bool(REGB0
)) {
4984 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4985 if (UNTAG_Bool(REGB1
)) {
4986 REGB1
= TAG_Bool(false);
4989 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
4993 if (UNTAG_Bool(REGB0
)) {
4994 /* compiling/compiling_global.nit:529 */
4995 if (!once_value_12
) {
4996 fra
.me
.REG
[0] = BOX_NativeString("return;");
4998 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4999 once_value_12
= fra
.me
.REG
[0];
5000 register_static_object(&once_value_12
);
5001 } else fra
.me
.REG
[0] = once_value_12
;
5002 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5003 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5005 /* compiling/compiling_global.nit:531 */
5007 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5008 if (!once_value_13
) {
5009 fra
.me
.REG
[6] = BOX_NativeString("return ");
5011 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5012 once_value_13
= fra
.me
.REG
[6];
5013 register_static_object(&once_value_13
);
5014 } else fra
.me
.REG
[6] = once_value_13
;
5015 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
5017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5018 if (!once_value_14
) {
5019 fra
.me
.REG
[3] = BOX_NativeString(";");
5021 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
5022 once_value_14
= fra
.me
.REG
[3];
5023 register_static_object(&once_value_14
);
5024 } else fra
.me
.REG
[3] = once_value_14
;
5025 fra
.me
.REG
[3] = fra
.me
.REG
[3];
5026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5027 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5028 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5030 /* compiling/compiling_global.nit:533 */
5031 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5032 /* compiling/compiling_global.nit:534 */
5033 if (!once_value_15
) {
5034 fra
.me
.REG
[0] = BOX_NativeString("}");
5036 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5037 once_value_15
= fra
.me
.REG
[0];
5038 register_static_object(&once_value_15
);
5039 } else fra
.me
.REG
[0] = once_value_15
;
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]);
5042 /* compiling/compiling_global.nit:536 */
5043 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
5044 /* compiling/compiling_global.nit:537 */
5045 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5046 stack_frame_head
= fra
.me
.prev
;