1 /* This C file is generated by NIT to compile module compiling___compiling_icode. */
2 #include "compiling___compiling_icode._sep.h"
3 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register
[] = "compiling_icode::I2CCompilerVisitor::register";
4 val_t
compiling___compiling_icode___I2CCompilerVisitor___register(val_t p0
, val_t p1
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
9 static val_t once_value_1
; /* Once value */
10 static val_t once_value_3
; /* Once value */
11 static val_t once_value_4
; /* Once value */
12 static val_t once_value_5
; /* Once value */
13 static val_t once_value_6
; /* Once value */
14 static val_t once_value_7
; /* Once value */
15 static val_t once_value_8
; /* Once value */
16 static val_t once_value_9
; /* Once value */
17 static val_t once_value_10
; /* Once value */
18 static val_t once_value_11
; /* Once value */
19 static val_t once_value_12
; /* Once value */
20 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
21 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
23 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register
;
26 fra
.me
.nitni_local_ref_head
= NULL
;
27 fra
.me
.REG
[0] = NIT_NULL
;
28 fra
.me
.REG
[1] = NIT_NULL
;
29 fra
.me
.REG
[2] = NIT_NULL
;
30 fra
.me
.REG
[3] = NIT_NULL
;
31 fra
.me
.REG
[4] = NIT_NULL
;
32 fra
.me
.REG
[5] = NIT_NULL
;
33 fra
.me
.REG
[6] = NIT_NULL
;
34 fra
.me
.REG
[7] = NIT_NULL
;
37 /* compiling/compiling_icode.nit:35 */
38 fra
.me
.REG
[2] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
39 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
40 if (UNTAG_Bool(REGB0
)) {
42 fra
.me
.REG
[2] = BOX_NativeString("NIT_NULL");
44 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
45 once_value_1
= fra
.me
.REG
[2];
46 register_static_object(&once_value_1
);
47 } else fra
.me
.REG
[2] = once_value_1
;
48 fra
.me
.REG
[2] = fra
.me
.REG
[2];
51 /* compiling/compiling_icode.nit:36 */
52 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
53 if (UNTAG_Bool(REGB0
)) {
55 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 36);
57 fra
.me
.REG
[3] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
58 /* compiling/compiling_icode.nit:37 */
59 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
60 if (UNTAG_Bool(REGB0
)) {
61 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
62 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
67 if (UNTAG_Bool(REGB0
)) {
68 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids2(fra
.me
.REG
[0])!=NIT_NULL
);
69 if (UNTAG_Bool(REGB0
)) {
71 nit_abort("Uninitialized attribute %s", "_ids2", LOCATE_compiling___compiling_icode
, 37);
73 fra
.me
.REG
[4] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids2(fra
.me
.REG
[0]);
74 fra
.me
.REG
[3] = fra
.me
.REG
[4];
76 /* compiling/compiling_icode.nit:38 */
77 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
78 if (UNTAG_Bool(REGB0
)) {
79 /* compiling/compiling_icode.nit:39 */
80 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
81 fra
.me
.REG
[2] = fra
.me
.REG
[4];
84 /* compiling/compiling_icode.nit:41 */
85 fra
.me
.REG
[4] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
86 /* compiling/compiling_icode.nit:42 */
87 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
88 if (UNTAG_Bool(REGB0
)) {
90 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
91 if (UNTAG_Bool(REGB1
)) {
95 /* ../lib/standard/kernel.nit:230 */
96 REGB1
= TAG_Bool((fra
.me
.REG
[4])==(NIT_NULL
));
97 /* compiling/compiling_icode.nit:42 */
101 if (UNTAG_Bool(REGB0
)) {
102 /* compiling/compiling_icode.nit:44 */
104 fra
.me
.REG
[5] = BOX_NativeString("NIT_NULL");
106 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
107 once_value_3
= fra
.me
.REG
[5];
108 register_static_object(&once_value_3
);
109 } else fra
.me
.REG
[5] = once_value_3
;
110 fra
.me
.REG
[5] = fra
.me
.REG
[5];
111 /* compiling/compiling_icode.nit:45 */
112 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[5]);
113 /* compiling/compiling_icode.nit:46 */
114 fra
.me
.REG
[2] = fra
.me
.REG
[5];
117 /* compiling/compiling_icode.nit:50 */
118 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___in_tag_slots(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
119 if (UNTAG_Bool(REGB0
)) {
120 /* compiling/compiling_icode.nit:51 */
122 fra
.me
.REG
[5] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
123 once_value_4
= fra
.me
.REG
[5];
124 register_static_object(&once_value_4
);
125 } else fra
.me
.REG
[5] = once_value_4
;
126 fra
.me
.REG
[5] = fra
.me
.REG
[5];
127 /* compiling/compiling_icode.nit:52 */
128 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
129 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
130 if (UNTAG_Bool(REGB0
)) {
132 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
134 fra
.me
.REG
[7] = BOX_NativeString("REGB");
136 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
137 once_value_5
= fra
.me
.REG
[7];
138 register_static_object(&once_value_5
);
139 } else fra
.me
.REG
[7] = once_value_5
;
140 fra
.me
.REG
[7] = fra
.me
.REG
[7];
141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
142 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
143 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
145 fra
.me
.REG
[7] = BOX_NativeString("");
147 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
148 once_value_6
= fra
.me
.REG
[7];
149 register_static_object(&once_value_6
);
150 } else fra
.me
.REG
[7] = once_value_6
;
151 fra
.me
.REG
[7] = fra
.me
.REG
[7];
152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
153 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
154 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[6]);
157 /* compiling/compiling_icode.nit:53 */
158 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
159 if (UNTAG_Bool(REGB0
)) {
160 REGB0
= CALL_analysis___allocate_iregister_slots___IRegister___is_local(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
161 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
166 if (UNTAG_Bool(REGB0
)) {
167 /* compiling/compiling_icode.nit:54 */
169 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
170 once_value_7
= fra
.me
.REG
[0];
171 register_static_object(&once_value_7
);
172 } else fra
.me
.REG
[0] = once_value_7
;
173 fra
.me
.REG
[0] = fra
.me
.REG
[0];
174 fra
.me
.REG
[5] = fra
.me
.REG
[0];
175 /* compiling/compiling_icode.nit:55 */
176 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
177 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
178 if (UNTAG_Bool(REGB0
)) {
180 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
182 fra
.me
.REG
[6] = BOX_NativeString("closctx->REG[");
184 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
185 once_value_8
= fra
.me
.REG
[6];
186 register_static_object(&once_value_8
);
187 } else fra
.me
.REG
[6] = once_value_8
;
188 fra
.me
.REG
[6] = fra
.me
.REG
[6];
189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
190 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
193 fra
.me
.REG
[6] = BOX_NativeString("]");
195 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
196 once_value_9
= fra
.me
.REG
[6];
197 register_static_object(&once_value_9
);
198 } else fra
.me
.REG
[6] = once_value_9
;
199 fra
.me
.REG
[6] = fra
.me
.REG
[6];
200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
201 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
202 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[0]);
205 /* compiling/compiling_icode.nit:57 */
206 if (!once_value_10
) {
207 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
208 once_value_10
= fra
.me
.REG
[0];
209 register_static_object(&once_value_10
);
210 } else fra
.me
.REG
[0] = once_value_10
;
211 fra
.me
.REG
[0] = fra
.me
.REG
[0];
212 fra
.me
.REG
[5] = fra
.me
.REG
[0];
213 /* compiling/compiling_icode.nit:58 */
214 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
215 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
216 if (UNTAG_Bool(REGB0
)) {
218 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
219 if (!once_value_11
) {
220 fra
.me
.REG
[6] = BOX_NativeString("fra.me.REG[");
222 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
223 once_value_11
= fra
.me
.REG
[6];
224 register_static_object(&once_value_11
);
225 } else fra
.me
.REG
[6] = once_value_11
;
226 fra
.me
.REG
[6] = fra
.me
.REG
[6];
227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
228 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
230 if (!once_value_12
) {
231 fra
.me
.REG
[6] = BOX_NativeString("]");
233 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
234 once_value_12
= fra
.me
.REG
[6];
235 register_static_object(&once_value_12
);
236 } else fra
.me
.REG
[6] = once_value_12
;
237 fra
.me
.REG
[6] = fra
.me
.REG
[6];
238 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
239 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
240 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[0]);
244 /* compiling/compiling_icode.nit:60 */
245 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
246 /* compiling/compiling_icode.nit:61 */
247 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[4]);
248 /* compiling/compiling_icode.nit:62 */
249 fra
.me
.REG
[2] = fra
.me
.REG
[4];
254 stack_frame_head
= fra
.me
.prev
;
255 return fra
.me
.REG
[2];
257 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers
[] = "compiling_icode::I2CCompilerVisitor::registers";
258 val_t
compiling___compiling_icode___I2CCompilerVisitor___registers(val_t p0
, val_t p1
){
259 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
262 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
263 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
265 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers
;
266 fra
.me
.has_broke
= 0;
268 fra
.me
.nitni_local_ref_head
= NULL
;
269 fra
.me
.REG
[0] = NIT_NULL
;
270 fra
.me
.REG
[1] = NIT_NULL
;
271 fra
.me
.REG
[2] = NIT_NULL
;
274 /* compiling/compiling_icode.nit:70 */
275 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
276 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
277 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_icode___I2CCompilerVisitor___registers_1
));
278 /* compiling/compiling_icode.nit:74 */
281 stack_frame_head
= fra
.me
.prev
;
282 return fra
.me
.REG
[2];
284 void OC_compiling___compiling_icode___I2CCompilerVisitor___registers_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
285 struct {struct stack_frame_t me
;} fra
;
288 /* compiling/compiling_icode.nit:71 */
289 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
290 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
292 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___registers
;
293 fra
.me
.has_broke
= 0;
295 fra
.me
.nitni_local_ref_head
= NULL
;
296 fra
.me
.REG
[0] = NIT_NULL
;
297 fra
.me
.closure_ctx
= closctx_param
;
298 fra
.me
.closure_funs
= CREG
;
301 /* compiling/compiling_icode.nit:72 */
302 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
303 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
304 stack_frame_head
= fra
.me
.prev
;
307 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_number
[] = "compiling_icode::I2CCompilerVisitor::new_number";
308 val_t
compiling___compiling_icode___I2CCompilerVisitor___new_number(val_t p0
){
309 struct {struct stack_frame_t me
;} fra
;
313 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
314 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
316 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_number
;
317 fra
.me
.has_broke
= 0;
319 fra
.me
.nitni_local_ref_head
= NULL
;
320 fra
.me
.REG
[0] = NIT_NULL
;
322 /* compiling/compiling_icode.nit:81 */
323 REGB0
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]);
325 /* ../lib/standard/kernel.nit:238 */
326 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
327 /* compiling/compiling_icode.nit:81 */
328 ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]) = REGB1
;
329 /* compiling/compiling_icode.nit:82 */
330 REGB1
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0])!=NIT_NULL
);
331 if (UNTAG_Bool(REGB1
)) {
333 nit_abort("Uninitialized attribute %s", "_last_number", LOCATE_compiling___compiling_icode
, 82);
335 REGB1
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_number(fra
.me
.REG
[0]);
338 stack_frame_head
= fra
.me
.prev
;
341 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___lab
[] = "compiling_icode::I2CCompilerVisitor::lab";
342 val_t
compiling___compiling_icode___I2CCompilerVisitor___lab(val_t p0
, val_t p1
){
343 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
346 static val_t once_value_2
; /* Once value */
347 static val_t once_value_3
; /* Once value */
348 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
349 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
351 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___lab
;
352 fra
.me
.has_broke
= 0;
354 fra
.me
.nitni_local_ref_head
= NULL
;
355 fra
.me
.REG
[0] = NIT_NULL
;
356 fra
.me
.REG
[1] = NIT_NULL
;
357 fra
.me
.REG
[2] = NIT_NULL
;
358 fra
.me
.REG
[3] = NIT_NULL
;
359 fra
.me
.REG
[4] = NIT_NULL
;
362 /* compiling/compiling_icode.nit:88 */
363 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
364 if (UNTAG_Bool(REGB0
)) {
366 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 88);
368 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
369 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
370 if (UNTAG_Bool(REGB0
)) {
371 /* compiling/compiling_icode.nit:89 */
372 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
373 if (UNTAG_Bool(REGB0
)) {
375 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 89);
377 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
378 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
381 /* compiling/compiling_icode.nit:91 */
383 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
385 fra
.me
.REG
[4] = BOX_NativeString("label");
387 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
388 once_value_2
= fra
.me
.REG
[4];
389 register_static_object(&once_value_2
);
390 } else fra
.me
.REG
[4] = once_value_2
;
391 fra
.me
.REG
[4] = fra
.me
.REG
[4];
392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
393 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
394 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
397 fra
.me
.REG
[4] = BOX_NativeString("");
399 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
400 once_value_3
= fra
.me
.REG
[4];
401 register_static_object(&once_value_3
);
402 } else fra
.me
.REG
[4] = once_value_3
;
403 fra
.me
.REG
[4] = fra
.me
.REG
[4];
404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
405 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
406 /* compiling/compiling_icode.nit:92 */
407 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
408 if (UNTAG_Bool(REGB0
)) {
410 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 92);
412 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
413 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
414 /* compiling/compiling_icode.nit:93 */
415 fra
.me
.REG
[2] = fra
.me
.REG
[3];
419 stack_frame_head
= fra
.me
.prev
;
420 return fra
.me
.REG
[2];
422 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closures
[] = "compiling_icode::I2CCompilerVisitor::closures";
423 val_t
compiling___compiling_icode___I2CCompilerVisitor___closures(val_t p0
){
424 struct {struct stack_frame_t me
;} fra
;
427 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
428 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
430 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closures
;
431 fra
.me
.has_broke
= 0;
433 fra
.me
.nitni_local_ref_head
= NULL
;
434 fra
.me
.REG
[0] = NIT_NULL
;
436 /* compiling/compiling_icode.nit:97 */
437 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____closures(fra
.me
.REG
[0])!=NIT_NULL
);
438 if (UNTAG_Bool(REGB0
)) {
440 nit_abort("Uninitialized attribute %s", "_closures", LOCATE_compiling___compiling_icode
, 97);
442 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____closures(fra
.me
.REG
[0]);
443 stack_frame_head
= fra
.me
.prev
;
444 return fra
.me
.REG
[0];
446 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___clostypes
[] = "compiling_icode::I2CCompilerVisitor::clostypes";
447 val_t
compiling___compiling_icode___I2CCompilerVisitor___clostypes(val_t p0
){
448 struct {struct stack_frame_t me
;} fra
;
451 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
452 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
454 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___clostypes
;
455 fra
.me
.has_broke
= 0;
457 fra
.me
.nitni_local_ref_head
= NULL
;
458 fra
.me
.REG
[0] = NIT_NULL
;
460 /* compiling/compiling_icode.nit:100 */
461 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____clostypes(fra
.me
.REG
[0])!=NIT_NULL
);
462 if (UNTAG_Bool(REGB0
)) {
464 nit_abort("Uninitialized attribute %s", "_clostypes", LOCATE_compiling___compiling_icode
, 100);
466 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____clostypes(fra
.me
.REG
[0]);
467 stack_frame_head
= fra
.me
.prev
;
468 return fra
.me
.REG
[0];
470 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels
[] = "compiling_icode::I2CCompilerVisitor::local_labels";
471 val_t
compiling___compiling_icode___I2CCompilerVisitor___local_labels(val_t p0
){
472 struct {struct stack_frame_t me
;} fra
;
475 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
476 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
478 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels
;
479 fra
.me
.has_broke
= 0;
481 fra
.me
.nitni_local_ref_head
= NULL
;
482 fra
.me
.REG
[0] = NIT_NULL
;
484 /* compiling/compiling_icode.nit:103 */
485 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0])!=NIT_NULL
);
486 if (UNTAG_Bool(REGB0
)) {
488 nit_abort("Uninitialized attribute %s", "_local_labels", LOCATE_compiling___compiling_icode
, 103);
490 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0]);
491 stack_frame_head
= fra
.me
.prev
;
492 return fra
.me
.REG
[0];
494 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq
[] = "compiling_icode::I2CCompilerVisitor::local_labels=";
495 void compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(val_t p0
, val_t p1
){
496 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
498 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
499 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
501 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq
;
502 fra
.me
.has_broke
= 0;
504 fra
.me
.nitni_local_ref_head
= NULL
;
505 fra
.me
.REG
[0] = NIT_NULL
;
506 fra
.me
.REG
[1] = NIT_NULL
;
509 /* compiling/compiling_icode.nit:103 */
510 ATTR_compiling___compiling_icode___I2CCompilerVisitor____local_labels(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
511 stack_frame_head
= fra
.me
.prev
;
514 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels
[] = "compiling_icode::I2CCompilerVisitor::escaped_labels";
515 val_t
compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(val_t p0
){
516 struct {struct stack_frame_t me
;} fra
;
519 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
520 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
522 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels
;
523 fra
.me
.has_broke
= 0;
525 fra
.me
.nitni_local_ref_head
= NULL
;
526 fra
.me
.REG
[0] = NIT_NULL
;
528 /* compiling/compiling_icode.nit:106 */
529 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
530 if (UNTAG_Bool(REGB0
)) {
532 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 106);
534 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
535 stack_frame_head
= fra
.me
.prev
;
536 return fra
.me
.REG
[0];
538 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq
[] = "compiling_icode::I2CCompilerVisitor::escaped_labels=";
539 void compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(val_t p0
, val_t p1
){
540 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
542 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
543 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
545 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq
;
546 fra
.me
.has_broke
= 0;
548 fra
.me
.nitni_local_ref_head
= NULL
;
549 fra
.me
.REG
[0] = NIT_NULL
;
550 fra
.me
.REG
[1] = NIT_NULL
;
553 /* compiling/compiling_icode.nit:106 */
554 ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
555 stack_frame_head
= fra
.me
.prev
;
558 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label
[] = "compiling_icode::I2CCompilerVisitor::register_escape_label";
559 val_t
compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(val_t p0
, val_t p1
){
560 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
565 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
566 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
568 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label
;
569 fra
.me
.has_broke
= 0;
571 fra
.me
.nitni_local_ref_head
= NULL
;
572 fra
.me
.REG
[0] = NIT_NULL
;
573 fra
.me
.REG
[1] = NIT_NULL
;
574 fra
.me
.REG
[2] = NIT_NULL
;
577 /* compiling/compiling_icode.nit:113 */
578 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
579 if (UNTAG_Bool(REGB0
)) {
581 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 113);
583 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
584 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
585 if (UNTAG_Bool(REGB0
)) {
586 /* compiling/compiling_icode.nit:114 */
587 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
588 if (UNTAG_Bool(REGB0
)) {
590 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 114);
592 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
593 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
594 REGB0
= fra
.me
.REG
[2];
597 /* compiling/compiling_icode.nit:116 */
598 REGB1
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
599 if (UNTAG_Bool(REGB1
)) {
601 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 116);
603 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
604 REGB1
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
606 /* ../lib/standard/kernel.nit:238 */
607 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
608 /* compiling/compiling_icode.nit:117 */
609 REGB1
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0])!=NIT_NULL
);
610 if (UNTAG_Bool(REGB1
)) {
612 nit_abort("Uninitialized attribute %s", "_escaped_labels", LOCATE_compiling___compiling_icode
, 117);
614 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____escaped_labels(fra
.me
.REG
[0]);
615 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB2
);
616 /* compiling/compiling_icode.nit:118 */
621 stack_frame_head
= fra
.me
.prev
;
624 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_label
[] = "compiling_icode::I2CCompilerVisitor::add_label";
625 void compiling___compiling_icode___I2CCompilerVisitor___add_label(val_t p0
, val_t p1
){
626 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
629 static val_t once_value_1
; /* Once value */
630 static val_t once_value_2
; /* Once value */
631 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
632 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
634 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_label
;
635 fra
.me
.has_broke
= 0;
637 fra
.me
.nitni_local_ref_head
= NULL
;
638 fra
.me
.REG
[0] = NIT_NULL
;
639 fra
.me
.REG
[1] = NIT_NULL
;
640 fra
.me
.REG
[2] = NIT_NULL
;
641 fra
.me
.REG
[3] = NIT_NULL
;
644 /* compiling/compiling_icode.nit:125 */
645 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
646 if (UNTAG_Bool(REGB0
)) {
648 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 125);
650 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
651 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
652 if (UNTAG_Bool(REGB0
)) {
653 /* compiling/compiling_icode.nit:126 */
655 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
657 fra
.me
.REG
[3] = BOX_NativeString("");
659 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
660 once_value_1
= fra
.me
.REG
[3];
661 register_static_object(&once_value_1
);
662 } else fra
.me
.REG
[3] = once_value_1
;
663 fra
.me
.REG
[3] = fra
.me
.REG
[3];
664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
665 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0])!=NIT_NULL
);
666 if (UNTAG_Bool(REGB0
)) {
668 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_compiling___compiling_icode
, 126);
670 fra
.me
.REG
[3] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____ids(fra
.me
.REG
[0]);
671 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
674 fra
.me
.REG
[1] = BOX_NativeString(": while(0);");
676 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
677 once_value_2
= fra
.me
.REG
[1];
678 register_static_object(&once_value_2
);
679 } else fra
.me
.REG
[1] = once_value_2
;
680 fra
.me
.REG
[1] = fra
.me
.REG
[1];
681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
682 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
683 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
685 stack_frame_head
= fra
.me
.prev
;
688 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_goto
[] = "compiling_icode::I2CCompilerVisitor::add_goto";
689 void compiling___compiling_icode___I2CCompilerVisitor___add_goto(val_t p0
, val_t p1
){
690 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
694 static val_t once_value_1
; /* Once value */
695 static val_t once_value_2
; /* Once value */
696 static val_t once_value_3
; /* Once value */
697 static val_t once_value_4
; /* Once value */
698 static val_t once_value_5
; /* Once value */
699 static val_t once_value_6
; /* Once value */
700 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
701 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
703 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_goto
;
704 fra
.me
.has_broke
= 0;
706 fra
.me
.nitni_local_ref_head
= NULL
;
707 fra
.me
.REG
[0] = NIT_NULL
;
708 fra
.me
.REG
[1] = NIT_NULL
;
709 fra
.me
.REG
[2] = NIT_NULL
;
710 fra
.me
.REG
[3] = NIT_NULL
;
711 fra
.me
.REG
[4] = NIT_NULL
;
714 /* compiling/compiling_icode.nit:130 */
715 fra
.me
.REG
[2] = fra
.me
.REG
[0];
716 /* compiling/compiling_icode.nit:133 */
717 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
718 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
719 if (UNTAG_Bool(REGB0
)) {
720 /* compiling/compiling_icode.nit:134 */
722 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
724 fra
.me
.REG
[4] = BOX_NativeString("goto ");
726 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
727 once_value_1
= fra
.me
.REG
[4];
728 register_static_object(&once_value_1
);
729 } else fra
.me
.REG
[4] = once_value_1
;
730 fra
.me
.REG
[4] = fra
.me
.REG
[4];
731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
732 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
733 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
735 fra
.me
.REG
[4] = BOX_NativeString(";");
737 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
738 once_value_2
= fra
.me
.REG
[4];
739 register_static_object(&once_value_2
);
740 } else fra
.me
.REG
[4] = once_value_2
;
741 fra
.me
.REG
[4] = fra
.me
.REG
[4];
742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
743 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
744 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
746 /* compiling/compiling_icode.nit:136 */
747 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
748 if (UNTAG_Bool(REGB0
)) {
750 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 136);
752 /* compiling/compiling_icode.nit:137 */
753 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
754 /* compiling/compiling_icode.nit:138 */
756 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
758 fra
.me
.REG
[3] = BOX_NativeString("closctx->has_broke = ");
760 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
761 once_value_3
= fra
.me
.REG
[3];
762 register_static_object(&once_value_3
);
763 } else fra
.me
.REG
[3] = once_value_3
;
764 fra
.me
.REG
[3] = fra
.me
.REG
[3];
765 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
766 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
769 fra
.me
.REG
[3] = BOX_NativeString(";");
771 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
772 once_value_4
= fra
.me
.REG
[3];
773 register_static_object(&once_value_4
);
774 } else fra
.me
.REG
[3] = once_value_4
;
775 fra
.me
.REG
[3] = fra
.me
.REG
[3];
776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
777 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
778 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
779 /* compiling/compiling_icode.nit:139 */
781 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
783 fra
.me
.REG
[3] = BOX_NativeString("goto ");
785 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
786 once_value_5
= fra
.me
.REG
[3];
787 register_static_object(&once_value_5
);
788 } else fra
.me
.REG
[3] = once_value_5
;
789 fra
.me
.REG
[3] = fra
.me
.REG
[3];
790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
791 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
792 REGB0
= TAG_Bool(fra
.me
.REG
[3]!=NIT_NULL
);
793 if (UNTAG_Bool(REGB0
)) {
795 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 139);
797 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
798 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
800 fra
.me
.REG
[3] = BOX_NativeString(";");
802 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
803 once_value_6
= fra
.me
.REG
[3];
804 register_static_object(&once_value_6
);
805 } else fra
.me
.REG
[3] = once_value_6
;
806 fra
.me
.REG
[3] = fra
.me
.REG
[3];
807 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
808 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
809 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
811 stack_frame_head
= fra
.me
.prev
;
814 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq
[] = "compiling_icode::I2CCompilerVisitor::marks_to_seq";
815 val_t
compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(val_t p0
){
816 struct {struct stack_frame_t me
;} fra
;
819 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
820 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
822 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq
;
823 fra
.me
.has_broke
= 0;
825 fra
.me
.nitni_local_ref_head
= NULL
;
826 fra
.me
.REG
[0] = NIT_NULL
;
828 /* compiling/compiling_icode.nit:143 */
829 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____marks_to_seq(fra
.me
.REG
[0])!=NIT_NULL
);
830 if (UNTAG_Bool(REGB0
)) {
832 nit_abort("Uninitialized attribute %s", "_marks_to_seq", LOCATE_compiling___compiling_icode
, 143);
834 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____marks_to_seq(fra
.me
.REG
[0]);
835 stack_frame_head
= fra
.me
.prev
;
836 return fra
.me
.REG
[0];
838 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure
[] = "compiling_icode::I2CCompilerVisitor::closure";
839 val_t
compiling___compiling_icode___I2CCompilerVisitor___closure(val_t p0
){
840 struct {struct stack_frame_t me
;} fra
;
843 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
844 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
846 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure
;
847 fra
.me
.has_broke
= 0;
849 fra
.me
.nitni_local_ref_head
= NULL
;
850 fra
.me
.REG
[0] = NIT_NULL
;
852 /* compiling/compiling_icode.nit:146 */
853 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0])!=NIT_NULL
);
854 if (UNTAG_Bool(REGB0
)) {
856 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_compiling___compiling_icode
, 146);
858 REGB0
= ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0]);
859 stack_frame_head
= fra
.me
.prev
;
862 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure__eq
[] = "compiling_icode::I2CCompilerVisitor::closure=";
863 void compiling___compiling_icode___I2CCompilerVisitor___closure__eq(val_t p0
, val_t p1
){
864 struct {struct stack_frame_t me
;} fra
;
867 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
868 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
870 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___closure__eq
;
871 fra
.me
.has_broke
= 0;
873 fra
.me
.nitni_local_ref_head
= NULL
;
874 fra
.me
.REG
[0] = NIT_NULL
;
877 /* compiling/compiling_icode.nit:146 */
878 ATTR_compiling___compiling_icode___I2CCompilerVisitor____closure(fra
.me
.REG
[0]) = REGB0
;
879 stack_frame_head
= fra
.me
.prev
;
882 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___visitor
[] = "compiling_icode::I2CCompilerVisitor::visitor";
883 val_t
compiling___compiling_icode___I2CCompilerVisitor___visitor(val_t p0
){
884 struct {struct stack_frame_t me
;} fra
;
887 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
888 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
890 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___visitor
;
891 fra
.me
.has_broke
= 0;
893 fra
.me
.nitni_local_ref_head
= NULL
;
894 fra
.me
.REG
[0] = NIT_NULL
;
896 /* compiling/compiling_icode.nit:149 */
897 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
898 if (UNTAG_Bool(REGB0
)) {
900 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_compiling___compiling_icode
, 149);
902 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0]);
903 stack_frame_head
= fra
.me
.prev
;
904 return fra
.me
.REG
[0];
906 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___iroutine
[] = "compiling_icode::I2CCompilerVisitor::iroutine";
907 val_t
compiling___compiling_icode___I2CCompilerVisitor___iroutine(val_t p0
){
908 struct {struct stack_frame_t me
;} fra
;
911 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
912 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
914 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___iroutine
;
915 fra
.me
.has_broke
= 0;
917 fra
.me
.nitni_local_ref_head
= NULL
;
918 fra
.me
.REG
[0] = NIT_NULL
;
920 /* compiling/compiling_icode.nit:152 */
921 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0])!=NIT_NULL
);
922 if (UNTAG_Bool(REGB0
)) {
924 nit_abort("Uninitialized attribute %s", "_iroutine", LOCATE_compiling___compiling_icode
, 152);
926 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0]);
927 stack_frame_head
= fra
.me
.prev
;
928 return fra
.me
.REG
[0];
930 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label
[] = "compiling_icode::I2CCompilerVisitor::return_label";
931 val_t
compiling___compiling_icode___I2CCompilerVisitor___return_label(val_t p0
){
932 struct {struct stack_frame_t me
;} fra
;
934 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
935 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
937 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label
;
938 fra
.me
.has_broke
= 0;
940 fra
.me
.nitni_local_ref_head
= NULL
;
941 fra
.me
.REG
[0] = NIT_NULL
;
943 /* compiling/compiling_icode.nit:155 */
944 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____return_label(fra
.me
.REG
[0]);
945 stack_frame_head
= fra
.me
.prev
;
946 return fra
.me
.REG
[0];
948 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq
[] = "compiling_icode::I2CCompilerVisitor::return_label=";
949 void compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(val_t p0
, val_t p1
){
950 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
952 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
953 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
955 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq
;
956 fra
.me
.has_broke
= 0;
958 fra
.me
.nitni_local_ref_head
= NULL
;
959 fra
.me
.REG
[0] = NIT_NULL
;
960 fra
.me
.REG
[1] = NIT_NULL
;
963 /* compiling/compiling_icode.nit:155 */
964 ATTR_compiling___compiling_icode___I2CCompilerVisitor____return_label(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
965 stack_frame_head
= fra
.me
.prev
;
968 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_decl
[] = "compiling_icode::I2CCompilerVisitor::add_decl";
969 void compiling___compiling_icode___I2CCompilerVisitor___add_decl(val_t p0
, val_t p1
){
970 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
972 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
973 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
975 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_decl
;
976 fra
.me
.has_broke
= 0;
978 fra
.me
.nitni_local_ref_head
= NULL
;
979 fra
.me
.REG
[0] = NIT_NULL
;
980 fra
.me
.REG
[1] = NIT_NULL
;
983 /* compiling/compiling_icode.nit:160 */
984 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
985 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
986 stack_frame_head
= fra
.me
.prev
;
989 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_instr
[] = "compiling_icode::I2CCompilerVisitor::new_instr";
990 val_t
compiling___compiling_icode___I2CCompilerVisitor___new_instr(val_t p0
){
991 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
995 static val_t once_value_1
; /* Once value */
996 static val_t once_value_2
; /* Once value */
997 static val_t once_value_3
; /* Once value */
998 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
999 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1001 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___new_instr
;
1002 fra
.me
.has_broke
= 0;
1003 fra
.me
.REG_size
= 4;
1004 fra
.me
.nitni_local_ref_head
= NULL
;
1005 fra
.me
.REG
[0] = NIT_NULL
;
1006 fra
.me
.REG
[1] = NIT_NULL
;
1007 fra
.me
.REG
[2] = NIT_NULL
;
1008 fra
.me
.REG
[3] = NIT_NULL
;
1010 /* compiling/compiling_icode.nit:167 */
1011 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1012 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1013 /* compiling/compiling_icode.nit:168 */
1014 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]);
1015 /* compiling/compiling_icode.nit:169 */
1016 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1017 if (UNTAG_Bool(REGB0
)) {
1019 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1020 if (UNTAG_Bool(REGB1
)) {
1021 REGB1
= TAG_Bool(0);
1024 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1028 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1029 if (UNTAG_Bool(REGB0
)) {
1030 /* compiling/compiling_icode.nit:170 */
1031 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1032 CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1033 /* compiling/compiling_icode.nit:171 */
1034 if (!once_value_1
) {
1035 fra
.me
.REG
[3] = BOX_NativeString("/* ");
1037 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1038 once_value_1
= fra
.me
.REG
[3];
1039 register_static_object(&once_value_1
);
1040 } else fra
.me
.REG
[3] = once_value_1
;
1041 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1042 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1043 /* compiling/compiling_icode.nit:172 */
1044 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1045 if (UNTAG_Bool(REGB0
)) {
1046 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 172);
1048 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1049 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1050 if (UNTAG_Bool(REGB0
)) {
1051 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 172);
1053 fra
.me
.REG
[3] = CALL_location___SourceFile___filename(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1054 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1055 /* compiling/compiling_icode.nit:173 */
1056 if (!once_value_2
) {
1057 fra
.me
.REG
[3] = BOX_NativeString(":");
1059 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1060 once_value_2
= fra
.me
.REG
[3];
1061 register_static_object(&once_value_2
);
1062 } else fra
.me
.REG
[3] = once_value_2
;
1063 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1064 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1065 /* compiling/compiling_icode.nit:174 */
1066 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1067 if (UNTAG_Bool(REGB0
)) {
1068 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 174);
1070 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1071 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1072 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1073 /* compiling/compiling_icode.nit:175 */
1074 if (!once_value_3
) {
1075 fra
.me
.REG
[2] = BOX_NativeString(" */\n");
1077 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1078 once_value_3
= fra
.me
.REG
[2];
1079 register_static_object(&once_value_3
);
1080 } else fra
.me
.REG
[2] = once_value_3
;
1081 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1082 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1083 /* compiling/compiling_icode.nit:176 */
1084 ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]) = NIT_NULL
;
1086 /* compiling/compiling_icode.nit:178 */
1087 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1088 CALL_compiling___compiling_base___CompilerVisitor___add_indent(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1089 /* compiling/compiling_icode.nit:179 */
1092 stack_frame_head
= fra
.me
.prev
;
1093 return fra
.me
.REG
[1];
1095 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_instr
[] = "compiling_icode::I2CCompilerVisitor::add_instr";
1096 void compiling___compiling_icode___I2CCompilerVisitor___add_instr(val_t p0
, val_t p1
){
1097 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1100 static val_t once_value_1
; /* Once value */
1101 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1102 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1104 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_instr
;
1105 fra
.me
.has_broke
= 0;
1106 fra
.me
.REG_size
= 2;
1107 fra
.me
.nitni_local_ref_head
= NULL
;
1108 fra
.me
.REG
[0] = NIT_NULL
;
1109 fra
.me
.REG
[1] = NIT_NULL
;
1112 /* compiling/compiling_icode.nit:184 */
1113 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1114 fra
.me
.REG
[1] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1115 if (!once_value_1
) {
1116 fra
.me
.REG
[0] = BOX_NativeString("\n");
1118 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1119 once_value_1
= fra
.me
.REG
[0];
1120 register_static_object(&once_value_1
);
1121 } else fra
.me
.REG
[0] = once_value_1
;
1122 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1123 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1124 stack_frame_head
= fra
.me
.prev
;
1127 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___indent
[] = "compiling_icode::I2CCompilerVisitor::indent";
1128 void compiling___compiling_icode___I2CCompilerVisitor___indent(val_t p0
){
1129 struct {struct stack_frame_t me
;} fra
;
1131 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1132 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1134 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___indent
;
1135 fra
.me
.has_broke
= 0;
1136 fra
.me
.REG_size
= 1;
1137 fra
.me
.nitni_local_ref_head
= NULL
;
1138 fra
.me
.REG
[0] = NIT_NULL
;
1140 /* compiling/compiling_icode.nit:189 */
1141 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1142 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1143 stack_frame_head
= fra
.me
.prev
;
1146 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___unindent
[] = "compiling_icode::I2CCompilerVisitor::unindent";
1147 void compiling___compiling_icode___I2CCompilerVisitor___unindent(val_t p0
){
1148 struct {struct stack_frame_t me
;} fra
;
1150 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1151 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1153 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___unindent
;
1154 fra
.me
.has_broke
= 0;
1155 fra
.me
.REG_size
= 1;
1156 fra
.me
.nitni_local_ref_head
= NULL
;
1157 fra
.me
.REG
[0] = NIT_NULL
;
1159 /* compiling/compiling_icode.nit:194 */
1160 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1161 CALL_compiling___compiling_base___CompilerVisitor___unindent(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1162 stack_frame_head
= fra
.me
.prev
;
1165 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_assignment
[] = "compiling_icode::I2CCompilerVisitor::add_assignment";
1166 void compiling___compiling_icode___I2CCompilerVisitor___add_assignment(val_t p0
, val_t p1
, val_t p2
){
1167 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1169 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1170 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1172 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_assignment
;
1173 fra
.me
.has_broke
= 0;
1174 fra
.me
.REG_size
= 3;
1175 fra
.me
.nitni_local_ref_head
= NULL
;
1176 fra
.me
.REG
[0] = NIT_NULL
;
1177 fra
.me
.REG
[1] = NIT_NULL
;
1178 fra
.me
.REG
[2] = NIT_NULL
;
1182 /* compiling/compiling_icode.nit:199 */
1183 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1184 CALL_compiling___compiling_base___CompilerVisitor___add_assignment(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1185 stack_frame_head
= fra
.me
.prev
;
1188 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_location
[] = "compiling_icode::I2CCompilerVisitor::add_location";
1189 void compiling___compiling_icode___I2CCompilerVisitor___add_location(val_t p0
, val_t p1
){
1190 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1195 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1196 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1198 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___add_location
;
1199 fra
.me
.has_broke
= 0;
1200 fra
.me
.REG_size
= 5;
1201 fra
.me
.nitni_local_ref_head
= NULL
;
1202 fra
.me
.REG
[0] = NIT_NULL
;
1203 fra
.me
.REG
[1] = NIT_NULL
;
1204 fra
.me
.REG
[2] = NIT_NULL
;
1205 fra
.me
.REG
[3] = NIT_NULL
;
1206 fra
.me
.REG
[4] = NIT_NULL
;
1209 /* compiling/compiling_icode.nit:209 */
1210 fra
.me
.REG
[2] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_location(fra
.me
.REG
[0]);
1211 /* compiling/compiling_icode.nit:210 */
1212 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1213 if (UNTAG_Bool(REGB0
)) {
1215 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1216 if (UNTAG_Bool(REGB1
)) {
1217 REGB1
= TAG_Bool(0);
1220 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1224 if (UNTAG_Bool(REGB0
)) {
1225 REGB0
= TAG_Bool(1);
1227 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1228 if (UNTAG_Bool(REGB1
)) {
1230 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1231 if (UNTAG_Bool(REGB2
)) {
1232 REGB2
= TAG_Bool(0);
1235 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1241 if (UNTAG_Bool(REGB0
)) {
1244 /* compiling/compiling_icode.nit:211 */
1245 ATTR_compiling___compiling_icode___I2CCompilerVisitor____last_location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1246 /* compiling/compiling_icode.nit:212 */
1247 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1248 if (UNTAG_Bool(REGB0
)) {
1250 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1251 if (UNTAG_Bool(REGB1
)) {
1252 REGB1
= TAG_Bool(0);
1255 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1259 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1260 if (UNTAG_Bool(REGB0
)) {
1261 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1262 if (UNTAG_Bool(REGB0
)) {
1263 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1265 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1266 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1267 if (UNTAG_Bool(REGB0
)) {
1268 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1270 fra
.me
.REG
[4] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1271 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1272 if (UNTAG_Bool(REGB0
)) {
1274 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1275 if (UNTAG_Bool(REGB1
)) {
1276 REGB1
= TAG_Bool(0);
1279 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1284 REGB1
= TAG_Bool(0);
1287 if (UNTAG_Bool(REGB0
)) {
1288 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1289 if (UNTAG_Bool(REGB0
)) {
1290 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1292 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1293 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1294 if (UNTAG_Bool(REGB1
)) {
1295 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 212);
1297 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1298 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1299 if (UNTAG_Bool(REGB2
)) {
1301 /* ../lib/standard/kernel.nit:230 */
1302 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1303 /* compiling/compiling_icode.nit:212 */
1307 REGB1
= TAG_Bool(0);
1310 if (UNTAG_Bool(REGB2
)) {
1311 /* compiling/compiling_icode.nit:213 */
1314 /* compiling/compiling_icode.nit:215 */
1315 ATTR_compiling___compiling_icode___I2CCompilerVisitor____next_location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1318 stack_frame_head
= fra
.me
.prev
;
1321 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___basecname
[] = "compiling_icode::I2CCompilerVisitor::basecname";
1322 val_t
compiling___compiling_icode___I2CCompilerVisitor___basecname(val_t p0
){
1323 struct {struct stack_frame_t me
;} fra
;
1326 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1327 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1329 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___basecname
;
1330 fra
.me
.has_broke
= 0;
1331 fra
.me
.REG_size
= 1;
1332 fra
.me
.nitni_local_ref_head
= NULL
;
1333 fra
.me
.REG
[0] = NIT_NULL
;
1335 /* compiling/compiling_icode.nit:219 */
1336 REGB0
= TAG_Bool(ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0])!=NIT_NULL
);
1337 if (UNTAG_Bool(REGB0
)) {
1339 nit_abort("Uninitialized attribute %s", "_basecname", LOCATE_compiling___compiling_icode
, 219);
1341 fra
.me
.REG
[0] = ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0]);
1342 stack_frame_head
= fra
.me
.prev
;
1343 return fra
.me
.REG
[0];
1345 static const char LOCATE_compiling___compiling_icode___I2CCompilerVisitor___init
[] = "compiling_icode::I2CCompilerVisitor::init";
1346 void compiling___compiling_icode___I2CCompilerVisitor___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1347 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_compiling___compiling_icode___I2CCompilerVisitor
].i
;
1348 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1350 if (init_table
[itpos0
]) return;
1351 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1352 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1354 fra
.me
.meth
= LOCATE_compiling___compiling_icode___I2CCompilerVisitor___init
;
1355 fra
.me
.has_broke
= 0;
1356 fra
.me
.REG_size
= 4;
1357 fra
.me
.nitni_local_ref_head
= NULL
;
1358 fra
.me
.REG
[0] = NIT_NULL
;
1359 fra
.me
.REG
[1] = NIT_NULL
;
1360 fra
.me
.REG
[2] = NIT_NULL
;
1361 fra
.me
.REG
[3] = NIT_NULL
;
1366 /* compiling/compiling_icode.nit:224 */
1367 ATTR_compiling___compiling_icode___I2CCompilerVisitor____visitor(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1368 /* compiling/compiling_icode.nit:225 */
1369 ATTR_compiling___compiling_icode___I2CCompilerVisitor____iroutine(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1370 /* compiling/compiling_icode.nit:226 */
1371 ATTR_compiling___compiling_icode___I2CCompilerVisitor____basecname(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1372 stack_frame_head
= fra
.me
.prev
;
1373 init_table
[itpos0
] = 1;
1376 static const char LOCATE_compiling___compiling_icode___IRoutine___compile_signature_to_c
[] = "compiling_icode::IRoutine::compile_signature_to_c";
1377 val_t
compiling___compiling_icode___IRoutine___compile_signature_to_c(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, val_t p5
){
1378 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
1386 static val_t once_value_1
; /* Once value */
1387 static val_t once_value_2
; /* Once value */
1388 static val_t once_value_3
; /* Once value */
1389 static val_t once_value_4
; /* Once value */
1390 static val_t once_value_6
; /* Once value */
1391 static val_t once_value_7
; /* Once value */
1392 static val_t once_value_8
; /* Once value */
1393 static val_t once_value_9
; /* Once value */
1394 static val_t once_value_10
; /* Once value */
1395 static val_t once_value_11
; /* Once value */
1396 static val_t once_value_13
; /* Once value */
1397 static val_t once_value_14
; /* Once value */
1398 static val_t once_value_15
; /* Once value */
1399 static val_t once_value_16
; /* Once value */
1400 static val_t once_value_17
; /* Once value */
1401 static val_t once_value_18
; /* Once value */
1402 static val_t once_value_19
; /* Once value */
1403 static val_t once_value_20
; /* Once value */
1404 static val_t once_value_21
; /* Once value */
1405 static val_t once_value_22
; /* Once value */
1406 static val_t once_value_23
; /* Once value */
1407 static val_t once_value_25
; /* Once value */
1408 static val_t once_value_26
; /* Once value */
1409 static val_t once_value_27
; /* Once value */
1410 static val_t once_value_28
; /* Once value */
1411 static val_t once_value_29
; /* Once value */
1412 static val_t once_value_30
; /* Once value */
1413 static val_t once_value_31
; /* Once value */
1414 static val_t once_value_32
; /* Once value */
1415 static val_t once_value_33
; /* Once value */
1416 static val_t once_value_34
; /* Once value */
1417 static val_t once_value_35
; /* Once value */
1418 static val_t once_value_36
; /* Once value */
1419 static val_t once_value_37
; /* Once value */
1420 static val_t once_value_38
; /* Once value */
1421 static val_t once_value_39
; /* Once value */
1422 static val_t once_value_40
; /* Once value */
1423 static val_t once_value_41
; /* Once value */
1424 static val_t once_value_42
; /* Once value */
1425 static val_t once_value_43
; /* Once value */
1426 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1427 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
1429 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_signature_to_c
;
1430 fra
.me
.has_broke
= 0;
1431 fra
.me
.REG_size
= 12;
1432 fra
.me
.nitni_local_ref_head
= NULL
;
1433 fra
.me
.REG
[0] = NIT_NULL
;
1434 fra
.me
.REG
[1] = NIT_NULL
;
1435 fra
.me
.REG
[2] = NIT_NULL
;
1436 fra
.me
.REG
[3] = NIT_NULL
;
1437 fra
.me
.REG
[4] = NIT_NULL
;
1438 fra
.me
.REG
[5] = NIT_NULL
;
1439 fra
.me
.REG
[6] = NIT_NULL
;
1440 fra
.me
.REG
[7] = NIT_NULL
;
1441 fra
.me
.REG
[8] = NIT_NULL
;
1442 fra
.me
.REG
[9] = NIT_NULL
;
1443 fra
.me
.REG
[10] = NIT_NULL
;
1444 fra
.me
.REG
[11] = NIT_NULL
;
1451 /* compiling/compiling_icode.nit:237 */
1452 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___init();
1453 /* compiling/compiling_icode.nit:238 */
1454 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___init();
1455 /* compiling/compiling_icode.nit:239 */
1456 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1457 if (UNTAG_Bool(REGB0
)) {
1459 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1460 if (UNTAG_Bool(REGB1
)) {
1461 REGB1
= TAG_Bool(0);
1464 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1468 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1469 if (UNTAG_Bool(REGB0
)) {
1470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1472 /* compiling/compiling_icode.nit:240 */
1474 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1475 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1476 /* ../lib/standard/kernel.nit:355 */
1478 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1479 if (UNTAG_Bool(REGB2
)) {
1481 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1483 /* ../lib/standard/kernel.nit:235 */
1484 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1485 /* ../lib/standard/kernel.nit:355 */
1486 if (UNTAG_Bool(REGB2
)) {
1487 /* compiling/compiling_icode.nit:240 */
1489 /* compiling/compiling_icode.nit:241 */
1491 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1492 if (!once_value_1
) {
1493 fra
.me
.REG
[8] = BOX_NativeString("p");
1495 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1496 once_value_1
= fra
.me
.REG
[8];
1497 register_static_object(&once_value_1
);
1498 } else fra
.me
.REG
[8] = once_value_1
;
1499 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1500 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1501 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1503 if (!once_value_2
) {
1504 fra
.me
.REG
[8] = BOX_NativeString("");
1506 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1507 once_value_2
= fra
.me
.REG
[8];
1508 register_static_object(&once_value_2
);
1509 } else fra
.me
.REG
[8] = once_value_2
;
1510 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1512 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1513 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1514 /* compiling/compiling_icode.nit:242 */
1516 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1517 if (!once_value_3
) {
1518 fra
.me
.REG
[8] = BOX_NativeString("val_t p");
1520 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1521 once_value_3
= fra
.me
.REG
[8];
1522 register_static_object(&once_value_3
);
1523 } else fra
.me
.REG
[8] = once_value_3
;
1524 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1525 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1526 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1527 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1528 if (!once_value_4
) {
1529 fra
.me
.REG
[8] = BOX_NativeString("");
1531 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1532 once_value_4
= fra
.me
.REG
[8];
1533 register_static_object(&once_value_4
);
1534 } else fra
.me
.REG
[8] = once_value_4
;
1535 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1537 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1538 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1539 /* ../lib/standard/kernel.nit:357 */
1541 /* ../lib/standard/kernel.nit:238 */
1542 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1543 /* ../lib/standard/kernel.nit:357 */
1546 /* ../lib/standard/kernel.nit:355 */
1551 /* compiling/compiling_icode.nit:244 */
1552 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1553 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1554 if (UNTAG_Bool(REGB0
)) {
1556 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1557 if (UNTAG_Bool(REGB1
)) {
1558 REGB1
= TAG_Bool(0);
1561 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1565 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1566 if (UNTAG_Bool(REGB0
)) {
1567 /* compiling/compiling_icode.nit:245 */
1568 if (!once_value_6
) {
1569 fra
.me
.REG
[4] = BOX_NativeString("struct stack_frame_t *closctx_param");
1570 REGB0
= TAG_Int(35);
1571 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1572 once_value_6
= fra
.me
.REG
[4];
1573 register_static_object(&once_value_6
);
1574 } else fra
.me
.REG
[4] = once_value_6
;
1575 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
1577 /* compiling/compiling_icode.nit:246 */
1579 fra
.me
.REG
[4] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1580 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1581 if (UNTAG_Bool(REGB1
)) {
1582 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 246);
1584 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1585 /* ../lib/standard/kernel.nit:355 */
1587 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1588 if (UNTAG_Bool(REGB2
)) {
1590 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1592 /* ../lib/standard/kernel.nit:235 */
1593 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1594 /* ../lib/standard/kernel.nit:355 */
1595 if (UNTAG_Bool(REGB2
)) {
1596 /* compiling/compiling_icode.nit:246 */
1598 /* compiling/compiling_icode.nit:247 */
1600 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1601 if (!once_value_7
) {
1602 fra
.me
.REG
[8] = BOX_NativeString("CLOS_");
1604 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1605 once_value_7
= fra
.me
.REG
[8];
1606 register_static_object(&once_value_7
);
1607 } else fra
.me
.REG
[8] = once_value_7
;
1608 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1609 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1610 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1611 if (!once_value_8
) {
1612 fra
.me
.REG
[8] = BOX_NativeString("_");
1614 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1615 once_value_8
= fra
.me
.REG
[8];
1616 register_static_object(&once_value_8
);
1617 } else fra
.me
.REG
[8] = once_value_8
;
1618 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1620 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1622 if (!once_value_9
) {
1623 fra
.me
.REG
[8] = BOX_NativeString("");
1625 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1626 once_value_9
= fra
.me
.REG
[8];
1627 register_static_object(&once_value_9
);
1628 } else fra
.me
.REG
[8] = once_value_9
;
1629 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1631 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1632 /* compiling/compiling_icode.nit:248 */
1633 fra
.me
.REG
[8] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1634 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1635 if (UNTAG_Bool(REGB3
)) {
1636 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 248);
1638 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
1639 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1640 if (UNTAG_Bool(REGB3
)) {
1641 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 248);
1643 fra
.me
.REG
[8] = CALL_icode___icode_base___IClosureDecl___closure(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1644 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1645 /* compiling/compiling_icode.nit:249 */
1646 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___init();
1647 /* compiling/compiling_icode.nit:250 */
1648 if (!once_value_10
) {
1649 fra
.me
.REG
[10] = BOX_NativeString("struct stack_frame_t *");
1650 REGB3
= TAG_Int(22);
1651 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1652 once_value_10
= fra
.me
.REG
[10];
1653 register_static_object(&once_value_10
);
1654 } else fra
.me
.REG
[10] = once_value_10
;
1655 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1657 /* compiling/compiling_icode.nit:251 */
1659 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1660 /* ../lib/standard/kernel.nit:355 */
1662 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1663 if (UNTAG_Bool(REGB5
)) {
1665 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1667 /* ../lib/standard/kernel.nit:235 */
1668 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1669 /* ../lib/standard/kernel.nit:355 */
1670 if (UNTAG_Bool(REGB5
)) {
1671 /* compiling/compiling_icode.nit:252 */
1672 if (!once_value_11
) {
1673 fra
.me
.REG
[10] = BOX_NativeString("val_t");
1675 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB5
);
1676 once_value_11
= fra
.me
.REG
[10];
1677 register_static_object(&once_value_11
);
1678 } else fra
.me
.REG
[10] = once_value_11
;
1679 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1680 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1681 /* ../lib/standard/kernel.nit:357 */
1683 /* ../lib/standard/kernel.nit:238 */
1684 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
1685 /* ../lib/standard/kernel.nit:357 */
1688 /* ../lib/standard/kernel.nit:355 */
1693 /* compiling/compiling_icode.nit:254 */
1694 if (!once_value_13
) {
1695 fra
.me
.REG
[10] = BOX_NativeString("void");
1697 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1698 once_value_13
= fra
.me
.REG
[10];
1699 register_static_object(&once_value_13
);
1700 } else fra
.me
.REG
[10] = once_value_13
;
1701 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1702 /* compiling/compiling_icode.nit:255 */
1703 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1704 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1705 if (UNTAG_Bool(REGB3
)) {
1707 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1708 if (UNTAG_Bool(REGB4
)) {
1709 REGB4
= TAG_Bool(0);
1712 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
1716 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1717 if (UNTAG_Bool(REGB3
)) {
1718 if (!once_value_14
) {
1719 fra
.me
.REG
[8] = BOX_NativeString("val_t");
1721 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
1722 once_value_14
= fra
.me
.REG
[8];
1723 register_static_object(&once_value_14
);
1724 } else fra
.me
.REG
[8] = once_value_14
;
1725 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1726 fra
.me
.REG
[10] = fra
.me
.REG
[8];
1728 /* compiling/compiling_icode.nit:256 */
1730 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1731 if (!once_value_15
) {
1732 fra
.me
.REG
[11] = BOX_NativeString("typedef ");
1734 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
1735 once_value_15
= fra
.me
.REG
[11];
1736 register_static_object(&once_value_15
);
1737 } else fra
.me
.REG
[11] = once_value_15
;
1738 fra
.me
.REG
[11] = fra
.me
.REG
[11];
1739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[11]);
1740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1741 if (!once_value_16
) {
1742 fra
.me
.REG
[10] = BOX_NativeString(" (*");
1744 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB3
);
1745 once_value_16
= fra
.me
.REG
[10];
1746 register_static_object(&once_value_16
);
1747 } else fra
.me
.REG
[10] = once_value_16
;
1748 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1751 if (!once_value_17
) {
1752 fra
.me
.REG
[4] = BOX_NativeString(")(");
1754 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1755 once_value_17
= fra
.me
.REG
[4];
1756 register_static_object(&once_value_17
);
1757 } else fra
.me
.REG
[4] = once_value_17
;
1758 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1760 if (!once_value_18
) {
1761 fra
.me
.REG
[4] = BOX_NativeString(", ");
1763 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1764 once_value_18
= fra
.me
.REG
[4];
1765 register_static_object(&once_value_18
);
1766 } else fra
.me
.REG
[4] = once_value_18
;
1767 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1768 fra
.me
.REG
[4] = CALL_standard___string___Collection___join(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[4]);
1769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1770 if (!once_value_19
) {
1771 fra
.me
.REG
[4] = BOX_NativeString(");");
1773 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1774 once_value_19
= fra
.me
.REG
[4];
1775 register_static_object(&once_value_19
);
1776 } else fra
.me
.REG
[4] = once_value_19
;
1777 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1779 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1780 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1781 /* compiling/compiling_icode.nit:257 */
1783 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1784 if (!once_value_20
) {
1785 fra
.me
.REG
[4] = BOX_NativeString("clos_fun");
1787 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1788 once_value_20
= fra
.me
.REG
[4];
1789 register_static_object(&once_value_20
);
1790 } else fra
.me
.REG
[4] = once_value_20
;
1791 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1792 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1793 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1795 if (!once_value_21
) {
1796 fra
.me
.REG
[4] = BOX_NativeString("");
1798 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1799 once_value_21
= fra
.me
.REG
[4];
1800 register_static_object(&once_value_21
);
1801 } else fra
.me
.REG
[4] = once_value_21
;
1802 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1803 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1804 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1806 /* compiling/compiling_icode.nit:258 */
1808 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
1809 if (!once_value_22
) {
1810 fra
.me
.REG
[4] = BOX_NativeString("fun_t clos_fun");
1811 REGB3
= TAG_Int(14);
1812 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
1813 once_value_22
= fra
.me
.REG
[4];
1814 register_static_object(&once_value_22
);
1815 } else fra
.me
.REG
[4] = once_value_22
;
1816 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1818 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
1819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1820 if (!once_value_23
) {
1821 fra
.me
.REG
[4] = BOX_NativeString("");
1823 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
1824 once_value_23
= fra
.me
.REG
[4];
1825 register_static_object(&once_value_23
);
1826 } else fra
.me
.REG
[4] = once_value_23
;
1827 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1829 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1830 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1831 /* ../lib/standard/kernel.nit:357 */
1833 /* ../lib/standard/kernel.nit:238 */
1834 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1835 /* ../lib/standard/kernel.nit:357 */
1838 /* ../lib/standard/kernel.nit:355 */
1844 /* compiling/compiling_icode.nit:261 */
1845 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1846 if (UNTAG_Bool(REGB0
)) {
1848 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1849 if (UNTAG_Bool(REGB1
)) {
1850 REGB1
= TAG_Bool(0);
1853 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
1857 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1858 if (UNTAG_Bool(REGB0
)) {
1859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1861 /* compiling/compiling_icode.nit:262 */
1862 if (!once_value_25
) {
1863 fra
.me
.REG
[5] = BOX_NativeString("void");
1865 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1866 once_value_25
= fra
.me
.REG
[5];
1867 register_static_object(&once_value_25
);
1868 } else fra
.me
.REG
[5] = once_value_25
;
1869 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1870 /* compiling/compiling_icode.nit:263 */
1871 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1872 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1873 if (UNTAG_Bool(REGB0
)) {
1875 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1876 if (UNTAG_Bool(REGB1
)) {
1877 REGB1
= TAG_Bool(0);
1880 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1884 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1885 if (UNTAG_Bool(REGB0
)) {
1886 if (!once_value_26
) {
1887 fra
.me
.REG
[0] = BOX_NativeString("val_t");
1889 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1890 once_value_26
= fra
.me
.REG
[0];
1891 register_static_object(&once_value_26
);
1892 } else fra
.me
.REG
[0] = once_value_26
;
1893 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1894 fra
.me
.REG
[5] = fra
.me
.REG
[0];
1896 /* compiling/compiling_icode.nit:265 */
1897 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1898 if (UNTAG_Bool(REGB0
)) {
1899 /* compiling/compiling_icode.nit:266 */
1900 if (!once_value_27
) {
1901 fra
.me
.REG
[0] = BOX_NativeString("void");
1903 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1904 once_value_27
= fra
.me
.REG
[0];
1905 register_static_object(&once_value_27
);
1906 } else fra
.me
.REG
[0] = once_value_27
;
1907 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1909 /* compiling/compiling_icode.nit:268 */
1910 if (!once_value_28
) {
1911 fra
.me
.REG
[8] = BOX_NativeString(", ");
1913 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1914 once_value_28
= fra
.me
.REG
[8];
1915 register_static_object(&once_value_28
);
1916 } else fra
.me
.REG
[8] = once_value_28
;
1917 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1918 fra
.me
.REG
[8] = CALL_standard___string___Collection___join(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1919 fra
.me
.REG
[0] = fra
.me
.REG
[8];
1921 /* compiling/compiling_icode.nit:270 */
1922 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1923 if (UNTAG_Bool(REGB0
)) {
1925 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1926 if (UNTAG_Bool(REGB1
)) {
1927 REGB1
= TAG_Bool(0);
1930 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1934 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1935 if (UNTAG_Bool(REGB0
)) {
1936 /* compiling/compiling_icode.nit:271 */
1938 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1939 if (!once_value_29
) {
1940 fra
.me
.REG
[7] = BOX_NativeString("static const char LOCATE_");
1941 REGB0
= TAG_Int(25);
1942 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1943 once_value_29
= fra
.me
.REG
[7];
1944 register_static_object(&once_value_29
);
1945 } else fra
.me
.REG
[7] = once_value_29
;
1946 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1947 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1948 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1949 if (!once_value_30
) {
1950 fra
.me
.REG
[7] = BOX_NativeString("[] = \"");
1952 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1953 once_value_30
= fra
.me
.REG
[7];
1954 register_static_object(&once_value_30
);
1955 } else fra
.me
.REG
[7] = once_value_30
;
1956 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1959 if (!once_value_31
) {
1960 fra
.me
.REG
[3] = BOX_NativeString("\";");
1962 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1963 once_value_31
= fra
.me
.REG
[3];
1964 register_static_object(&once_value_31
);
1965 } else fra
.me
.REG
[3] = once_value_31
;
1966 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1968 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1969 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
1971 /* compiling/compiling_icode.nit:273 */
1973 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1974 if (!once_value_32
) {
1975 fra
.me
.REG
[3] = BOX_NativeString("");
1977 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1978 once_value_32
= fra
.me
.REG
[3];
1979 register_static_object(&once_value_32
);
1980 } else fra
.me
.REG
[3] = once_value_32
;
1981 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1983 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1984 if (!once_value_33
) {
1985 fra
.me
.REG
[3] = BOX_NativeString(" ");
1987 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1988 once_value_33
= fra
.me
.REG
[3];
1989 register_static_object(&once_value_33
);
1990 } else fra
.me
.REG
[3] = once_value_33
;
1991 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
1993 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1994 if (!once_value_34
) {
1995 fra
.me
.REG
[3] = BOX_NativeString("(");
1997 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1998 once_value_34
= fra
.me
.REG
[3];
1999 register_static_object(&once_value_34
);
2000 } else fra
.me
.REG
[3] = once_value_34
;
2001 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2003 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2004 if (!once_value_35
) {
2005 fra
.me
.REG
[3] = BOX_NativeString(");");
2007 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2008 once_value_35
= fra
.me
.REG
[3];
2009 register_static_object(&once_value_35
);
2010 } else fra
.me
.REG
[3] = once_value_35
;
2011 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2012 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2013 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2014 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
2015 /* compiling/compiling_icode.nit:274 */
2017 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2018 if (!once_value_36
) {
2019 fra
.me
.REG
[3] = BOX_NativeString("typedef ");
2021 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2022 once_value_36
= fra
.me
.REG
[3];
2023 register_static_object(&once_value_36
);
2024 } else fra
.me
.REG
[3] = once_value_36
;
2025 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2027 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
2028 if (!once_value_37
) {
2029 fra
.me
.REG
[3] = BOX_NativeString(" (*");
2031 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2032 once_value_37
= fra
.me
.REG
[3];
2033 register_static_object(&once_value_37
);
2034 } else fra
.me
.REG
[3] = once_value_37
;
2035 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2038 if (!once_value_38
) {
2039 fra
.me
.REG
[3] = BOX_NativeString("_t)(");
2041 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2042 once_value_38
= fra
.me
.REG
[3];
2043 register_static_object(&once_value_38
);
2044 } else fra
.me
.REG
[3] = once_value_38
;
2045 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2046 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2047 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2048 if (!once_value_39
) {
2049 fra
.me
.REG
[3] = BOX_NativeString(");");
2051 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2052 once_value_39
= fra
.me
.REG
[3];
2053 register_static_object(&once_value_39
);
2054 } else fra
.me
.REG
[3] = once_value_39
;
2055 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2057 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2058 CALL_compiling___compiling_base___CompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
2059 /* compiling/compiling_icode.nit:275 */
2061 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2062 if (!once_value_40
) {
2063 fra
.me
.REG
[3] = BOX_NativeString("");
2065 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2066 once_value_40
= fra
.me
.REG
[3];
2067 register_static_object(&once_value_40
);
2068 } else fra
.me
.REG
[3] = once_value_40
;
2069 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2070 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[3]);
2071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
2072 if (!once_value_41
) {
2073 fra
.me
.REG
[5] = BOX_NativeString(" ");
2075 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2076 once_value_41
= fra
.me
.REG
[5];
2077 register_static_object(&once_value_41
);
2078 } else fra
.me
.REG
[5] = once_value_41
;
2079 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2080 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
2081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2082 if (!once_value_42
) {
2083 fra
.me
.REG
[2] = BOX_NativeString("(");
2085 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2086 once_value_42
= fra
.me
.REG
[2];
2087 register_static_object(&once_value_42
);
2088 } else fra
.me
.REG
[2] = once_value_42
;
2089 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2090 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
2091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2092 if (!once_value_43
) {
2093 fra
.me
.REG
[0] = BOX_NativeString("){");
2095 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2096 once_value_43
= fra
.me
.REG
[0];
2097 register_static_object(&once_value_43
);
2098 } else fra
.me
.REG
[0] = once_value_43
;
2099 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2100 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
2101 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2102 CALL_compiling___compiling_base___CompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8]);
2103 /* compiling/compiling_icode.nit:276 */
2104 CALL_compiling___compiling_base___CompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2105 /* compiling/compiling_icode.nit:277 */
2108 stack_frame_head
= fra
.me
.prev
;
2109 return fra
.me
.REG
[6];
2111 static const char LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c
[] = "compiling_icode::IRoutine::compile_inside_to_c";
2112 val_t
compiling___compiling_icode___IRoutine___compile_inside_to_c(val_t p0
, val_t p1
, val_t p2
){
2113 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
2121 static val_t once_value_1
; /* Once value */
2122 static val_t once_value_2
; /* Once value */
2123 static val_t once_value_3
; /* Once value */
2124 static val_t once_value_4
; /* Once value */
2125 static val_t once_value_5
; /* Once value */
2126 static val_t once_value_6
; /* Once value */
2127 static val_t once_value_7
; /* Once value */
2128 static val_t once_value_8
; /* Once value */
2129 static val_t once_value_9
; /* Once value */
2130 static val_t once_value_10
; /* Once value */
2131 static val_t once_value_11
; /* Once value */
2132 static val_t once_value_12
; /* Once value */
2133 static val_t once_value_13
; /* Once value */
2134 static val_t once_value_14
; /* Once value */
2135 static val_t once_value_15
; /* Once value */
2136 static val_t once_value_16
; /* Once value */
2137 static val_t once_value_18
; /* Once value */
2138 static val_t once_value_19
; /* Once value */
2139 static val_t once_value_21
; /* Once value */
2140 static val_t once_value_22
; /* Once value */
2141 static val_t once_value_23
; /* Once value */
2142 static val_t once_value_24
; /* Once value */
2143 static val_t once_value_27
; /* Once value */
2144 static val_t once_value_28
; /* Once value */
2145 static val_t once_value_30
; /* Once value */
2146 static val_t once_value_31
; /* Once value */
2147 static val_t once_value_32
; /* Once value */
2148 static val_t once_value_34
; /* Once value */
2149 static val_t once_value_35
; /* Once value */
2150 static val_t once_value_36
; /* Once value */
2151 static val_t once_value_37
; /* Once value */
2152 static val_t once_value_38
; /* Once value */
2153 static val_t once_value_39
; /* Once value */
2154 static val_t once_value_41
; /* Once value */
2155 static val_t once_value_42
; /* Once value */
2156 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2157 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2159 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c
;
2160 fra
.me
.has_broke
= 0;
2161 fra
.me
.REG_size
= 10;
2162 fra
.me
.nitni_local_ref_head
= NULL
;
2163 fra
.me
.REG
[0] = NIT_NULL
;
2164 fra
.me
.REG
[1] = NIT_NULL
;
2165 fra
.me
.REG
[2] = NIT_NULL
;
2166 fra
.me
.REG
[3] = NIT_NULL
;
2167 fra
.me
.REG
[4] = NIT_NULL
;
2168 fra
.me
.REG
[5] = NIT_NULL
;
2169 fra
.me
.REG
[6] = NIT_NULL
;
2170 fra
.me
.REG
[7] = NIT_NULL
;
2171 fra
.me
.REG
[8] = NIT_NULL
;
2172 fra
.me
.REG
[9] = NIT_NULL
;
2176 /* compiling/compiling_icode.nit:284 */
2178 /* compiling/compiling_icode.nit:285 */
2179 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2180 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2181 if (UNTAG_Bool(REGB1
)) {
2183 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2184 if (UNTAG_Bool(REGB2
)) {
2185 REGB2
= TAG_Bool(0);
2188 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2192 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2193 if (UNTAG_Bool(REGB1
)) {
2194 /* compiling/compiling_icode.nit:286 */
2195 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2196 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2197 if (UNTAG_Bool(REGB1
)) {
2198 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 286);
2200 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2203 /* compiling/compiling_icode.nit:289 */
2204 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2206 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2207 if (UNTAG_Bool(REGB3
)) {
2209 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2211 /* ../lib/standard/kernel.nit:237 */
2212 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
2213 /* compiling/compiling_icode.nit:289 */
2214 if (UNTAG_Bool(REGB2
)) {
2215 /* compiling/compiling_icode.nit:290 */
2217 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
2218 if (!once_value_1
) {
2219 fra
.me
.REG
[4] = BOX_NativeString("struct {struct stack_frame_t me; val_t MORE_REG[");
2220 REGB2
= TAG_Int(48);
2221 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
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 REGB2
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2229 /* ../lib/standard/kernel.nit:240 */
2230 REGB1
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
2231 /* compiling/compiling_icode.nit:290 */
2232 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
2233 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2234 if (!once_value_2
) {
2235 fra
.me
.REG
[4] = BOX_NativeString("];} fra;");
2237 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2238 once_value_2
= fra
.me
.REG
[4];
2239 register_static_object(&once_value_2
);
2240 } else fra
.me
.REG
[4] = once_value_2
;
2241 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2243 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2244 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2246 /* compiling/compiling_icode.nit:292 */
2247 if (!once_value_3
) {
2248 fra
.me
.REG
[3] = BOX_NativeString("struct {struct stack_frame_t me;} fra;");
2249 REGB1
= TAG_Int(38);
2250 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
2251 once_value_3
= fra
.me
.REG
[3];
2252 register_static_object(&once_value_3
);
2253 } else fra
.me
.REG
[3] = once_value_3
;
2254 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2255 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2257 /* compiling/compiling_icode.nit:294 */
2258 if (!once_value_4
) {
2259 fra
.me
.REG
[3] = BOX_NativeString("fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;");
2260 REGB1
= TAG_Int(59);
2261 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
2262 once_value_4
= fra
.me
.REG
[3];
2263 register_static_object(&once_value_4
);
2264 } else fra
.me
.REG
[3] = once_value_4
;
2265 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2266 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2267 /* compiling/compiling_icode.nit:295 */
2269 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2270 if (!once_value_5
) {
2271 fra
.me
.REG
[4] = BOX_NativeString("fra.me.file = LOCATE_");
2272 REGB1
= TAG_Int(21);
2273 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2274 once_value_5
= fra
.me
.REG
[4];
2275 register_static_object(&once_value_5
);
2276 } else fra
.me
.REG
[4] = once_value_5
;
2277 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2278 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2279 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2280 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___mmmodule(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2281 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2283 if (!once_value_6
) {
2284 fra
.me
.REG
[4] = BOX_NativeString(";");
2286 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2287 once_value_6
= fra
.me
.REG
[4];
2288 register_static_object(&once_value_6
);
2289 } else fra
.me
.REG
[4] = once_value_6
;
2290 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2292 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2293 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2294 /* compiling/compiling_icode.nit:296 */
2296 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2297 if (!once_value_7
) {
2298 fra
.me
.REG
[4] = BOX_NativeString("fra.me.line = ");
2299 REGB1
= TAG_Int(14);
2300 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2301 once_value_7
= fra
.me
.REG
[4];
2302 register_static_object(&once_value_7
);
2303 } else fra
.me
.REG
[4] = once_value_7
;
2304 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2306 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2308 if (!once_value_8
) {
2309 fra
.me
.REG
[4] = BOX_NativeString(";");
2311 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2312 once_value_8
= fra
.me
.REG
[4];
2313 register_static_object(&once_value_8
);
2314 } else fra
.me
.REG
[4] = once_value_8
;
2315 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2317 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2318 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2319 /* compiling/compiling_icode.nit:297 */
2321 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2322 if (!once_value_9
) {
2323 fra
.me
.REG
[4] = BOX_NativeString("fra.me.meth = LOCATE_");
2324 REGB0
= TAG_Int(21);
2325 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2326 once_value_9
= fra
.me
.REG
[4];
2327 register_static_object(&once_value_9
);
2328 } else fra
.me
.REG
[4] = once_value_9
;
2329 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2330 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2331 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2333 if (!once_value_10
) {
2334 fra
.me
.REG
[4] = BOX_NativeString(";");
2336 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2337 once_value_10
= fra
.me
.REG
[4];
2338 register_static_object(&once_value_10
);
2339 } else fra
.me
.REG
[4] = once_value_10
;
2340 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2342 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2343 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2344 /* compiling/compiling_icode.nit:298 */
2345 if (!once_value_11
) {
2346 fra
.me
.REG
[3] = BOX_NativeString("fra.me.has_broke = 0;");
2347 REGB0
= TAG_Int(21);
2348 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2349 once_value_11
= fra
.me
.REG
[3];
2350 register_static_object(&once_value_11
);
2351 } else fra
.me
.REG
[3] = once_value_11
;
2352 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2353 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2354 /* compiling/compiling_icode.nit:299 */
2356 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2357 if (!once_value_12
) {
2358 fra
.me
.REG
[4] = BOX_NativeString("fra.me.REG_size = ");
2359 REGB0
= TAG_Int(18);
2360 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2361 once_value_12
= fra
.me
.REG
[4];
2362 register_static_object(&once_value_12
);
2363 } else fra
.me
.REG
[4] = once_value_12
;
2364 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2365 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2366 REGB0
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2367 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2368 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2369 if (!once_value_13
) {
2370 fra
.me
.REG
[4] = BOX_NativeString(";");
2372 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2373 once_value_13
= fra
.me
.REG
[4];
2374 register_static_object(&once_value_13
);
2375 } else fra
.me
.REG
[4] = once_value_13
;
2376 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2378 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2379 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2380 /* compiling/compiling_icode.nit:300 */
2381 if (!once_value_14
) {
2382 fra
.me
.REG
[3] = BOX_NativeString("fra.me.nitni_local_ref_head = NULL;");
2383 REGB0
= TAG_Int(35);
2384 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2385 once_value_14
= fra
.me
.REG
[3];
2386 register_static_object(&once_value_14
);
2387 } else fra
.me
.REG
[3] = once_value_14
;
2388 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2389 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2390 /* compiling/compiling_icode.nit:303 */
2392 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2393 /* ../lib/standard/kernel.nit:355 */
2395 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2396 if (UNTAG_Bool(REGB2
)) {
2398 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2400 /* ../lib/standard/kernel.nit:235 */
2401 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2402 /* ../lib/standard/kernel.nit:355 */
2403 if (UNTAG_Bool(REGB2
)) {
2404 /* compiling/compiling_icode.nit:303 */
2406 /* compiling/compiling_icode.nit:304 */
2408 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2409 if (!once_value_15
) {
2410 fra
.me
.REG
[4] = BOX_NativeString("fra.me.REG[");
2411 REGB3
= TAG_Int(11);
2412 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
2413 once_value_15
= fra
.me
.REG
[4];
2414 register_static_object(&once_value_15
);
2415 } else fra
.me
.REG
[4] = once_value_15
;
2416 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2418 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2420 if (!once_value_16
) {
2421 fra
.me
.REG
[4] = BOX_NativeString("] = NIT_NULL;");
2422 REGB2
= TAG_Int(13);
2423 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
2424 once_value_16
= fra
.me
.REG
[4];
2425 register_static_object(&once_value_16
);
2426 } else fra
.me
.REG
[4] = once_value_16
;
2427 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2429 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2430 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2431 /* ../lib/standard/kernel.nit:357 */
2433 /* ../lib/standard/kernel.nit:238 */
2434 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2435 /* ../lib/standard/kernel.nit:357 */
2438 /* ../lib/standard/kernel.nit:355 */
2443 /* compiling/compiling_icode.nit:306 */
2445 REGB1
= CALL_analysis___allocate_iregister_slots___IRoutine___tag_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2446 /* ../lib/standard/kernel.nit:355 */
2448 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2449 if (UNTAG_Bool(REGB2
)) {
2451 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2453 /* ../lib/standard/kernel.nit:235 */
2454 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2455 /* ../lib/standard/kernel.nit:355 */
2456 if (UNTAG_Bool(REGB2
)) {
2457 /* compiling/compiling_icode.nit:306 */
2459 /* compiling/compiling_icode.nit:307 */
2461 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2462 if (!once_value_18
) {
2463 fra
.me
.REG
[4] = BOX_NativeString("val_t REGB");
2464 REGB3
= TAG_Int(10);
2465 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB3
);
2466 once_value_18
= fra
.me
.REG
[4];
2467 register_static_object(&once_value_18
);
2468 } else fra
.me
.REG
[4] = once_value_18
;
2469 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2471 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2473 if (!once_value_19
) {
2474 fra
.me
.REG
[4] = BOX_NativeString(";");
2476 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
2477 once_value_19
= fra
.me
.REG
[4];
2478 register_static_object(&once_value_19
);
2479 } else fra
.me
.REG
[4] = once_value_19
;
2480 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2482 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2483 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2484 /* ../lib/standard/kernel.nit:357 */
2486 /* ../lib/standard/kernel.nit:238 */
2487 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2488 /* ../lib/standard/kernel.nit:357 */
2491 /* ../lib/standard/kernel.nit:355 */
2496 /* compiling/compiling_icode.nit:309 */
2497 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2498 /* compiling/compiling_icode.nit:310 */
2499 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2500 if (UNTAG_Bool(REGB0
)) {
2502 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2503 if (UNTAG_Bool(REGB1
)) {
2504 REGB1
= TAG_Bool(0);
2507 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2511 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2512 if (UNTAG_Bool(REGB0
)) {
2513 /* compiling/compiling_icode.nit:311 */
2515 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2516 if (!once_value_21
) {
2517 fra
.me
.REG
[5] = BOX_NativeString("fun_t CREG[");
2518 REGB0
= TAG_Int(11);
2519 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2520 once_value_21
= fra
.me
.REG
[5];
2521 register_static_object(&once_value_21
);
2522 } else fra
.me
.REG
[5] = once_value_21
;
2523 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2525 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2526 if (UNTAG_Bool(REGB0
)) {
2527 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 311);
2529 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2530 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2532 if (!once_value_22
) {
2533 fra
.me
.REG
[5] = BOX_NativeString("];");
2535 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2536 once_value_22
= fra
.me
.REG
[5];
2537 register_static_object(&once_value_22
);
2538 } else fra
.me
.REG
[5] = once_value_22
;
2539 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2540 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2541 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2542 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2543 /* compiling/compiling_icode.nit:312 */
2544 if (!once_value_23
) {
2545 fra
.me
.REG
[4] = BOX_NativeString("fra.me.closure_ctx = closctx_param;");
2546 REGB0
= TAG_Int(35);
2547 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2548 once_value_23
= fra
.me
.REG
[4];
2549 register_static_object(&once_value_23
);
2550 } else fra
.me
.REG
[4] = once_value_23
;
2551 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2552 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2553 /* compiling/compiling_icode.nit:313 */
2554 if (!once_value_24
) {
2555 fra
.me
.REG
[4] = BOX_NativeString("fra.me.closure_funs = CREG;");
2556 REGB0
= TAG_Int(27);
2557 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2558 once_value_24
= fra
.me
.REG
[4];
2559 register_static_object(&once_value_24
);
2560 } else fra
.me
.REG
[4] = once_value_24
;
2561 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2562 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2564 /* compiling/compiling_icode.nit:315 */
2566 fra
.me
.REG
[4] = REGB0
;
2567 /* compiling/compiling_icode.nit:316 */
2568 fra
.me
.REG
[5] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2569 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[5])(fra
.me
.REG
[5], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_icode___IRoutine___compile_inside_to_c_25
));
2570 /* compiling/compiling_icode.nit:320 */
2571 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2572 if (UNTAG_Bool(REGB0
)) {
2574 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2575 if (UNTAG_Bool(REGB1
)) {
2576 REGB1
= TAG_Bool(0);
2579 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2583 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2584 if (UNTAG_Bool(REGB0
)) {
2585 /* compiling/compiling_icode.nit:321 */
2587 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2588 if (UNTAG_Bool(REGB1
)) {
2589 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 321);
2591 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2592 /* ../lib/standard/kernel.nit:355 */
2594 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2595 if (UNTAG_Bool(REGB2
)) {
2597 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2599 /* ../lib/standard/kernel.nit:235 */
2600 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2601 /* ../lib/standard/kernel.nit:355 */
2602 if (UNTAG_Bool(REGB2
)) {
2603 /* compiling/compiling_icode.nit:321 */
2605 /* compiling/compiling_icode.nit:322 */
2606 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2607 if (UNTAG_Bool(REGB3
)) {
2608 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 322);
2610 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
);
2611 /* compiling/compiling_icode.nit:323 */
2613 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
2614 if (!once_value_27
) {
2615 fra
.me
.REG
[6] = BOX_NativeString("CREG[");
2617 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2618 once_value_27
= fra
.me
.REG
[6];
2619 register_static_object(&once_value_27
);
2620 } else fra
.me
.REG
[6] = once_value_27
;
2621 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2623 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2624 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2625 if (!once_value_28
) {
2626 fra
.me
.REG
[6] = BOX_NativeString("] = ");
2628 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2629 once_value_28
= fra
.me
.REG
[6];
2630 register_static_object(&once_value_28
);
2631 } else fra
.me
.REG
[6] = once_value_28
;
2632 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2633 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2634 fra
.me
.REG
[6] = CALL_icode___icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2635 REGB3
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2636 /* ../lib/standard/kernel.nit:238 */
2637 REGB3
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
2638 /* ../lib/standard/collection/array.nit:278 */
2639 fra
.me
.REG
[6] = fra
.me
.REG
[2];
2640 /* ../lib/standard/collection/array.nit:280 */
2642 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2643 if (UNTAG_Bool(REGB5
)) {
2645 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2647 /* ../lib/standard/kernel.nit:236 */
2648 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
2649 /* ../lib/standard/collection/array.nit:280 */
2650 if (UNTAG_Bool(REGB4
)) {
2651 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
2652 if (UNTAG_Bool(REGB4
)) {
2654 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2656 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
2657 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2658 if (UNTAG_Bool(REGB5
)) {
2660 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2662 /* ../lib/standard/kernel.nit:235 */
2663 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
2665 /* ../lib/standard/collection/array.nit:280 */
2666 REGB5
= TAG_Bool(0);
2669 if (UNTAG_Bool(REGB4
)) {
2671 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2673 /* ../lib/standard/collection/array.nit:281 */
2674 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
2675 REGB4
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2676 if (UNTAG_Bool(REGB4
)) {
2677 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2679 /* ../lib/standard/collection/array.nit:718 */
2680 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
2681 /* ../lib/standard/collection/array.nit:281 */
2684 /* compiling/compiling_icode.nit:323 */
2685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2686 if (!once_value_30
) {
2687 fra
.me
.REG
[6] = BOX_NativeString(";");
2689 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
2690 once_value_30
= fra
.me
.REG
[6];
2691 register_static_object(&once_value_30
);
2692 } else fra
.me
.REG
[6] = once_value_30
;
2693 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2695 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2696 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
2697 /* compiling/compiling_icode.nit:324 */
2698 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2699 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2700 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[6]);
2701 /* compiling/compiling_icode.nit:325 */
2702 fra
.me
.REG
[6] = CALL_icode___icode_base___IClosureDecl___closure(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2703 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2704 /* compiling/compiling_icode.nit:326 */
2705 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
2706 /* compiling/compiling_icode.nit:327 */
2707 if (!once_value_31
) {
2708 fra
.me
.REG
[7] = BOX_NativeString("struct stack_frame_t *");
2709 REGB2
= TAG_Int(22);
2710 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2711 once_value_31
= fra
.me
.REG
[7];
2712 register_static_object(&once_value_31
);
2713 } else fra
.me
.REG
[7] = once_value_31
;
2714 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2715 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2716 /* compiling/compiling_icode.nit:328 */
2718 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2719 /* ../lib/standard/kernel.nit:355 */
2721 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2722 if (UNTAG_Bool(REGB4
)) {
2724 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2726 /* ../lib/standard/kernel.nit:235 */
2727 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
2728 /* ../lib/standard/kernel.nit:355 */
2729 if (UNTAG_Bool(REGB4
)) {
2730 /* compiling/compiling_icode.nit:329 */
2731 if (!once_value_32
) {
2732 fra
.me
.REG
[7] = BOX_NativeString("val_t");
2734 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB4
);
2735 once_value_32
= fra
.me
.REG
[7];
2736 register_static_object(&once_value_32
);
2737 } else fra
.me
.REG
[7] = once_value_32
;
2738 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2739 /* compiling/compiling_icode.nit:330 */
2740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2741 /* ../lib/standard/kernel.nit:357 */
2743 /* ../lib/standard/kernel.nit:238 */
2744 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
2745 /* ../lib/standard/kernel.nit:357 */
2748 /* ../lib/standard/kernel.nit:355 */
2753 /* compiling/compiling_icode.nit:332 */
2754 if (!once_value_34
) {
2755 fra
.me
.REG
[7] = BOX_NativeString("void");
2757 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2758 once_value_34
= fra
.me
.REG
[7];
2759 register_static_object(&once_value_34
);
2760 } else fra
.me
.REG
[7] = once_value_34
;
2761 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2762 /* compiling/compiling_icode.nit:333 */
2763 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2764 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2765 if (UNTAG_Bool(REGB2
)) {
2767 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2768 if (UNTAG_Bool(REGB3
)) {
2769 REGB3
= TAG_Bool(0);
2772 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
2776 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
2777 if (UNTAG_Bool(REGB2
)) {
2778 if (!once_value_35
) {
2779 fra
.me
.REG
[6] = BOX_NativeString("val_t");
2781 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
2782 once_value_35
= fra
.me
.REG
[6];
2783 register_static_object(&once_value_35
);
2784 } else fra
.me
.REG
[6] = once_value_35
;
2785 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2786 fra
.me
.REG
[7] = fra
.me
.REG
[6];
2788 /* compiling/compiling_icode.nit:334 */
2789 fra
.me
.REG
[6] = CALL_compiling___compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2791 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
2792 if (!once_value_36
) {
2793 fra
.me
.REG
[9] = BOX_NativeString("");
2795 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB2
);
2796 once_value_36
= fra
.me
.REG
[9];
2797 register_static_object(&once_value_36
);
2798 } else fra
.me
.REG
[9] = once_value_36
;
2799 fra
.me
.REG
[9] = fra
.me
.REG
[9];
2800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
2801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2802 if (!once_value_37
) {
2803 fra
.me
.REG
[7] = BOX_NativeString(" (*)(");
2805 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2806 once_value_37
= fra
.me
.REG
[7];
2807 register_static_object(&once_value_37
);
2808 } else fra
.me
.REG
[7] = once_value_37
;
2809 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2810 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2811 if (!once_value_38
) {
2812 fra
.me
.REG
[7] = BOX_NativeString(", ");
2814 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2815 once_value_38
= fra
.me
.REG
[7];
2816 register_static_object(&once_value_38
);
2817 } else fra
.me
.REG
[7] = once_value_38
;
2818 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2819 fra
.me
.REG
[7] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2821 if (!once_value_39
) {
2822 fra
.me
.REG
[7] = BOX_NativeString(")");
2824 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
2825 once_value_39
= fra
.me
.REG
[7];
2826 register_static_object(&once_value_39
);
2827 } else fra
.me
.REG
[7] = once_value_39
;
2828 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
2830 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2831 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4], fra
.me
.REG
[8]);
2832 /* ../lib/standard/kernel.nit:357 */
2834 /* ../lib/standard/kernel.nit:238 */
2835 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2836 /* ../lib/standard/kernel.nit:357 */
2839 /* ../lib/standard/kernel.nit:355 */
2845 /* compiling/compiling_icode.nit:337 */
2846 if (!once_value_41
) {
2847 fra
.me
.REG
[2] = BOX_NativeString("val_t tmp;");
2848 REGB0
= TAG_Int(10);
2849 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2850 once_value_41
= fra
.me
.REG
[2];
2851 register_static_object(&once_value_41
);
2852 } else fra
.me
.REG
[2] = once_value_41
;
2853 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2854 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2855 /* compiling/compiling_icode.nit:340 */
2856 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2857 /* compiling/compiling_icode.nit:341 */
2858 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2859 CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2860 /* compiling/compiling_icode.nit:344 */
2861 fra
.me
.REG
[3] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2862 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2863 /* compiling/compiling_icode.nit:346 */
2864 if (!once_value_42
) {
2865 fra
.me
.REG
[3] = BOX_NativeString("stack_frame_head = fra.me.prev;");
2866 REGB0
= TAG_Int(31);
2867 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2868 once_value_42
= fra
.me
.REG
[3];
2869 register_static_object(&once_value_42
);
2870 } else fra
.me
.REG
[3] = once_value_42
;
2871 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2872 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2873 /* compiling/compiling_icode.nit:347 */
2874 CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2875 /* compiling/compiling_icode.nit:348 */
2876 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2877 /* compiling/compiling_icode.nit:349 */
2878 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2879 if (UNTAG_Bool(REGB0
)) {
2881 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2882 if (UNTAG_Bool(REGB1
)) {
2883 REGB1
= TAG_Bool(0);
2886 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2890 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2891 if (UNTAG_Bool(REGB0
)) {
2892 /* compiling/compiling_icode.nit:350 */
2893 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2896 /* compiling/compiling_icode.nit:352 */
2897 fra
.me
.REG
[0] = NIT_NULL
;
2901 stack_frame_head
= fra
.me
.prev
;
2902 return fra
.me
.REG
[0];
2904 void OC_compiling___compiling_icode___IRoutine___compile_inside_to_c_25(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2905 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2911 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2912 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
2914 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_inside_to_c
;
2915 fra
.me
.has_broke
= 0;
2916 fra
.me
.REG_size
= 2;
2917 fra
.me
.nitni_local_ref_head
= NULL
;
2918 fra
.me
.REG
[0] = NIT_NULL
;
2919 fra
.me
.REG
[1] = NIT_NULL
;
2920 fra
.me
.closure_ctx
= closctx_param
;
2921 fra
.me
.closure_funs
= CREG
;
2923 CREG
[0] = clos_fun0
;
2924 /* compiling/compiling_icode.nit:317 */
2925 fra
.me
.REG
[1] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2926 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2927 if (UNTAG_Bool(REGB0
)) {
2929 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2930 if (UNTAG_Bool(REGB1
)) {
2931 REGB1
= TAG_Bool(0);
2934 /* ../lib/standard/kernel.nit:230 */
2935 REGB1
= TAG_Bool((fra
.me
.REG
[1])==(NIT_NULL
));
2936 /* compiling/compiling_icode.nit:317 */
2940 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2941 if (UNTAG_Bool(REGB0
)) {
2942 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
2943 /* ../lib/standard/collection/array.nit:278 */
2944 fra
.me
.REG
[1] = closctx
->REG
[2];
2945 REGB0
= closctx
->REG
[4];
2946 /* ../lib/standard/collection/array.nit:280 */
2948 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2949 if (UNTAG_Bool(REGB2
)) {
2951 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2953 /* ../lib/standard/kernel.nit:236 */
2954 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2955 /* ../lib/standard/collection/array.nit:280 */
2956 if (UNTAG_Bool(REGB1
)) {
2957 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2958 if (UNTAG_Bool(REGB1
)) {
2960 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
2962 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2963 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2964 if (UNTAG_Bool(REGB2
)) {
2966 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2968 /* ../lib/standard/kernel.nit:235 */
2969 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2971 /* ../lib/standard/collection/array.nit:280 */
2972 REGB2
= TAG_Bool(0);
2975 if (UNTAG_Bool(REGB1
)) {
2977 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
2979 /* ../lib/standard/collection/array.nit:281 */
2980 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2981 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2982 if (UNTAG_Bool(REGB1
)) {
2983 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
2985 /* ../lib/standard/collection/array.nit:718 */
2986 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
2987 /* ../lib/standard/collection/array.nit:281 */
2990 /* compiling/compiling_icode.nit:317 */
2991 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_assignment(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[1]);
2993 /* compiling/compiling_icode.nit:318 */
2995 /* ../lib/standard/kernel.nit:238 */
2996 REGB0
= TAG_Int(UNTAG_Int(closctx
->REG
[4])+UNTAG_Int(REGB0
));
2997 /* compiling/compiling_icode.nit:318 */
2998 closctx
->REG
[4] = REGB0
;
2999 stack_frame_head
= fra
.me
.prev
;
3002 static const char LOCATE_compiling___compiling_icode___IRoutine___compile_to_c
[] = "compiling_icode::IRoutine::compile_to_c";
3003 val_t
compiling___compiling_icode___IRoutine___compile_to_c(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
3004 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3006 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3007 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3009 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IRoutine___compile_to_c
;
3010 fra
.me
.has_broke
= 0;
3011 fra
.me
.REG_size
= 4;
3012 fra
.me
.nitni_local_ref_head
= NULL
;
3013 fra
.me
.REG
[0] = NIT_NULL
;
3014 fra
.me
.REG
[1] = NIT_NULL
;
3015 fra
.me
.REG
[2] = NIT_NULL
;
3016 fra
.me
.REG
[3] = NIT_NULL
;
3021 /* compiling/compiling_icode.nit:360 */
3022 fra
.me
.REG
[2] = NEW_I2CCompilerVisitor_compiling___compiling_icode___I2CCompilerVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
3023 /* compiling/compiling_icode.nit:361 */
3024 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___IRoutine___compile_inside_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[3]);
3027 stack_frame_head
= fra
.me
.prev
;
3028 return fra
.me
.REG
[3];
3030 static const char LOCATE_compiling___compiling_icode___ICode___compile_to_c
[] = "compiling_icode::ICode::compile_to_c";
3031 void compiling___compiling_icode___ICode___compile_to_c(val_t p0
, val_t p1
){
3032 struct {struct stack_frame_t me
;} fra
;
3034 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3035 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3037 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___compile_to_c
;
3038 fra
.me
.has_broke
= 0;
3039 fra
.me
.REG_size
= 0;
3040 fra
.me
.nitni_local_ref_head
= NULL
;
3041 /* compiling/compiling_icode.nit:366 */
3042 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_icode
, 366);
3043 stack_frame_head
= fra
.me
.prev
;
3046 static const char LOCATE_compiling___compiling_icode___ICode___need_result
[] = "compiling_icode::ICode::need_result";
3047 val_t
compiling___compiling_icode___ICode___need_result(val_t p0
){
3048 struct {struct stack_frame_t me
;} fra
;
3052 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3053 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3055 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___need_result
;
3056 fra
.me
.has_broke
= 0;
3057 fra
.me
.REG_size
= 1;
3058 fra
.me
.nitni_local_ref_head
= NULL
;
3059 fra
.me
.REG
[0] = NIT_NULL
;
3061 /* compiling/compiling_icode.nit:372 */
3062 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3063 /* compiling/compiling_icode.nit:373 */
3064 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3065 if (UNTAG_Bool(REGB0
)) {
3067 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3068 if (UNTAG_Bool(REGB1
)) {
3069 REGB1
= TAG_Bool(0);
3072 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3076 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3077 if (UNTAG_Bool(REGB0
)) {
3078 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3079 if (UNTAG_Bool(REGB0
)) {
3080 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 373);
3082 fra
.me
.REG
[0] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3083 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3084 if (UNTAG_Bool(REGB0
)) {
3086 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3087 if (UNTAG_Bool(REGB1
)) {
3088 REGB1
= TAG_Bool(0);
3091 /* ../lib/standard/kernel.nit:230 */
3092 REGB1
= TAG_Bool((fra
.me
.REG
[0])==(NIT_NULL
));
3093 /* compiling/compiling_icode.nit:373 */
3097 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3099 REGB1
= TAG_Bool(0);
3104 stack_frame_head
= fra
.me
.prev
;
3107 static const char LOCATE_compiling___compiling_icode___ICode___store_result
[] = "compiling_icode::ICode::store_result";
3108 void compiling___compiling_icode___ICode___store_result(val_t p0
, val_t p1
, val_t p2
){
3109 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3113 static val_t once_value_1
; /* Once value */
3114 static val_t once_value_2
; /* Once value */
3115 static val_t once_value_3
; /* Once value */
3116 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3117 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3119 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___store_result
;
3120 fra
.me
.has_broke
= 0;
3121 fra
.me
.REG_size
= 5;
3122 fra
.me
.nitni_local_ref_head
= NULL
;
3123 fra
.me
.REG
[0] = NIT_NULL
;
3124 fra
.me
.REG
[1] = NIT_NULL
;
3125 fra
.me
.REG
[2] = NIT_NULL
;
3126 fra
.me
.REG
[3] = NIT_NULL
;
3127 fra
.me
.REG
[4] = NIT_NULL
;
3131 /* compiling/compiling_icode.nit:379 */
3132 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3133 /* compiling/compiling_icode.nit:380 */
3134 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3135 if (UNTAG_Bool(REGB0
)) {
3137 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3138 if (UNTAG_Bool(REGB1
)) {
3139 REGB1
= TAG_Bool(0);
3142 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3146 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3147 if (UNTAG_Bool(REGB0
)) {
3148 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3149 if (UNTAG_Bool(REGB0
)) {
3150 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 380);
3152 fra
.me
.REG
[4] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3153 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3154 if (UNTAG_Bool(REGB0
)) {
3156 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3157 if (UNTAG_Bool(REGB1
)) {
3158 REGB1
= TAG_Bool(0);
3161 /* ../lib/standard/kernel.nit:230 */
3162 REGB1
= TAG_Bool((fra
.me
.REG
[4])==(NIT_NULL
));
3163 /* compiling/compiling_icode.nit:380 */
3167 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3169 REGB1
= TAG_Bool(0);
3172 if (UNTAG_Bool(REGB0
)) {
3173 /* compiling/compiling_icode.nit:381 */
3174 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3175 if (UNTAG_Bool(REGB0
)) {
3177 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3178 if (UNTAG_Bool(REGB1
)) {
3179 REGB1
= TAG_Bool(0);
3182 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3186 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3187 if (UNTAG_Bool(REGB0
)) {
3189 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 381);
3191 /* compiling/compiling_icode.nit:382 */
3192 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3193 /* compiling/compiling_icode.nit:383 */
3194 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3195 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3196 /* compiling/compiling_icode.nit:384 */
3197 if (!once_value_1
) {
3198 fra
.me
.REG
[3] = BOX_NativeString(" = ");
3200 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3201 once_value_1
= fra
.me
.REG
[3];
3202 register_static_object(&once_value_1
);
3203 } else fra
.me
.REG
[3] = once_value_1
;
3204 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3205 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3206 /* compiling/compiling_icode.nit:385 */
3207 CALL_compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3208 /* compiling/compiling_icode.nit:386 */
3209 if (!once_value_2
) {
3210 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3212 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3213 once_value_2
= fra
.me
.REG
[3];
3214 register_static_object(&once_value_2
);
3215 } else fra
.me
.REG
[3] = once_value_2
;
3216 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3217 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3219 /* compiling/compiling_icode.nit:387 */
3220 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3221 if (UNTAG_Bool(REGB0
)) {
3223 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3224 if (UNTAG_Bool(REGB1
)) {
3225 REGB1
= TAG_Bool(0);
3228 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3232 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3233 if (UNTAG_Bool(REGB0
)) {
3234 REGB0
= CALL_icode___icode_base___ICode___is_pure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3235 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3237 REGB1
= TAG_Bool(0);
3240 if (UNTAG_Bool(REGB0
)) {
3241 /* compiling/compiling_icode.nit:390 */
3242 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3243 /* compiling/compiling_icode.nit:391 */
3244 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3245 /* compiling/compiling_icode.nit:392 */
3246 if (!once_value_3
) {
3247 fra
.me
.REG
[2] = BOX_NativeString(";\n");
3249 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3250 once_value_3
= fra
.me
.REG
[2];
3251 register_static_object(&once_value_3
);
3252 } else fra
.me
.REG
[2] = once_value_3
;
3253 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3254 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3257 stack_frame_head
= fra
.me
.prev
;
3260 static const char LOCATE_compiling___compiling_icode___ICode___new_result
[] = "compiling_icode::ICode::new_result";
3261 val_t
compiling___compiling_icode___ICode___new_result(val_t p0
, val_t p1
){
3262 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3266 static val_t once_value_1
; /* Once value */
3267 static val_t once_value_2
; /* Once value */
3268 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3269 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3271 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICode___new_result
;
3272 fra
.me
.has_broke
= 0;
3273 fra
.me
.REG_size
= 4;
3274 fra
.me
.nitni_local_ref_head
= NULL
;
3275 fra
.me
.REG
[0] = NIT_NULL
;
3276 fra
.me
.REG
[1] = NIT_NULL
;
3277 fra
.me
.REG
[2] = NIT_NULL
;
3278 fra
.me
.REG
[3] = NIT_NULL
;
3281 /* compiling/compiling_icode.nit:400 */
3282 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3283 if (UNTAG_Bool(REGB0
)) {
3284 REGB0
= TAG_Bool(1);
3286 REGB1
= CALL_icode___icode_base___ICode___is_pure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3287 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3290 if (UNTAG_Bool(REGB0
)) {
3292 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 400);
3294 /* compiling/compiling_icode.nit:401 */
3295 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3296 /* compiling/compiling_icode.nit:402 */
3297 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3298 /* compiling/compiling_icode.nit:403 */
3299 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3300 if (UNTAG_Bool(REGB0
)) {
3302 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3303 if (UNTAG_Bool(REGB1
)) {
3304 REGB1
= TAG_Bool(0);
3307 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3311 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3312 if (UNTAG_Bool(REGB0
)) {
3313 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3314 if (UNTAG_Bool(REGB0
)) {
3315 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 403);
3317 fra
.me
.REG
[3] = CALL_analysis___allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3318 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3319 if (UNTAG_Bool(REGB0
)) {
3321 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3322 if (UNTAG_Bool(REGB1
)) {
3323 REGB1
= TAG_Bool(0);
3326 /* ../lib/standard/kernel.nit:230 */
3327 REGB1
= TAG_Bool((fra
.me
.REG
[3])==(NIT_NULL
));
3328 /* compiling/compiling_icode.nit:403 */
3332 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3334 REGB1
= TAG_Bool(0);
3337 if (UNTAG_Bool(REGB0
)) {
3338 /* compiling/compiling_icode.nit:404 */
3339 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3340 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3341 /* compiling/compiling_icode.nit:405 */
3342 if (!once_value_1
) {
3343 fra
.me
.REG
[0] = BOX_NativeString(" = ");
3345 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3346 once_value_1
= fra
.me
.REG
[0];
3347 register_static_object(&once_value_1
);
3348 } else fra
.me
.REG
[0] = once_value_1
;
3349 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3350 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3352 /* compiling/compiling_icode.nit:407 */
3353 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3354 /* compiling/compiling_icode.nit:408 */
3355 if (!once_value_2
) {
3356 fra
.me
.REG
[1] = BOX_NativeString(";\n");
3358 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
3359 once_value_2
= fra
.me
.REG
[1];
3360 register_static_object(&once_value_2
);
3361 } else fra
.me
.REG
[1] = once_value_2
;
3362 fra
.me
.REG
[1] = fra
.me
.REG
[1];
3363 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3364 /* compiling/compiling_icode.nit:409 */
3367 stack_frame_head
= fra
.me
.prev
;
3368 return fra
.me
.REG
[0];
3370 static const char LOCATE_compiling___compiling_icode___ISeq___compile_to_c
[] = "compiling_icode::ISeq::(compiling_icode::ICode::compile_to_c)";
3371 void compiling___compiling_icode___ISeq___compile_to_c(val_t p0
, val_t p1
){
3372 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3376 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3377 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3379 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISeq___compile_to_c
;
3380 fra
.me
.has_broke
= 0;
3381 fra
.me
.REG_size
= 4;
3382 fra
.me
.nitni_local_ref_head
= NULL
;
3383 fra
.me
.REG
[0] = NIT_NULL
;
3384 fra
.me
.REG
[1] = NIT_NULL
;
3385 fra
.me
.REG
[2] = NIT_NULL
;
3386 fra
.me
.REG
[3] = NIT_NULL
;
3389 /* compiling/compiling_icode.nit:416 */
3390 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3391 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3392 /* compiling/compiling_icode.nit:417 */
3393 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3395 /* compiling/compiling_icode.nit:418 */
3396 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3397 /* compiling/compiling_icode.nit:419 */
3398 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3399 if (UNTAG_Bool(REGB0
)) {
3401 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3402 if (UNTAG_Bool(REGB1
)) {
3403 REGB1
= TAG_Bool(0);
3406 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3410 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3411 if (UNTAG_Bool(REGB0
)) {
3412 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3413 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3415 /* compiling/compiling_icode.nit:420 */
3416 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3417 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_icode___ISeq___compile_to_c_1
));
3418 /* compiling/compiling_icode.nit:423 */
3419 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3420 stack_frame_head
= fra
.me
.prev
;
3423 void OC_compiling___compiling_icode___ISeq___compile_to_c_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
3424 struct {struct stack_frame_t me
;} fra
;
3427 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3428 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3430 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISeq___compile_to_c
;
3431 fra
.me
.has_broke
= 0;
3432 fra
.me
.REG_size
= 1;
3433 fra
.me
.nitni_local_ref_head
= NULL
;
3434 fra
.me
.REG
[0] = NIT_NULL
;
3435 fra
.me
.closure_ctx
= closctx_param
;
3436 fra
.me
.closure_funs
= CREG
;
3438 CREG
[0] = clos_fun0
;
3439 /* compiling/compiling_icode.nit:421 */
3440 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3441 stack_frame_head
= fra
.me
.prev
;
3444 static const char LOCATE_compiling___compiling_icode___IIf___compile_to_c
[] = "compiling_icode::IIf::(compiling_icode::ICode::compile_to_c)";
3445 void compiling___compiling_icode___IIf___compile_to_c(val_t p0
, val_t p1
){
3446 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3449 static val_t once_value_1
; /* Once value */
3450 static val_t once_value_2
; /* Once value */
3451 static val_t once_value_3
; /* Once value */
3452 static val_t once_value_4
; /* Once value */
3453 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3454 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3456 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIf___compile_to_c
;
3457 fra
.me
.has_broke
= 0;
3458 fra
.me
.REG_size
= 4;
3459 fra
.me
.nitni_local_ref_head
= NULL
;
3460 fra
.me
.REG
[0] = NIT_NULL
;
3461 fra
.me
.REG
[1] = NIT_NULL
;
3462 fra
.me
.REG
[2] = NIT_NULL
;
3463 fra
.me
.REG
[3] = NIT_NULL
;
3466 /* compiling/compiling_icode.nit:430 */
3467 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3468 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3469 /* compiling/compiling_icode.nit:431 */
3470 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3471 /* compiling/compiling_icode.nit:432 */
3472 if (!once_value_1
) {
3473 fra
.me
.REG
[3] = BOX_NativeString("if (UNTAG_Bool(");
3474 REGB0
= TAG_Int(15);
3475 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3476 once_value_1
= fra
.me
.REG
[3];
3477 register_static_object(&once_value_1
);
3478 } else fra
.me
.REG
[3] = once_value_1
;
3479 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3480 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3481 /* compiling/compiling_icode.nit:433 */
3482 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3483 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3484 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3485 /* compiling/compiling_icode.nit:434 */
3486 if (!once_value_2
) {
3487 fra
.me
.REG
[3] = BOX_NativeString(")) {\n");
3489 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3490 once_value_2
= fra
.me
.REG
[3];
3491 register_static_object(&once_value_2
);
3492 } else fra
.me
.REG
[3] = once_value_2
;
3493 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3494 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3495 /* compiling/compiling_icode.nit:435 */
3496 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3497 fra
.me
.REG
[3] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3498 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3499 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3500 if (UNTAG_Bool(REGB0
)) {
3501 /* compiling/compiling_icode.nit:436 */
3502 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3503 /* compiling/compiling_icode.nit:437 */
3504 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3505 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3506 /* compiling/compiling_icode.nit:438 */
3507 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3509 /* compiling/compiling_icode.nit:440 */
3510 fra
.me
.REG
[3] = CALL_icode___icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3511 fra
.me
.REG
[3] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3512 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3513 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3514 if (UNTAG_Bool(REGB0
)) {
3515 /* compiling/compiling_icode.nit:441 */
3516 if (!once_value_3
) {
3517 fra
.me
.REG
[3] = BOX_NativeString("} else {");
3519 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3520 once_value_3
= fra
.me
.REG
[3];
3521 register_static_object(&once_value_3
);
3522 } else fra
.me
.REG
[3] = once_value_3
;
3523 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3524 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3525 /* compiling/compiling_icode.nit:442 */
3526 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3527 /* compiling/compiling_icode.nit:443 */
3528 fra
.me
.REG
[0] = CALL_icode___icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3529 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3530 /* compiling/compiling_icode.nit:444 */
3531 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3533 /* compiling/compiling_icode.nit:446 */
3534 if (!once_value_4
) {
3535 fra
.me
.REG
[0] = BOX_NativeString("}");
3537 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3538 once_value_4
= fra
.me
.REG
[0];
3539 register_static_object(&once_value_4
);
3540 } else fra
.me
.REG
[0] = once_value_4
;
3541 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3542 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3543 stack_frame_head
= fra
.me
.prev
;
3546 static const char LOCATE_compiling___compiling_icode___ILoop___compile_to_c
[] = "compiling_icode::ILoop::(compiling_icode::ICode::compile_to_c)";
3547 void compiling___compiling_icode___ILoop___compile_to_c(val_t p0
, val_t p1
){
3548 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3552 static val_t once_value_1
; /* Once value */
3553 static val_t once_value_3
; /* Once value */
3554 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3555 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3557 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ILoop___compile_to_c
;
3558 fra
.me
.has_broke
= 0;
3559 fra
.me
.REG_size
= 4;
3560 fra
.me
.nitni_local_ref_head
= NULL
;
3561 fra
.me
.REG
[0] = NIT_NULL
;
3562 fra
.me
.REG
[1] = NIT_NULL
;
3563 fra
.me
.REG
[2] = NIT_NULL
;
3564 fra
.me
.REG
[3] = NIT_NULL
;
3567 /* compiling/compiling_icode.nit:453 */
3568 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3569 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3570 /* compiling/compiling_icode.nit:454 */
3571 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3573 /* compiling/compiling_icode.nit:455 */
3574 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3575 /* compiling/compiling_icode.nit:456 */
3576 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3577 if (UNTAG_Bool(REGB0
)) {
3579 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3580 if (UNTAG_Bool(REGB1
)) {
3581 REGB1
= TAG_Bool(0);
3584 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3588 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3589 if (UNTAG_Bool(REGB0
)) {
3590 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3591 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3593 /* compiling/compiling_icode.nit:457 */
3594 if (!once_value_1
) {
3595 fra
.me
.REG
[2] = BOX_NativeString("while(1) {");
3596 REGB0
= TAG_Int(10);
3597 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3598 once_value_1
= fra
.me
.REG
[2];
3599 register_static_object(&once_value_1
);
3600 } else fra
.me
.REG
[2] = once_value_1
;
3601 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3602 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3603 /* compiling/compiling_icode.nit:458 */
3604 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3605 /* compiling/compiling_icode.nit:459 */
3606 fra
.me
.REG
[2] = CALL_icode___icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3607 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_icode___ILoop___compile_to_c_2
));
3608 /* compiling/compiling_icode.nit:462 */
3609 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3610 /* compiling/compiling_icode.nit:463 */
3611 if (!once_value_3
) {
3612 fra
.me
.REG
[2] = BOX_NativeString("}");
3614 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3615 once_value_3
= fra
.me
.REG
[2];
3616 register_static_object(&once_value_3
);
3617 } else fra
.me
.REG
[2] = once_value_3
;
3618 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3619 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3620 /* compiling/compiling_icode.nit:464 */
3621 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3622 stack_frame_head
= fra
.me
.prev
;
3625 void OC_compiling___compiling_icode___ILoop___compile_to_c_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
3626 struct {struct stack_frame_t me
;} fra
;
3629 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3630 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3632 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ILoop___compile_to_c
;
3633 fra
.me
.has_broke
= 0;
3634 fra
.me
.REG_size
= 1;
3635 fra
.me
.nitni_local_ref_head
= NULL
;
3636 fra
.me
.REG
[0] = NIT_NULL
;
3637 fra
.me
.closure_ctx
= closctx_param
;
3638 fra
.me
.closure_funs
= CREG
;
3640 CREG
[0] = clos_fun0
;
3641 /* compiling/compiling_icode.nit:460 */
3642 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
3643 stack_frame_head
= fra
.me
.prev
;
3646 static const char LOCATE_compiling___compiling_icode___IEscape___compile_to_c
[] = "compiling_icode::IEscape::(compiling_icode::ICode::compile_to_c)";
3647 void compiling___compiling_icode___IEscape___compile_to_c(val_t p0
, val_t p1
){
3648 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3650 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3651 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3653 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IEscape___compile_to_c
;
3654 fra
.me
.has_broke
= 0;
3655 fra
.me
.REG_size
= 3;
3656 fra
.me
.nitni_local_ref_head
= NULL
;
3657 fra
.me
.REG
[0] = NIT_NULL
;
3658 fra
.me
.REG
[1] = NIT_NULL
;
3659 fra
.me
.REG
[2] = NIT_NULL
;
3662 /* compiling/compiling_icode.nit:471 */
3663 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3664 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3665 /* compiling/compiling_icode.nit:472 */
3666 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___marks_to_seq(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3667 fra
.me
.REG
[0] = CALL_icode___icode_base___IEscape___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3668 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3669 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3670 stack_frame_head
= fra
.me
.prev
;
3673 static const char LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c
[] = "compiling_icode::IAbsCall::(compiling_icode::ICode::compile_to_c)";
3674 void compiling___compiling_icode___IAbsCall___compile_to_c(val_t p0
, val_t p1
){
3675 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
3679 static val_t once_value_1
; /* Once value */
3680 static val_t once_value_2
; /* Once value */
3681 static val_t once_value_5
; /* Once value */
3682 static val_t once_value_6
; /* Once value */
3683 static val_t once_value_7
; /* Once value */
3684 static val_t once_value_8
; /* Once value */
3685 static val_t once_value_9
; /* Once value */
3686 static val_t once_value_10
; /* Once value */
3687 static val_t once_value_11
; /* Once value */
3688 static val_t once_value_12
; /* Once value */
3689 static val_t once_value_13
; /* Once value */
3690 static val_t once_value_14
; /* Once value */
3691 static val_t once_value_15
; /* Once value */
3692 static val_t once_value_16
; /* Once value */
3693 static val_t once_value_18
; /* Once value */
3694 static val_t once_value_19
; /* Once value */
3695 static val_t once_value_20
; /* Once value */
3696 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3697 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
3699 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c
;
3700 fra
.me
.has_broke
= 0;
3701 fra
.me
.REG_size
= 10;
3702 fra
.me
.nitni_local_ref_head
= NULL
;
3703 fra
.me
.REG
[0] = NIT_NULL
;
3704 fra
.me
.REG
[1] = NIT_NULL
;
3705 fra
.me
.REG
[2] = NIT_NULL
;
3706 fra
.me
.REG
[3] = NIT_NULL
;
3707 fra
.me
.REG
[4] = NIT_NULL
;
3708 fra
.me
.REG
[5] = NIT_NULL
;
3709 fra
.me
.REG
[6] = NIT_NULL
;
3710 fra
.me
.REG
[7] = NIT_NULL
;
3711 fra
.me
.REG
[8] = NIT_NULL
;
3712 fra
.me
.REG
[9] = NIT_NULL
;
3715 /* compiling/compiling_icode.nit:477 */
3716 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3717 /* compiling/compiling_icode.nit:479 */
3718 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3719 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3720 /* compiling/compiling_icode.nit:480 */
3721 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3722 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3723 /* compiling/compiling_icode.nit:483 */
3724 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3725 /* compiling/compiling_icode.nit:484 */
3726 fra
.me
.REG
[5] = CALL_icode___icode_base___ICodeN___closure_defs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3727 /* compiling/compiling_icode.nit:485 */
3728 fra
.me
.REG
[6] = NIT_NULL
;
3729 /* compiling/compiling_icode.nit:486 */
3730 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3731 if (UNTAG_Bool(REGB0
)) {
3733 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3734 if (UNTAG_Bool(REGB1
)) {
3735 REGB1
= TAG_Bool(0);
3738 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
3742 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3743 if (UNTAG_Bool(REGB0
)) {
3744 /* compiling/compiling_icode.nit:488 */
3745 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3746 if (UNTAG_Bool(REGB0
)) {
3747 /* compiling/compiling_icode.nit:489 */
3748 if (!once_value_1
) {
3749 fra
.me
.REG
[7] = BOX_NativeString("closctx");
3751 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3752 once_value_1
= fra
.me
.REG
[7];
3753 register_static_object(&once_value_1
);
3754 } else fra
.me
.REG
[7] = once_value_1
;
3755 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3756 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3758 /* compiling/compiling_icode.nit:491 */
3759 if (!once_value_2
) {
3760 fra
.me
.REG
[7] = BOX_NativeString("(&(fra.me))");
3761 REGB0
= TAG_Int(11);
3762 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3763 once_value_2
= fra
.me
.REG
[7];
3764 register_static_object(&once_value_2
);
3765 } else fra
.me
.REG
[7] = once_value_2
;
3766 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3767 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3769 /* compiling/compiling_icode.nit:495 */
3770 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3771 /* compiling/compiling_icode.nit:498 */
3772 fra
.me
.REG
[7] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
3773 CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
3774 /* compiling/compiling_icode.nit:501 */
3775 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3776 if (UNTAG_Bool(REGB0
)) {
3777 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 501);
3779 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[5])(fra
.me
.REG
[5], (&(fra
.me
)), ((fun_t
)OC_compiling___compiling_icode___IAbsCall___compile_to_c_3
));
3781 /* compiling/compiling_icode.nit:512 */
3782 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___IAbsCall___compile_call_to_c(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[3]);
3783 /* compiling/compiling_icode.nit:513 */
3784 fra
.me
.REG
[5] = fra
.me
.REG
[3];
3785 /* compiling/compiling_icode.nit:516 */
3786 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3787 if (UNTAG_Bool(REGB0
)) {
3789 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3790 if (UNTAG_Bool(REGB1
)) {
3791 REGB1
= TAG_Bool(0);
3794 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
3798 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3799 if (UNTAG_Bool(REGB0
)) {
3800 /* compiling/compiling_icode.nit:517 */
3801 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3802 /* compiling/compiling_icode.nit:518 */
3803 CALL_compiling___compiling_icode___I2CCompilerVisitor___escaped_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3804 /* compiling/compiling_icode.nit:520 */
3805 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3806 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3807 if (UNTAG_Bool(REGB0
)) {
3808 /* compiling/compiling_icode.nit:522 */
3809 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3810 /* compiling/compiling_icode.nit:523 */
3811 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3812 if (UNTAG_Bool(REGB0
)) {
3813 /* compiling/compiling_icode.nit:524 */
3814 if (!once_value_5
) {
3815 fra
.me
.REG
[8] = BOX_NativeString("tmp");
3817 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3818 once_value_5
= fra
.me
.REG
[8];
3819 register_static_object(&once_value_5
);
3820 } else fra
.me
.REG
[8] = once_value_5
;
3821 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3822 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3823 /* compiling/compiling_icode.nit:525 */
3824 if (!once_value_6
) {
3825 fra
.me
.REG
[8] = BOX_NativeString(" = ");
3827 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3828 once_value_6
= fra
.me
.REG
[8];
3829 register_static_object(&once_value_6
);
3830 } else fra
.me
.REG
[8] = once_value_6
;
3831 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3832 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3833 /* compiling/compiling_icode.nit:526 */
3834 CALL_compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3835 /* compiling/compiling_icode.nit:527 */
3836 if (!once_value_7
) {
3837 fra
.me
.REG
[8] = BOX_NativeString(";\n");
3839 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3840 once_value_7
= fra
.me
.REG
[8];
3841 register_static_object(&once_value_7
);
3842 } else fra
.me
.REG
[8] = once_value_7
;
3843 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3844 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
3845 /* compiling/compiling_icode.nit:528 */
3846 fra
.me
.REG
[8] = NEW_Writer_compiling_writer___Writer___init();
3847 fra
.me
.REG
[5] = fra
.me
.REG
[8];
3848 /* compiling/compiling_icode.nit:529 */
3849 if (!once_value_8
) {
3850 fra
.me
.REG
[8] = BOX_NativeString("tmp");
3852 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3853 once_value_8
= fra
.me
.REG
[8];
3854 register_static_object(&once_value_8
);
3855 } else fra
.me
.REG
[8] = once_value_8
;
3856 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3857 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3858 if (UNTAG_Bool(REGB0
)) {
3859 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 529);
3861 CALL_compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
3863 /* compiling/compiling_icode.nit:531 */
3864 fra
.me
.REG
[5] = NIT_NULL
;
3865 /* compiling/compiling_icode.nit:532 */
3866 CALL_compiling_writer___Writer___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3867 /* compiling/compiling_icode.nit:533 */
3868 if (!once_value_9
) {
3869 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3871 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3872 once_value_9
= fra
.me
.REG
[3];
3873 register_static_object(&once_value_9
);
3874 } else fra
.me
.REG
[3] = once_value_9
;
3875 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3876 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3878 /* compiling/compiling_icode.nit:536 */
3879 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3880 if (!once_value_10
) {
3881 fra
.me
.REG
[4] = BOX_NativeString("switch (");
3883 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3884 once_value_10
= fra
.me
.REG
[4];
3885 register_static_object(&once_value_10
);
3886 } else fra
.me
.REG
[4] = once_value_10
;
3887 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3888 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3889 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3890 if (!once_value_11
) {
3891 fra
.me
.REG
[3] = BOX_NativeString("->has_broke) {\n");
3892 REGB0
= TAG_Int(15);
3893 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3894 once_value_11
= fra
.me
.REG
[3];
3895 register_static_object(&once_value_11
);
3896 } else fra
.me
.REG
[3] = once_value_11
;
3897 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3898 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3899 /* compiling/compiling_icode.nit:537 */
3900 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3901 /* compiling/compiling_icode.nit:539 */
3902 if (!once_value_12
) {
3903 fra
.me
.REG
[3] = BOX_NativeString("case 0: break;");
3904 REGB0
= TAG_Int(14);
3905 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3906 once_value_12
= fra
.me
.REG
[3];
3907 register_static_object(&once_value_12
);
3908 } else fra
.me
.REG
[3] = once_value_12
;
3909 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3910 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
3911 /* compiling/compiling_icode.nit:540 */
3912 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3913 /* compiling/compiling_icode.nit:541 */
3914 fra
.me
.REG
[7] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3915 /* compiling/compiling_icode.nit:542 */
3916 REGB0
= TAG_Bool(0);
3917 /* compiling/compiling_icode.nit:543 */
3919 REGB1
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3920 if (UNTAG_Bool(REGB1
)) {
3921 /* compiling/compiling_icode.nit:544 */
3922 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3923 /* compiling/compiling_icode.nit:545 */
3924 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3925 if (UNTAG_Bool(REGB1
)) {
3926 /* compiling/compiling_icode.nit:548 */
3927 fra
.me
.REG
[8] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3928 if (!once_value_13
) {
3929 fra
.me
.REG
[9] = BOX_NativeString("case ");
3931 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
3932 once_value_13
= fra
.me
.REG
[9];
3933 register_static_object(&once_value_13
);
3934 } else fra
.me
.REG
[9] = once_value_13
;
3935 fra
.me
.REG
[9] = fra
.me
.REG
[9];
3936 fra
.me
.REG
[9] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3937 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3938 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3939 if (UNTAG_Bool(REGB1
)) {
3940 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 548);
3942 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3943 fra
.me
.REG
[8] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3944 if (!once_value_14
) {
3945 fra
.me
.REG
[9] = BOX_NativeString(": ");
3947 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
3948 once_value_14
= fra
.me
.REG
[9];
3949 register_static_object(&once_value_14
);
3950 } else fra
.me
.REG
[9] = once_value_14
;
3951 fra
.me
.REG
[9] = fra
.me
.REG
[9];
3952 fra
.me
.REG
[9] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3953 fra
.me
.REG
[9] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[6]);
3954 if (!once_value_15
) {
3955 fra
.me
.REG
[8] = BOX_NativeString("->has_broke = 0; goto ");
3956 REGB1
= TAG_Int(22);
3957 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3958 once_value_15
= fra
.me
.REG
[8];
3959 register_static_object(&once_value_15
);
3960 } else fra
.me
.REG
[8] = once_value_15
;
3961 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3962 fra
.me
.REG
[8] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3963 fra
.me
.REG
[9] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3964 fra
.me
.REG
[9] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
3965 if (!once_value_16
) {
3966 fra
.me
.REG
[8] = BOX_NativeString(";\n");
3968 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3969 once_value_16
= fra
.me
.REG
[8];
3970 register_static_object(&once_value_16
);
3971 } else fra
.me
.REG
[8] = once_value_16
;
3972 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3973 CALL_compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
3975 /* compiling/compiling_icode.nit:551 */
3976 REGB1
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3977 if (UNTAG_Bool(REGB1
)) {
3979 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 551);
3981 /* compiling/compiling_icode.nit:552 */
3982 CALL_compiling___compiling_icode___I2CCompilerVisitor___register_escape_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3983 /* compiling/compiling_icode.nit:553 */
3984 REGB1
= TAG_Bool(1);
3987 /* compiling/compiling_icode.nit:555 */
3988 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3990 /* compiling/compiling_icode.nit:543 */
3995 /* compiling/compiling_icode.nit:558 */
3996 if (UNTAG_Bool(REGB0
)) {
3997 /* compiling/compiling_icode.nit:561 */
3998 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3999 if (!once_value_18
) {
4000 fra
.me
.REG
[6] = BOX_NativeString("default: goto ");
4001 REGB0
= TAG_Int(14);
4002 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4003 once_value_18
= fra
.me
.REG
[6];
4004 register_static_object(&once_value_18
);
4005 } else fra
.me
.REG
[6] = once_value_18
;
4006 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4007 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4008 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___return_label(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4009 REGB0
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
4010 if (UNTAG_Bool(REGB0
)) {
4012 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 561);
4014 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
4015 fra
.me
.REG
[7] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4016 if (!once_value_19
) {
4017 fra
.me
.REG
[6] = BOX_NativeString(";\n");
4019 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4020 once_value_19
= fra
.me
.REG
[6];
4021 register_static_object(&once_value_19
);
4022 } else fra
.me
.REG
[6] = once_value_19
;
4023 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4024 CALL_compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4026 /* compiling/compiling_icode.nit:563 */
4027 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4028 /* compiling/compiling_icode.nit:564 */
4029 if (!once_value_20
) {
4030 fra
.me
.REG
[6] = BOX_NativeString("}");
4032 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4033 once_value_20
= fra
.me
.REG
[6];
4034 register_static_object(&once_value_20
);
4035 } else fra
.me
.REG
[6] = once_value_20
;
4036 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4037 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
4040 /* compiling/compiling_icode.nit:568 */
4041 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4042 if (UNTAG_Bool(REGB0
)) {
4044 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4045 if (UNTAG_Bool(REGB1
)) {
4046 REGB1
= TAG_Bool(0);
4049 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4053 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4054 if (UNTAG_Bool(REGB0
)) {
4055 /* compiling/compiling_icode.nit:569 */
4056 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4057 /* compiling/compiling_icode.nit:570 */
4058 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
4060 stack_frame_head
= fra
.me
.prev
;
4063 void OC_compiling___compiling_icode___IAbsCall___compile_to_c_3(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
4064 struct {struct stack_frame_t me
;} fra
;
4069 static val_t once_value_4
; /* Once value */
4070 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4071 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4073 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_to_c
;
4074 fra
.me
.has_broke
= 0;
4075 fra
.me
.REG_size
= 1;
4076 fra
.me
.nitni_local_ref_head
= NULL
;
4077 fra
.me
.REG
[0] = NIT_NULL
;
4078 fra
.me
.closure_ctx
= closctx_param
;
4079 fra
.me
.closure_funs
= CREG
;
4081 CREG
[0] = clos_fun0
;
4082 /* compiling/compiling_icode.nit:502 */
4083 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4084 if (UNTAG_Bool(REGB0
)) {
4086 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4087 if (UNTAG_Bool(REGB1
)) {
4088 REGB1
= TAG_Bool(0);
4091 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4095 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4096 if (UNTAG_Bool(REGB0
)) {
4097 /* compiling/compiling_icode.nit:503 */
4098 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4099 if (UNTAG_Bool(REGB0
)) {
4100 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 503);
4102 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___IClosureDef___compile_closure(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
4103 /* compiling/compiling_icode.nit:504 */
4104 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
4106 /* compiling/compiling_icode.nit:506 */
4107 if (!once_value_4
) {
4108 fra
.me
.REG
[0] = BOX_NativeString("NULL");
4110 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4111 once_value_4
= fra
.me
.REG
[0];
4112 register_static_object(&once_value_4
);
4113 } else fra
.me
.REG
[0] = once_value_4
;
4114 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4115 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
4117 stack_frame_head
= fra
.me
.prev
;
4120 static const char LOCATE_compiling___compiling_icode___IAbsCall___compile_call_to_c
[] = "compiling_icode::IAbsCall::compile_call_to_c";
4121 val_t
compiling___compiling_icode___IAbsCall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4122 struct {struct stack_frame_t me
;} fra
;
4124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4125 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4127 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbsCall___compile_call_to_c
;
4128 fra
.me
.has_broke
= 0;
4129 fra
.me
.REG_size
= 0;
4130 fra
.me
.nitni_local_ref_head
= NULL
;
4131 /* compiling/compiling_icode.nit:574 */
4132 nit_abort("Deferred method called", NULL
, LOCATE_compiling___compiling_icode
, 574);
4133 stack_frame_head
= fra
.me
.prev
;
4136 static const char LOCATE_compiling___compiling_icode___ICall___compile_call_to_c
[] = "compiling_icode::ICall::(compiling_icode::IAbsCall::compile_call_to_c)";
4137 val_t
compiling___compiling_icode___ICall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4138 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4141 static val_t once_value_2
; /* Once value */
4142 static val_t once_value_3
; /* Once value */
4143 static val_t once_value_4
; /* Once value */
4144 static val_t once_value_5
; /* Once value */
4145 static val_t once_value_6
; /* Once value */
4146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4147 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4149 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICall___compile_call_to_c
;
4150 fra
.me
.has_broke
= 0;
4151 fra
.me
.REG_size
= 5;
4152 fra
.me
.nitni_local_ref_head
= NULL
;
4153 fra
.me
.REG
[0] = NIT_NULL
;
4154 fra
.me
.REG
[1] = NIT_NULL
;
4155 fra
.me
.REG
[2] = NIT_NULL
;
4156 fra
.me
.REG
[3] = NIT_NULL
;
4157 fra
.me
.REG
[4] = NIT_NULL
;
4161 /* compiling/compiling_icode.nit:581 */
4162 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
4163 /* compiling/compiling_icode.nit:585 */
4164 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4165 if (UNTAG_Bool(REGB0
)) {
4166 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4169 /* compiling/compiling_icode.nit:587 */
4170 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4171 /* compiling/compiling_icode.nit:588 */
4172 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4173 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4174 if (UNTAG_Bool(REGB0
)) {
4175 if (!once_value_2
) {
4176 fra
.me
.REG
[4] = BOX_NativeString("init_table");
4177 REGB0
= TAG_Int(10);
4178 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4179 once_value_2
= fra
.me
.REG
[4];
4180 register_static_object(&once_value_2
);
4181 } else fra
.me
.REG
[4] = once_value_2
;
4182 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4183 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4185 /* compiling/compiling_icode.nit:589 */
4186 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4187 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4188 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4189 /* compiling/compiling_icode.nit:590 */
4190 if (!once_value_3
) {
4191 fra
.me
.REG
[0] = BOX_NativeString("(");
4193 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4194 once_value_3
= fra
.me
.REG
[0];
4195 register_static_object(&once_value_3
);
4196 } else fra
.me
.REG
[0] = once_value_3
;
4197 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4198 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4199 /* compiling/compiling_icode.nit:591 */
4200 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4201 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4202 /* compiling/compiling_icode.nit:592 */
4203 if (!once_value_4
) {
4204 fra
.me
.REG
[0] = BOX_NativeString(")(");
4206 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4207 once_value_4
= fra
.me
.REG
[0];
4208 register_static_object(&once_value_4
);
4209 } else fra
.me
.REG
[0] = once_value_4
;
4210 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4211 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4212 /* compiling/compiling_icode.nit:593 */
4213 if (!once_value_5
) {
4214 fra
.me
.REG
[0] = BOX_NativeString(", ");
4216 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4217 once_value_5
= fra
.me
.REG
[0];
4218 register_static_object(&once_value_5
);
4219 } else fra
.me
.REG
[0] = once_value_5
;
4220 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4221 CALL_compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4222 /* compiling/compiling_icode.nit:594 */
4223 if (!once_value_6
) {
4224 fra
.me
.REG
[0] = BOX_NativeString(")");
4226 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4227 once_value_6
= fra
.me
.REG
[0];
4228 register_static_object(&once_value_6
);
4229 } else fra
.me
.REG
[0] = once_value_6
;
4230 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4231 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4232 /* compiling/compiling_icode.nit:595 */
4233 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4236 stack_frame_head
= fra
.me
.prev
;
4237 return fra
.me
.REG
[3];
4239 static const char LOCATE_compiling___compiling_icode___ISuper___compile_call_to_c
[] = "compiling_icode::ISuper::(compiling_icode::IAbsCall::compile_call_to_c)";
4240 val_t
compiling___compiling_icode___ISuper___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4241 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4244 static val_t once_value_2
; /* Once value */
4245 static val_t once_value_3
; /* Once value */
4246 static val_t once_value_4
; /* Once value */
4247 static val_t once_value_5
; /* Once value */
4248 static val_t once_value_6
; /* Once value */
4249 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4250 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4252 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ISuper___compile_call_to_c
;
4253 fra
.me
.has_broke
= 0;
4254 fra
.me
.REG_size
= 4;
4255 fra
.me
.nitni_local_ref_head
= NULL
;
4256 fra
.me
.REG
[0] = NIT_NULL
;
4257 fra
.me
.REG
[1] = NIT_NULL
;
4258 fra
.me
.REG
[2] = NIT_NULL
;
4259 fra
.me
.REG
[3] = NIT_NULL
;
4263 /* compiling/compiling_icode.nit:604 */
4264 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4265 if (UNTAG_Bool(REGB0
)) {
4266 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
4269 /* compiling/compiling_icode.nit:606 */
4270 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4271 /* compiling/compiling_icode.nit:607 */
4272 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4273 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4274 if (UNTAG_Bool(REGB0
)) {
4275 if (!once_value_2
) {
4276 fra
.me
.REG
[3] = BOX_NativeString("init_table");
4277 REGB0
= TAG_Int(10);
4278 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4279 once_value_2
= fra
.me
.REG
[3];
4280 register_static_object(&once_value_2
);
4281 } else fra
.me
.REG
[3] = once_value_2
;
4282 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4283 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4285 /* compiling/compiling_icode.nit:608 */
4286 fra
.me
.REG
[3] = NEW_Writer_compiling_writer___Writer___init();
4287 /* compiling/compiling_icode.nit:609 */
4288 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4289 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4290 /* compiling/compiling_icode.nit:610 */
4291 if (!once_value_3
) {
4292 fra
.me
.REG
[0] = BOX_NativeString("(");
4294 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4295 once_value_3
= fra
.me
.REG
[0];
4296 register_static_object(&once_value_3
);
4297 } else fra
.me
.REG
[0] = once_value_3
;
4298 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4299 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4300 /* compiling/compiling_icode.nit:611 */
4301 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4302 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4303 /* compiling/compiling_icode.nit:612 */
4304 if (!once_value_4
) {
4305 fra
.me
.REG
[0] = BOX_NativeString(")(");
4307 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4308 once_value_4
= fra
.me
.REG
[0];
4309 register_static_object(&once_value_4
);
4310 } else fra
.me
.REG
[0] = once_value_4
;
4311 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4312 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4313 /* compiling/compiling_icode.nit:613 */
4314 if (!once_value_5
) {
4315 fra
.me
.REG
[0] = BOX_NativeString(", ");
4317 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4318 once_value_5
= fra
.me
.REG
[0];
4319 register_static_object(&once_value_5
);
4320 } else fra
.me
.REG
[0] = once_value_5
;
4321 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4322 CALL_compiling_writer___Writer___add_all(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4323 /* compiling/compiling_icode.nit:614 */
4324 if (!once_value_6
) {
4325 fra
.me
.REG
[0] = BOX_NativeString(")");
4327 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4328 once_value_6
= fra
.me
.REG
[0];
4329 register_static_object(&once_value_6
);
4330 } else fra
.me
.REG
[0] = once_value_6
;
4331 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4332 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4333 /* compiling/compiling_icode.nit:615 */
4334 fra
.me
.REG
[1] = fra
.me
.REG
[3];
4337 stack_frame_head
= fra
.me
.prev
;
4338 return fra
.me
.REG
[1];
4340 static const char LOCATE_compiling___compiling_icode___INew___compile_call_to_c
[] = "compiling_icode::INew::(compiling_icode::IAbsCall::compile_call_to_c)";
4341 val_t
compiling___compiling_icode___INew___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4342 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4345 static val_t once_value_2
; /* Once value */
4346 static val_t once_value_3
; /* Once value */
4347 static val_t once_value_4
; /* Once value */
4348 static val_t once_value_5
; /* Once value */
4349 static val_t once_value_6
; /* Once value */
4350 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4351 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4353 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INew___compile_call_to_c
;
4354 fra
.me
.has_broke
= 0;
4355 fra
.me
.REG_size
= 5;
4356 fra
.me
.nitni_local_ref_head
= NULL
;
4357 fra
.me
.REG
[0] = NIT_NULL
;
4358 fra
.me
.REG
[1] = NIT_NULL
;
4359 fra
.me
.REG
[2] = NIT_NULL
;
4360 fra
.me
.REG
[3] = NIT_NULL
;
4361 fra
.me
.REG
[4] = NIT_NULL
;
4365 /* compiling/compiling_icode.nit:622 */
4366 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
4367 /* compiling/compiling_icode.nit:626 */
4368 REGB0
= CALL_icode___icode_base___IAbsCall___is_explicit_from_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4369 if (UNTAG_Bool(REGB0
)) {
4370 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4373 /* compiling/compiling_icode.nit:628 */
4374 if (!once_value_2
) {
4375 fra
.me
.REG
[4] = BOX_NativeString("NEW_");
4377 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4378 once_value_2
= fra
.me
.REG
[4];
4379 register_static_object(&once_value_2
);
4380 } else fra
.me
.REG
[4] = once_value_2
;
4381 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4382 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4383 /* compiling/compiling_icode.nit:629 */
4384 fra
.me
.REG
[4] = CALL_icode___icode_base___INew___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4385 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4386 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4387 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4388 /* compiling/compiling_icode.nit:630 */
4389 if (!once_value_3
) {
4390 fra
.me
.REG
[4] = BOX_NativeString("_");
4392 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4393 once_value_3
= fra
.me
.REG
[4];
4394 register_static_object(&once_value_3
);
4395 } else fra
.me
.REG
[4] = once_value_3
;
4396 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4397 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
4398 /* compiling/compiling_icode.nit:631 */
4399 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4400 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4401 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4402 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4403 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4404 /* compiling/compiling_icode.nit:632 */
4405 if (!once_value_4
) {
4406 fra
.me
.REG
[0] = BOX_NativeString("(");
4408 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4409 once_value_4
= fra
.me
.REG
[0];
4410 register_static_object(&once_value_4
);
4411 } else fra
.me
.REG
[0] = once_value_4
;
4412 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4413 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4414 /* compiling/compiling_icode.nit:633 */
4415 if (!once_value_5
) {
4416 fra
.me
.REG
[0] = BOX_NativeString(", ");
4418 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4419 once_value_5
= fra
.me
.REG
[0];
4420 register_static_object(&once_value_5
);
4421 } else fra
.me
.REG
[0] = once_value_5
;
4422 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4423 CALL_compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4424 /* compiling/compiling_icode.nit:634 */
4425 if (!once_value_6
) {
4426 fra
.me
.REG
[0] = BOX_NativeString(")");
4428 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4429 once_value_6
= fra
.me
.REG
[0];
4430 register_static_object(&once_value_6
);
4431 } else fra
.me
.REG
[0] = once_value_6
;
4432 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4433 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4434 /* compiling/compiling_icode.nit:635 */
4435 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4438 stack_frame_head
= fra
.me
.prev
;
4439 return fra
.me
.REG
[3];
4441 static const char LOCATE_compiling___compiling_icode___IAllocateInstance___compile_to_c
[] = "compiling_icode::IAllocateInstance::(compiling_icode::ICode::compile_to_c)";
4442 void compiling___compiling_icode___IAllocateInstance___compile_to_c(val_t p0
, val_t p1
){
4443 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4446 static val_t once_value_1
; /* Once value */
4447 static val_t once_value_2
; /* Once value */
4448 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4449 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4451 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAllocateInstance___compile_to_c
;
4452 fra
.me
.has_broke
= 0;
4453 fra
.me
.REG_size
= 3;
4454 fra
.me
.nitni_local_ref_head
= NULL
;
4455 fra
.me
.REG
[0] = NIT_NULL
;
4456 fra
.me
.REG
[1] = NIT_NULL
;
4457 fra
.me
.REG
[2] = NIT_NULL
;
4460 /* compiling/compiling_icode.nit:642 */
4461 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4462 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4463 /* compiling/compiling_icode.nit:643 */
4464 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4465 /* compiling/compiling_icode.nit:644 */
4466 if (!once_value_1
) {
4467 fra
.me
.REG
[2] = BOX_NativeString("NEW_");
4469 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4470 once_value_1
= fra
.me
.REG
[2];
4471 register_static_object(&once_value_1
);
4472 } else fra
.me
.REG
[2] = once_value_1
;
4473 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4474 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4475 /* compiling/compiling_icode.nit:645 */
4476 fra
.me
.REG
[0] = CALL_icode___icode_base___IAllocateInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4477 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4478 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4479 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4480 /* compiling/compiling_icode.nit:646 */
4481 if (!once_value_2
) {
4482 fra
.me
.REG
[0] = BOX_NativeString("()");
4484 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4485 once_value_2
= fra
.me
.REG
[0];
4486 register_static_object(&once_value_2
);
4487 } else fra
.me
.REG
[0] = once_value_2
;
4488 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4489 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4490 stack_frame_head
= fra
.me
.prev
;
4493 static const char LOCATE_compiling___compiling_icode___ICheckInstance___compile_to_c
[] = "compiling_icode::ICheckInstance::(compiling_icode::ICode::compile_to_c)";
4494 void compiling___compiling_icode___ICheckInstance___compile_to_c(val_t p0
, val_t p1
){
4495 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4498 static val_t once_value_1
; /* Once value */
4499 static val_t once_value_2
; /* Once value */
4500 static val_t once_value_3
; /* Once value */
4501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4502 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4504 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICheckInstance___compile_to_c
;
4505 fra
.me
.has_broke
= 0;
4506 fra
.me
.REG_size
= 4;
4507 fra
.me
.nitni_local_ref_head
= NULL
;
4508 fra
.me
.REG
[0] = NIT_NULL
;
4509 fra
.me
.REG
[1] = NIT_NULL
;
4510 fra
.me
.REG
[2] = NIT_NULL
;
4511 fra
.me
.REG
[3] = NIT_NULL
;
4514 /* compiling/compiling_icode.nit:653 */
4515 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4516 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4517 /* compiling/compiling_icode.nit:654 */
4518 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4519 /* compiling/compiling_icode.nit:655 */
4520 if (!once_value_1
) {
4521 fra
.me
.REG
[3] = BOX_NativeString("CHECKNEW_");
4523 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4524 once_value_1
= fra
.me
.REG
[3];
4525 register_static_object(&once_value_1
);
4526 } else fra
.me
.REG
[3] = once_value_1
;
4527 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4528 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4529 /* compiling/compiling_icode.nit:656 */
4530 fra
.me
.REG
[3] = CALL_icode___icode_base___ICheckInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4531 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4532 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4533 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4534 /* compiling/compiling_icode.nit:657 */
4535 if (!once_value_2
) {
4536 fra
.me
.REG
[3] = BOX_NativeString("(");
4538 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4539 once_value_2
= fra
.me
.REG
[3];
4540 register_static_object(&once_value_2
);
4541 } else fra
.me
.REG
[3] = once_value_2
;
4542 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4543 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4544 /* compiling/compiling_icode.nit:658 */
4545 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4546 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4547 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4548 /* compiling/compiling_icode.nit:659 */
4549 if (!once_value_3
) {
4550 fra
.me
.REG
[0] = BOX_NativeString(")");
4552 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4553 once_value_3
= fra
.me
.REG
[0];
4554 register_static_object(&once_value_3
);
4555 } else fra
.me
.REG
[0] = once_value_3
;
4556 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4557 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4558 stack_frame_head
= fra
.me
.prev
;
4561 static const char LOCATE_compiling___compiling_icode___IInitAttributes___compile_to_c
[] = "compiling_icode::IInitAttributes::(compiling_icode::ICode::compile_to_c)";
4562 void compiling___compiling_icode___IInitAttributes___compile_to_c(val_t p0
, val_t p1
){
4563 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4566 static val_t once_value_1
; /* Once value */
4567 static val_t once_value_2
; /* Once value */
4568 static val_t once_value_3
; /* Once value */
4569 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4570 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4572 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IInitAttributes___compile_to_c
;
4573 fra
.me
.has_broke
= 0;
4574 fra
.me
.REG_size
= 4;
4575 fra
.me
.nitni_local_ref_head
= NULL
;
4576 fra
.me
.REG
[0] = NIT_NULL
;
4577 fra
.me
.REG
[1] = NIT_NULL
;
4578 fra
.me
.REG
[2] = NIT_NULL
;
4579 fra
.me
.REG
[3] = NIT_NULL
;
4582 /* compiling/compiling_icode.nit:666 */
4583 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4584 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4585 /* compiling/compiling_icode.nit:667 */
4586 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4587 /* compiling/compiling_icode.nit:668 */
4588 if (!once_value_1
) {
4589 fra
.me
.REG
[3] = BOX_NativeString("INIT_ATTRIBUTES__");
4590 REGB0
= TAG_Int(17);
4591 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4592 once_value_1
= fra
.me
.REG
[3];
4593 register_static_object(&once_value_1
);
4594 } else fra
.me
.REG
[3] = once_value_1
;
4595 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4596 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4597 /* compiling/compiling_icode.nit:669 */
4598 fra
.me
.REG
[3] = CALL_icode___icode_base___IInitAttributes___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4599 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4600 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4601 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4602 /* compiling/compiling_icode.nit:670 */
4603 if (!once_value_2
) {
4604 fra
.me
.REG
[3] = BOX_NativeString("(");
4606 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4607 once_value_2
= fra
.me
.REG
[3];
4608 register_static_object(&once_value_2
);
4609 } else fra
.me
.REG
[3] = once_value_2
;
4610 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4611 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4612 /* compiling/compiling_icode.nit:671 */
4613 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4614 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4615 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4616 /* compiling/compiling_icode.nit:672 */
4617 if (!once_value_3
) {
4618 fra
.me
.REG
[0] = BOX_NativeString(");\n");
4620 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4621 once_value_3
= fra
.me
.REG
[0];
4622 register_static_object(&once_value_3
);
4623 } else fra
.me
.REG
[0] = once_value_3
;
4624 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4625 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4626 stack_frame_head
= fra
.me
.prev
;
4629 static const char LOCATE_compiling___compiling_icode___IStaticCall___compile_call_to_c
[] = "compiling_icode::IStaticCall::(compiling_icode::IAbsCall::compile_call_to_c)";
4630 val_t
compiling___compiling_icode___IStaticCall___compile_call_to_c(val_t p0
, val_t p1
, val_t p2
){
4631 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4634 static val_t once_value_1
; /* Once value */
4635 static val_t once_value_2
; /* Once value */
4636 static val_t once_value_3
; /* Once value */
4637 static val_t once_value_4
; /* Once value */
4638 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4639 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4641 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IStaticCall___compile_call_to_c
;
4642 fra
.me
.has_broke
= 0;
4643 fra
.me
.REG_size
= 3;
4644 fra
.me
.nitni_local_ref_head
= NULL
;
4645 fra
.me
.REG
[0] = NIT_NULL
;
4646 fra
.me
.REG
[1] = NIT_NULL
;
4647 fra
.me
.REG
[2] = NIT_NULL
;
4651 /* compiling/compiling_icode.nit:679 */
4652 fra
.me
.REG
[1] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4653 /* compiling/compiling_icode.nit:680 */
4654 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4655 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4656 if (UNTAG_Bool(REGB0
)) {
4657 if (!once_value_1
) {
4658 fra
.me
.REG
[1] = BOX_NativeString("init_table");
4659 REGB0
= TAG_Int(10);
4660 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
4661 once_value_1
= fra
.me
.REG
[1];
4662 register_static_object(&once_value_1
);
4663 } else fra
.me
.REG
[1] = once_value_1
;
4664 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
4667 /* compiling/compiling_icode.nit:681 */
4668 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
4669 /* compiling/compiling_icode.nit:682 */
4670 fra
.me
.REG
[0] = CALL_icode___icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4671 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4672 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4673 /* compiling/compiling_icode.nit:683 */
4674 if (!once_value_2
) {
4675 fra
.me
.REG
[0] = BOX_NativeString("(");
4677 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4678 once_value_2
= fra
.me
.REG
[0];
4679 register_static_object(&once_value_2
);
4680 } else fra
.me
.REG
[0] = once_value_2
;
4681 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4682 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4683 /* compiling/compiling_icode.nit:684 */
4684 if (!once_value_3
) {
4685 fra
.me
.REG
[0] = BOX_NativeString(", ");
4687 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4688 once_value_3
= fra
.me
.REG
[0];
4689 register_static_object(&once_value_3
);
4690 } else fra
.me
.REG
[0] = once_value_3
;
4691 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4692 CALL_compiling_writer___Writer___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4693 /* compiling/compiling_icode.nit:685 */
4694 if (!once_value_4
) {
4695 fra
.me
.REG
[0] = BOX_NativeString(")");
4697 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4698 once_value_4
= fra
.me
.REG
[0];
4699 register_static_object(&once_value_4
);
4700 } else fra
.me
.REG
[0] = once_value_4
;
4701 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4702 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4703 /* compiling/compiling_icode.nit:686 */
4706 stack_frame_head
= fra
.me
.prev
;
4707 return fra
.me
.REG
[1];
4709 static const char LOCATE_compiling___compiling_icode___INative___compile_to_c
[] = "compiling_icode::INative::(compiling_icode::ICode::compile_to_c)";
4710 void compiling___compiling_icode___INative___compile_to_c(val_t p0
, val_t p1
){
4711 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4714 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4715 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4717 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_to_c
;
4718 fra
.me
.has_broke
= 0;
4719 fra
.me
.REG_size
= 3;
4720 fra
.me
.nitni_local_ref_head
= NULL
;
4721 fra
.me
.REG
[0] = NIT_NULL
;
4722 fra
.me
.REG
[1] = NIT_NULL
;
4723 fra
.me
.REG
[2] = NIT_NULL
;
4726 /* compiling/compiling_icode.nit:693 */
4727 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4728 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
4729 /* compiling/compiling_icode.nit:694 */
4730 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4731 REGB0
= CALL_metamodel___abstractmetamodel___MMMethod___is_intern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4732 if (UNTAG_Bool(REGB0
)) {
4733 /* compiling/compiling_icode.nit:695 */
4734 CALL_compiling___compiling_icode___INative___compile_intern_method_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4736 /* compiling/compiling_icode.nit:696 */
4737 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4738 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4739 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4740 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4741 if (UNTAG_Bool(REGB0
)) {
4742 /* compiling/compiling_icode.nit:697 */
4743 CALL_compiling___compiling_icode___INative___compile_extern_method_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4746 stack_frame_head
= fra
.me
.prev
;
4749 static const char LOCATE_compiling___compiling_icode___INative___compile_extern_method_to_c
[] = "compiling_icode::INative::compile_extern_method_to_c";
4750 void compiling___compiling_icode___INative___compile_extern_method_to_c(val_t p0
, val_t p1
){
4751 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
4758 static val_t once_value_1
; /* Once value */
4759 static val_t once_value_2
; /* Once value */
4760 static val_t once_value_6
; /* Once value */
4761 static val_t once_value_7
; /* Once value */
4762 static val_t once_value_8
; /* Once value */
4763 static val_t once_value_9
; /* Once value */
4764 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4765 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
4767 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_extern_method_to_c
;
4768 fra
.me
.has_broke
= 0;
4769 fra
.me
.REG_size
= 7;
4770 fra
.me
.nitni_local_ref_head
= NULL
;
4771 fra
.me
.REG
[0] = NIT_NULL
;
4772 fra
.me
.REG
[1] = NIT_NULL
;
4773 fra
.me
.REG
[2] = NIT_NULL
;
4774 fra
.me
.REG
[3] = NIT_NULL
;
4775 fra
.me
.REG
[4] = NIT_NULL
;
4776 fra
.me
.REG
[5] = NIT_NULL
;
4777 fra
.me
.REG
[6] = NIT_NULL
;
4780 /* compiling/compiling_icode.nit:703 */
4782 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4783 if (!once_value_1
) {
4784 fra
.me
.REG
[3] = BOX_NativeString("");
4786 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4787 once_value_1
= fra
.me
.REG
[3];
4788 register_static_object(&once_value_1
);
4789 } else fra
.me
.REG
[3] = once_value_1
;
4790 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4792 fra
.me
.REG
[3] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4793 fra
.me
.REG
[4] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4794 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4795 fra
.me
.REG
[4] = CALL_primitive_info___MMMethod___friendly_extern_name(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4797 if (!once_value_2
) {
4798 fra
.me
.REG
[4] = BOX_NativeString("___out");
4800 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4801 once_value_2
= fra
.me
.REG
[4];
4802 register_static_object(&once_value_2
);
4803 } else fra
.me
.REG
[4] = once_value_2
;
4804 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4806 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4807 /* compiling/compiling_icode.nit:705 */
4808 fra
.me
.REG
[4] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4809 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4810 /* compiling/compiling_icode.nit:706 */
4811 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4812 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4813 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4814 if (UNTAG_Bool(REGB1
)) {
4815 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 706);
4817 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4819 /* ../lib/standard/kernel.nit:238 */
4820 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
4821 /* compiling/compiling_icode.nit:706 */
4822 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
4823 if (UNTAG_Bool(REGB1
)) {
4825 /* ../lib/standard/kernel.nit:230 */
4826 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
4827 /* compiling/compiling_icode.nit:706 */
4830 if (UNTAG_Bool(REGB1
)) {
4832 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 706);
4834 /* compiling/compiling_icode.nit:708 */
4835 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4836 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4837 /* compiling/compiling_icode.nit:710 */
4838 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
4839 /* compiling/compiling_icode.nit:711 */
4841 /* ../lib/standard/collection/array.nit:278 */
4842 fra
.me
.REG
[6] = fra
.me
.REG
[3];
4843 /* ../lib/standard/collection/array.nit:280 */
4845 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4846 if (UNTAG_Bool(REGB0
)) {
4848 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4850 /* ../lib/standard/kernel.nit:236 */
4851 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
4852 /* ../lib/standard/collection/array.nit:280 */
4853 if (UNTAG_Bool(REGB2
)) {
4854 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
4855 if (UNTAG_Bool(REGB2
)) {
4857 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4859 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
4860 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4861 if (UNTAG_Bool(REGB0
)) {
4863 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4865 /* ../lib/standard/kernel.nit:235 */
4866 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4868 /* ../lib/standard/collection/array.nit:280 */
4869 REGB0
= TAG_Bool(0);
4872 if (UNTAG_Bool(REGB2
)) {
4874 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
4876 /* ../lib/standard/collection/array.nit:281 */
4877 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
4878 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
4879 if (UNTAG_Bool(REGB2
)) {
4880 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4882 /* ../lib/standard/collection/array.nit:718 */
4883 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
4884 /* ../lib/standard/collection/array.nit:281 */
4887 /* compiling/compiling_icode.nit:711 */
4888 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4889 /* compiling/compiling_icode.nit:712 */
4891 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4892 if (UNTAG_Bool(REGB2
)) {
4893 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 712);
4895 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4896 /* ../lib/standard/kernel.nit:355 */
4898 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4899 if (UNTAG_Bool(REGB0
)) {
4901 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4903 /* ../lib/standard/kernel.nit:235 */
4904 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4905 /* ../lib/standard/kernel.nit:355 */
4906 if (UNTAG_Bool(REGB0
)) {
4907 /* compiling/compiling_icode.nit:712 */
4909 /* compiling/compiling_icode.nit:713 */
4911 /* ../lib/standard/kernel.nit:238 */
4912 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
4913 /* ../lib/standard/collection/array.nit:278 */
4914 fra
.me
.REG
[4] = fra
.me
.REG
[3];
4915 /* ../lib/standard/collection/array.nit:280 */
4917 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
4918 if (UNTAG_Bool(REGB4
)) {
4920 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4922 /* ../lib/standard/kernel.nit:236 */
4923 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB0
));
4924 /* ../lib/standard/collection/array.nit:280 */
4925 if (UNTAG_Bool(REGB0
)) {
4926 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4927 if (UNTAG_Bool(REGB0
)) {
4929 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
4931 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4932 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
4933 if (UNTAG_Bool(REGB4
)) {
4935 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4937 /* ../lib/standard/kernel.nit:235 */
4938 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
4940 /* ../lib/standard/collection/array.nit:280 */
4941 REGB4
= TAG_Bool(0);
4944 if (UNTAG_Bool(REGB0
)) {
4946 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
4948 /* ../lib/standard/collection/array.nit:281 */
4949 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
4950 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4951 if (UNTAG_Bool(REGB0
)) {
4952 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
4954 /* ../lib/standard/collection/array.nit:718 */
4955 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB3
)];
4956 /* ../lib/standard/collection/array.nit:281 */
4959 /* compiling/compiling_icode.nit:713 */
4960 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4961 /* ../lib/standard/kernel.nit:357 */
4963 /* ../lib/standard/kernel.nit:238 */
4964 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
4965 /* ../lib/standard/kernel.nit:357 */
4968 /* ../lib/standard/kernel.nit:355 */
4973 /* compiling/compiling_icode.nit:715 */
4975 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4976 if (!once_value_6
) {
4977 fra
.me
.REG
[4] = BOX_NativeString("");
4979 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
4980 once_value_6
= fra
.me
.REG
[4];
4981 register_static_object(&once_value_6
);
4982 } else fra
.me
.REG
[4] = once_value_6
;
4983 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4985 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4986 if (!once_value_7
) {
4987 fra
.me
.REG
[2] = BOX_NativeString("(");
4989 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
4990 once_value_7
= fra
.me
.REG
[2];
4991 register_static_object(&once_value_7
);
4992 } else fra
.me
.REG
[2] = once_value_7
;
4993 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4995 if (!once_value_8
) {
4996 fra
.me
.REG
[2] = BOX_NativeString(", ");
4998 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
4999 once_value_8
= fra
.me
.REG
[2];
5000 register_static_object(&once_value_8
);
5001 } else fra
.me
.REG
[2] = once_value_8
;
5002 fra
.me
.REG
[2] = fra
.me
.REG
[2];
5003 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
5004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
5005 if (!once_value_9
) {
5006 fra
.me
.REG
[2] = BOX_NativeString(")");
5008 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
5009 once_value_9
= fra
.me
.REG
[2];
5010 register_static_object(&once_value_9
);
5011 } else fra
.me
.REG
[2] = once_value_9
;
5012 fra
.me
.REG
[2] = fra
.me
.REG
[2];
5013 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
5014 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5015 /* compiling/compiling_icode.nit:717 */
5016 REGB1
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5017 if (UNTAG_Bool(REGB1
)) {
5019 /* compiling/compiling_icode.nit:718 */
5020 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5021 /* compiling/compiling_icode.nit:719 */
5022 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
5023 stack_frame_head
= fra
.me
.prev
;
5026 static const char LOCATE_compiling___compiling_icode___INative___compile_intern_method_to_c
[] = "compiling_icode::INative::compile_intern_method_to_c";
5027 void compiling___compiling_icode___INative___compile_intern_method_to_c(val_t p0
, val_t p1
){
5028 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
5033 static val_t once_value_1
; /* Once value */
5034 static val_t once_value_2
; /* Once value */
5035 static val_t once_value_3
; /* Once value */
5036 static val_t once_value_4
; /* Once value */
5037 static val_t once_value_6
; /* Once value */
5038 static val_t once_value_7
; /* Once value */
5039 static val_t once_value_8
; /* Once value */
5040 static val_t once_value_10
; /* Once value */
5041 static val_t once_value_11
; /* Once value */
5042 static val_t once_value_12
; /* Once value */
5043 static val_t once_value_13
; /* Once value */
5044 static val_t once_value_15
; /* Once value */
5045 static val_t once_value_16
; /* Once value */
5046 static val_t once_value_17
; /* Once value */
5047 static val_t once_value_18
; /* Once value */
5048 static val_t once_value_20
; /* Once value */
5049 static val_t once_value_21
; /* Once value */
5050 static val_t once_value_22
; /* Once value */
5051 static val_t once_value_23
; /* Once value */
5052 static val_t once_value_25
; /* Once value */
5053 static val_t once_value_26
; /* Once value */
5054 static val_t once_value_27
; /* Once value */
5055 static val_t once_value_28
; /* Once value */
5056 static val_t once_value_30
; /* Once value */
5057 static val_t once_value_31
; /* Once value */
5058 static val_t once_value_32
; /* Once value */
5059 static val_t once_value_33
; /* Once value */
5060 static val_t once_value_35
; /* Once value */
5061 static val_t once_value_36
; /* Once value */
5062 static val_t once_value_37
; /* Once value */
5063 static val_t once_value_38
; /* Once value */
5064 static val_t once_value_40
; /* Once value */
5065 static val_t once_value_42
; /* Once value */
5066 static val_t once_value_43
; /* Once value */
5067 static val_t once_value_44
; /* Once value */
5068 static val_t once_value_45
; /* Once value */
5069 static val_t once_value_47
; /* Once value */
5070 static val_t once_value_49
; /* Once value */
5071 static val_t once_value_50
; /* Once value */
5072 static val_t once_value_51
; /* Once value */
5073 static val_t once_value_52
; /* Once value */
5074 static val_t once_value_54
; /* Once value */
5075 static val_t once_value_56
; /* Once value */
5076 static val_t once_value_57
; /* Once value */
5077 static val_t once_value_58
; /* Once value */
5078 static val_t once_value_59
; /* Once value */
5079 static val_t once_value_61
; /* Once value */
5080 static val_t once_value_63
; /* Once value */
5081 static val_t once_value_64
; /* Once value */
5082 static val_t once_value_65
; /* Once value */
5083 static val_t once_value_66
; /* Once value */
5084 static val_t once_value_68
; /* Once value */
5085 static val_t once_value_70
; /* Once value */
5086 static val_t once_value_71
; /* Once value */
5087 static val_t once_value_72
; /* Once value */
5088 static val_t once_value_73
; /* Once value */
5089 static val_t once_value_75
; /* Once value */
5090 static val_t once_value_77
; /* Once value */
5091 static val_t once_value_78
; /* Once value */
5092 static val_t once_value_79
; /* Once value */
5093 static val_t once_value_80
; /* Once value */
5094 static val_t once_value_82
; /* Once value */
5095 static val_t once_value_84
; /* Once value */
5096 static val_t once_value_85
; /* Once value */
5097 static val_t once_value_86
; /* Once value */
5098 static val_t once_value_87
; /* Once value */
5099 static val_t once_value_89
; /* Once value */
5100 static val_t once_value_91
; /* Once value */
5101 static val_t once_value_92
; /* Once value */
5102 static val_t once_value_93
; /* Once value */
5103 static val_t once_value_94
; /* Once value */
5104 static val_t once_value_96
; /* Once value */
5105 static val_t once_value_98
; /* Once value */
5106 static val_t once_value_99
; /* Once value */
5107 static val_t once_value_100
; /* Once value */
5108 static val_t once_value_101
; /* Once value */
5109 static val_t once_value_103
; /* Once value */
5110 static val_t once_value_105
; /* Once value */
5111 static val_t once_value_106
; /* Once value */
5112 static val_t once_value_107
; /* Once value */
5113 static val_t once_value_108
; /* Once value */
5114 static val_t once_value_110
; /* Once value */
5115 static val_t once_value_112
; /* Once value */
5116 static val_t once_value_113
; /* Once value */
5117 static val_t once_value_114
; /* Once value */
5118 static val_t once_value_115
; /* Once value */
5119 static val_t once_value_117
; /* Once value */
5120 static val_t once_value_119
; /* Once value */
5121 static val_t once_value_120
; /* Once value */
5122 static val_t once_value_121
; /* Once value */
5123 static val_t once_value_122
; /* Once value */
5124 static val_t once_value_124
; /* Once value */
5125 static val_t once_value_126
; /* Once value */
5126 static val_t once_value_127
; /* Once value */
5127 static val_t once_value_128
; /* Once value */
5128 static val_t once_value_129
; /* Once value */
5129 static val_t once_value_130
; /* Once value */
5130 static val_t once_value_131
; /* Once value */
5131 static val_t once_value_133
; /* Once value */
5132 static val_t once_value_134
; /* Once value */
5133 static val_t once_value_135
; /* Once value */
5134 static val_t once_value_136
; /* Once value */
5135 static val_t once_value_138
; /* Once value */
5136 static val_t once_value_139
; /* Once value */
5137 static val_t once_value_140
; /* Once value */
5138 static val_t once_value_141
; /* Once value */
5139 static val_t once_value_143
; /* Once value */
5140 static val_t once_value_144
; /* Once value */
5141 static val_t once_value_145
; /* Once value */
5142 static val_t once_value_146
; /* Once value */
5143 static val_t once_value_148
; /* Once value */
5144 static val_t once_value_149
; /* Once value */
5145 static val_t once_value_150
; /* Once value */
5146 static val_t once_value_151
; /* Once value */
5147 static val_t once_value_153
; /* Once value */
5148 static val_t once_value_155
; /* Once value */
5149 static val_t once_value_156
; /* Once value */
5150 static val_t once_value_157
; /* Once value */
5151 static val_t once_value_158
; /* Once value */
5152 static val_t once_value_160
; /* Once value */
5153 static val_t once_value_162
; /* Once value */
5154 static val_t once_value_163
; /* Once value */
5155 static val_t once_value_164
; /* Once value */
5156 static val_t once_value_165
; /* Once value */
5157 static val_t once_value_167
; /* Once value */
5158 static val_t once_value_169
; /* Once value */
5159 static val_t once_value_170
; /* Once value */
5160 static val_t once_value_171
; /* Once value */
5161 static val_t once_value_172
; /* Once value */
5162 static val_t once_value_174
; /* Once value */
5163 static val_t once_value_176
; /* Once value */
5164 static val_t once_value_177
; /* Once value */
5165 static val_t once_value_178
; /* Once value */
5166 static val_t once_value_179
; /* Once value */
5167 static val_t once_value_181
; /* Once value */
5168 static val_t once_value_183
; /* Once value */
5169 static val_t once_value_184
; /* Once value */
5170 static val_t once_value_185
; /* Once value */
5171 static val_t once_value_186
; /* Once value */
5172 static val_t once_value_188
; /* Once value */
5173 static val_t once_value_190
; /* Once value */
5174 static val_t once_value_191
; /* Once value */
5175 static val_t once_value_192
; /* Once value */
5176 static val_t once_value_193
; /* Once value */
5177 static val_t once_value_195
; /* Once value */
5178 static val_t once_value_197
; /* Once value */
5179 static val_t once_value_198
; /* Once value */
5180 static val_t once_value_199
; /* Once value */
5181 static val_t once_value_200
; /* Once value */
5182 static val_t once_value_202
; /* Once value */
5183 static val_t once_value_204
; /* Once value */
5184 static val_t once_value_205
; /* Once value */
5185 static val_t once_value_206
; /* Once value */
5186 static val_t once_value_207
; /* Once value */
5187 static val_t once_value_208
; /* Once value */
5188 static val_t once_value_209
; /* Once value */
5189 static val_t once_value_211
; /* Once value */
5190 static val_t once_value_212
; /* Once value */
5191 static val_t once_value_213
; /* Once value */
5192 static val_t once_value_214
; /* Once value */
5193 static val_t once_value_216
; /* Once value */
5194 static val_t once_value_217
; /* Once value */
5195 static val_t once_value_218
; /* Once value */
5196 static val_t once_value_219
; /* Once value */
5197 static val_t once_value_221
; /* Once value */
5198 static val_t once_value_222
; /* Once value */
5199 static val_t once_value_223
; /* Once value */
5200 static val_t once_value_224
; /* Once value */
5201 static val_t once_value_226
; /* Once value */
5202 static val_t once_value_227
; /* Once value */
5203 static val_t once_value_228
; /* Once value */
5204 static val_t once_value_229
; /* Once value */
5205 static val_t once_value_231
; /* Once value */
5206 static val_t once_value_232
; /* Once value */
5207 static val_t once_value_233
; /* Once value */
5208 static val_t once_value_234
; /* Once value */
5209 static val_t once_value_236
; /* Once value */
5210 static val_t once_value_237
; /* Once value */
5211 static val_t once_value_238
; /* Once value */
5212 static val_t once_value_239
; /* Once value */
5213 static val_t once_value_241
; /* Once value */
5214 static val_t once_value_242
; /* Once value */
5215 static val_t once_value_243
; /* Once value */
5216 static val_t once_value_244
; /* Once value */
5217 static val_t once_value_246
; /* Once value */
5218 static val_t once_value_248
; /* Once value */
5219 static val_t once_value_249
; /* Once value */
5220 static val_t once_value_250
; /* Once value */
5221 static val_t once_value_251
; /* Once value */
5222 static val_t once_value_253
; /* Once value */
5223 static val_t once_value_255
; /* Once value */
5224 static val_t once_value_256
; /* Once value */
5225 static val_t once_value_257
; /* Once value */
5226 static val_t once_value_258
; /* Once value */
5227 static val_t once_value_260
; /* Once value */
5228 static val_t once_value_262
; /* Once value */
5229 static val_t once_value_263
; /* Once value */
5230 static val_t once_value_264
; /* Once value */
5231 static val_t once_value_265
; /* Once value */
5232 static val_t once_value_267
; /* Once value */
5233 static val_t once_value_269
; /* Once value */
5234 static val_t once_value_270
; /* Once value */
5235 static val_t once_value_271
; /* Once value */
5236 static val_t once_value_272
; /* Once value */
5237 static val_t once_value_274
; /* Once value */
5238 static val_t once_value_276
; /* Once value */
5239 static val_t once_value_277
; /* Once value */
5240 static val_t once_value_278
; /* Once value */
5241 static val_t once_value_279
; /* Once value */
5242 static val_t once_value_281
; /* Once value */
5243 static val_t once_value_283
; /* Once value */
5244 static val_t once_value_284
; /* Once value */
5245 static val_t once_value_285
; /* Once value */
5246 static val_t once_value_286
; /* Once value */
5247 static val_t once_value_288
; /* Once value */
5248 static val_t once_value_290
; /* Once value */
5249 static val_t once_value_291
; /* Once value */
5250 static val_t once_value_292
; /* Once value */
5251 static val_t once_value_293
; /* Once value */
5252 static val_t once_value_295
; /* Once value */
5253 static val_t once_value_297
; /* Once value */
5254 static val_t once_value_298
; /* Once value */
5255 static val_t once_value_299
; /* Once value */
5256 static val_t once_value_300
; /* Once value */
5257 static val_t once_value_302
; /* Once value */
5258 static val_t once_value_304
; /* Once value */
5259 static val_t once_value_305
; /* Once value */
5260 static val_t once_value_306
; /* Once value */
5261 static val_t once_value_307
; /* Once value */
5262 static val_t once_value_309
; /* Once value */
5263 static val_t once_value_311
; /* Once value */
5264 static val_t once_value_312
; /* Once value */
5265 static val_t once_value_313
; /* Once value */
5266 static val_t once_value_314
; /* Once value */
5267 static val_t once_value_316
; /* Once value */
5268 static val_t once_value_318
; /* Once value */
5269 static val_t once_value_319
; /* Once value */
5270 static val_t once_value_320
; /* Once value */
5271 static val_t once_value_321
; /* Once value */
5272 static val_t once_value_322
; /* Once value */
5273 static val_t once_value_323
; /* Once value */
5274 static val_t once_value_325
; /* Once value */
5275 static val_t once_value_326
; /* Once value */
5276 static val_t once_value_327
; /* Once value */
5277 static val_t once_value_328
; /* Once value */
5278 static val_t once_value_330
; /* Once value */
5279 static val_t once_value_331
; /* Once value */
5280 static val_t once_value_332
; /* Once value */
5281 static val_t once_value_333
; /* Once value */
5282 static val_t once_value_335
; /* Once value */
5283 static val_t once_value_336
; /* Once value */
5284 static val_t once_value_337
; /* Once value */
5285 static val_t once_value_338
; /* Once value */
5286 static val_t once_value_340
; /* Once value */
5287 static val_t once_value_341
; /* Once value */
5288 static val_t once_value_342
; /* Once value */
5289 static val_t once_value_343
; /* Once value */
5290 static val_t once_value_345
; /* Once value */
5291 static val_t once_value_346
; /* Once value */
5292 static val_t once_value_347
; /* Once value */
5293 static val_t once_value_348
; /* Once value */
5294 static val_t once_value_350
; /* Once value */
5295 static val_t once_value_352
; /* Once value */
5296 static val_t once_value_353
; /* Once value */
5297 static val_t once_value_354
; /* Once value */
5298 static val_t once_value_355
; /* Once value */
5299 static val_t once_value_357
; /* Once value */
5300 static val_t once_value_359
; /* Once value */
5301 static val_t once_value_360
; /* Once value */
5302 static val_t once_value_361
; /* Once value */
5303 static val_t once_value_362
; /* Once value */
5304 static val_t once_value_363
; /* Once value */
5305 static val_t once_value_364
; /* Once value */
5306 static val_t once_value_366
; /* Once value */
5307 static val_t once_value_367
; /* Once value */
5308 static val_t once_value_368
; /* Once value */
5309 static val_t once_value_369
; /* Once value */
5310 static val_t once_value_371
; /* Once value */
5311 static val_t once_value_373
; /* Once value */
5312 static val_t once_value_374
; /* Once value */
5313 static val_t once_value_375
; /* Once value */
5314 static val_t once_value_376
; /* Once value */
5315 static val_t once_value_378
; /* Once value */
5316 static val_t once_value_380
; /* Once value */
5317 static val_t once_value_382
; /* Once value */
5318 static val_t once_value_383
; /* Once value */
5319 static val_t once_value_384
; /* Once value */
5320 static val_t once_value_385
; /* Once value */
5321 static val_t once_value_387
; /* Once value */
5322 static val_t once_value_389
; /* Once value */
5323 static val_t once_value_391
; /* Once value */
5324 static val_t once_value_392
; /* Once value */
5325 static val_t once_value_393
; /* Once value */
5326 static val_t once_value_394
; /* Once value */
5327 static val_t once_value_395
; /* Once value */
5328 static val_t once_value_396
; /* Once value */
5329 static val_t once_value_398
; /* Once value */
5330 static val_t once_value_399
; /* Once value */
5331 static val_t once_value_400
; /* Once value */
5332 static val_t once_value_401
; /* Once value */
5333 static val_t once_value_403
; /* Once value */
5334 static val_t once_value_404
; /* Once value */
5335 static val_t once_value_405
; /* Once value */
5336 static val_t once_value_406
; /* Once value */
5337 static val_t once_value_408
; /* Once value */
5338 static val_t once_value_410
; /* Once value */
5339 static val_t once_value_411
; /* Once value */
5340 static val_t once_value_412
; /* Once value */
5341 static val_t once_value_413
; /* Once value */
5342 static val_t once_value_415
; /* Once value */
5343 static val_t once_value_417
; /* Once value */
5344 static val_t once_value_419
; /* Once value */
5345 static val_t once_value_420
; /* Once value */
5346 static val_t once_value_421
; /* Once value */
5347 static val_t once_value_422
; /* Once value */
5348 static val_t once_value_424
; /* Once value */
5349 static val_t once_value_426
; /* Once value */
5350 static val_t once_value_428
; /* Once value */
5351 static val_t once_value_430
; /* Once value */
5352 static val_t once_value_432
; /* Once value */
5353 static val_t once_value_433
; /* Once value */
5354 static val_t once_value_434
; /* Once value */
5355 static val_t once_value_435
; /* Once value */
5356 static val_t once_value_436
; /* Once value */
5357 static val_t once_value_437
; /* Once value */
5358 static val_t once_value_438
; /* Once value */
5359 static val_t once_value_439
; /* Once value */
5360 static val_t once_value_440
; /* Once value */
5361 static val_t once_value_442
; /* Once value */
5362 static val_t once_value_443
; /* Once value */
5363 static val_t once_value_444
; /* Once value */
5364 static val_t once_value_445
; /* Once value */
5365 static val_t once_value_446
; /* Once value */
5366 static val_t once_value_447
; /* Once value */
5367 static val_t once_value_448
; /* Once value */
5368 static val_t once_value_450
; /* Once value */
5369 static val_t once_value_452
; /* Once value */
5370 static val_t once_value_453
; /* Once value */
5371 static val_t once_value_454
; /* Once value */
5372 static val_t once_value_455
; /* Once value */
5373 static val_t once_value_457
; /* Once value */
5374 static val_t once_value_458
; /* Once value */
5375 static val_t once_value_459
; /* Once value */
5376 static val_t once_value_460
; /* Once value */
5377 static val_t once_value_462
; /* Once value */
5378 static val_t once_value_463
; /* Once value */
5379 static val_t once_value_464
; /* Once value */
5380 static val_t once_value_465
; /* Once value */
5381 static val_t once_value_467
; /* Once value */
5382 static val_t once_value_468
; /* Once value */
5383 static val_t once_value_469
; /* Once value */
5384 static val_t once_value_470
; /* Once value */
5385 static val_t once_value_472
; /* Once value */
5386 static val_t once_value_473
; /* Once value */
5387 static val_t once_value_474
; /* Once value */
5388 static val_t once_value_475
; /* Once value */
5389 static val_t once_value_477
; /* Once value */
5390 static val_t once_value_478
; /* Once value */
5391 static val_t once_value_479
; /* Once value */
5392 static val_t once_value_480
; /* Once value */
5393 static val_t once_value_481
; /* Once value */
5394 static val_t once_value_482
; /* Once value */
5395 static val_t once_value_483
; /* Once value */
5396 static val_t once_value_484
; /* Once value */
5397 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5398 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
5400 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_intern_method_to_c
;
5401 fra
.me
.has_broke
= 0;
5402 fra
.me
.REG_size
= 8;
5403 fra
.me
.nitni_local_ref_head
= NULL
;
5404 fra
.me
.REG
[0] = NIT_NULL
;
5405 fra
.me
.REG
[1] = NIT_NULL
;
5406 fra
.me
.REG
[2] = NIT_NULL
;
5407 fra
.me
.REG
[3] = NIT_NULL
;
5408 fra
.me
.REG
[4] = NIT_NULL
;
5409 fra
.me
.REG
[5] = NIT_NULL
;
5410 fra
.me
.REG
[6] = NIT_NULL
;
5411 fra
.me
.REG
[7] = NIT_NULL
;
5414 /* compiling/compiling_icode.nit:724 */
5415 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5416 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5417 /* compiling/compiling_icode.nit:725 */
5418 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5419 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5420 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5421 if (UNTAG_Bool(REGB1
)) {
5422 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 725);
5424 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5426 /* ../lib/standard/kernel.nit:238 */
5427 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
5428 /* compiling/compiling_icode.nit:725 */
5429 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
5430 if (UNTAG_Bool(REGB1
)) {
5432 /* ../lib/standard/kernel.nit:230 */
5433 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
5434 /* compiling/compiling_icode.nit:725 */
5437 if (UNTAG_Bool(REGB1
)) {
5439 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 725);
5441 /* compiling/compiling_icode.nit:726 */
5442 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5443 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5444 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5445 /* compiling/compiling_icode.nit:727 */
5446 fra
.me
.REG
[3] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5447 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5448 /* compiling/compiling_icode.nit:728 */
5449 fra
.me
.REG
[4] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5450 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5451 /* compiling/compiling_icode.nit:729 */
5452 fra
.me
.REG
[5] = NIT_NULL
;
5453 /* compiling/compiling_icode.nit:730 */
5454 if (!once_value_1
) {
5455 if (!once_value_2
) {
5456 fra
.me
.REG
[6] = BOX_NativeString("Int");
5458 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5459 once_value_2
= fra
.me
.REG
[6];
5460 register_static_object(&once_value_2
);
5461 } else fra
.me
.REG
[6] = once_value_2
;
5462 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5463 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5464 once_value_1
= fra
.me
.REG
[6];
5465 register_static_object(&once_value_1
);
5466 } else fra
.me
.REG
[6] = once_value_1
;
5467 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5468 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
5469 if (UNTAG_Bool(REGB1
)) {
5471 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
5474 if (UNTAG_Bool(REGB1
)) {
5475 /* compiling/compiling_icode.nit:731 */
5476 if (!once_value_3
) {
5477 if (!once_value_4
) {
5478 fra
.me
.REG
[6] = BOX_NativeString("object_id");
5480 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5481 once_value_4
= fra
.me
.REG
[6];
5482 register_static_object(&once_value_4
);
5483 } else fra
.me
.REG
[6] = once_value_4
;
5484 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5485 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5486 once_value_3
= fra
.me
.REG
[6];
5487 register_static_object(&once_value_3
);
5488 } else fra
.me
.REG
[6] = once_value_3
;
5489 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5490 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5491 if (UNTAG_Bool(REGB1
)) {
5493 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5496 if (UNTAG_Bool(REGB1
)) {
5497 /* compiling/compiling_icode.nit:732 */
5499 /* ../lib/standard/collection/array.nit:278 */
5500 fra
.me
.REG
[6] = fra
.me
.REG
[4];
5501 /* ../lib/standard/collection/array.nit:280 */
5503 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5504 if (UNTAG_Bool(REGB0
)) {
5506 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5508 /* ../lib/standard/kernel.nit:236 */
5509 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5510 /* ../lib/standard/collection/array.nit:280 */
5511 if (UNTAG_Bool(REGB2
)) {
5512 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
5513 if (UNTAG_Bool(REGB2
)) {
5515 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5517 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
5518 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5519 if (UNTAG_Bool(REGB0
)) {
5521 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5523 /* ../lib/standard/kernel.nit:235 */
5524 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5526 /* ../lib/standard/collection/array.nit:280 */
5527 REGB0
= TAG_Bool(0);
5530 if (UNTAG_Bool(REGB2
)) {
5532 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
5534 /* ../lib/standard/collection/array.nit:281 */
5535 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
5536 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5537 if (UNTAG_Bool(REGB2
)) {
5538 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5540 /* ../lib/standard/collection/array.nit:718 */
5541 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
5542 /* ../lib/standard/collection/array.nit:281 */
5545 /* compiling/compiling_icode.nit:732 */
5546 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5548 /* compiling/compiling_icode.nit:733 */
5549 if (!once_value_6
) {
5550 if (!once_value_7
) {
5551 fra
.me
.REG
[6] = BOX_NativeString("unary -");
5553 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5554 once_value_7
= fra
.me
.REG
[6];
5555 register_static_object(&once_value_7
);
5556 } else fra
.me
.REG
[6] = once_value_7
;
5557 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5558 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5559 once_value_6
= fra
.me
.REG
[6];
5560 register_static_object(&once_value_6
);
5561 } else fra
.me
.REG
[6] = once_value_6
;
5562 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5563 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5564 if (UNTAG_Bool(REGB1
)) {
5566 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5569 if (UNTAG_Bool(REGB1
)) {
5570 /* compiling/compiling_icode.nit:734 */
5572 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5573 if (!once_value_8
) {
5574 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(-UNTAG_Int(");
5575 REGB1
= TAG_Int(19);
5576 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5577 once_value_8
= fra
.me
.REG
[7];
5578 register_static_object(&once_value_8
);
5579 } else fra
.me
.REG
[7] = once_value_8
;
5580 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5583 /* ../lib/standard/collection/array.nit:278 */
5584 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5585 /* ../lib/standard/collection/array.nit:280 */
5587 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5588 if (UNTAG_Bool(REGB0
)) {
5590 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5592 /* ../lib/standard/kernel.nit:236 */
5593 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5594 /* ../lib/standard/collection/array.nit:280 */
5595 if (UNTAG_Bool(REGB2
)) {
5596 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5597 if (UNTAG_Bool(REGB2
)) {
5599 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5601 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5602 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5603 if (UNTAG_Bool(REGB0
)) {
5605 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5607 /* ../lib/standard/kernel.nit:235 */
5608 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5610 /* ../lib/standard/collection/array.nit:280 */
5611 REGB0
= TAG_Bool(0);
5614 if (UNTAG_Bool(REGB2
)) {
5616 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
5618 /* ../lib/standard/collection/array.nit:281 */
5619 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5620 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5621 if (UNTAG_Bool(REGB2
)) {
5622 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5624 /* ../lib/standard/collection/array.nit:718 */
5625 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5626 /* ../lib/standard/collection/array.nit:281 */
5629 /* compiling/compiling_icode.nit:734 */
5630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5631 if (!once_value_10
) {
5632 fra
.me
.REG
[7] = BOX_NativeString("))");
5634 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5635 once_value_10
= fra
.me
.REG
[7];
5636 register_static_object(&once_value_10
);
5637 } else fra
.me
.REG
[7] = once_value_10
;
5638 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5640 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5641 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5643 /* compiling/compiling_icode.nit:735 */
5644 if (!once_value_11
) {
5645 if (!once_value_12
) {
5646 fra
.me
.REG
[6] = BOX_NativeString("output");
5648 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5649 once_value_12
= fra
.me
.REG
[6];
5650 register_static_object(&once_value_12
);
5651 } else fra
.me
.REG
[6] = once_value_12
;
5652 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5653 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5654 once_value_11
= fra
.me
.REG
[6];
5655 register_static_object(&once_value_11
);
5656 } else fra
.me
.REG
[6] = once_value_11
;
5657 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5658 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5659 if (UNTAG_Bool(REGB1
)) {
5661 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5664 if (UNTAG_Bool(REGB1
)) {
5665 /* compiling/compiling_icode.nit:736 */
5667 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5668 if (!once_value_13
) {
5669 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%ld\\n\", UNTAG_Int(");
5670 REGB1
= TAG_Int(26);
5671 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5672 once_value_13
= fra
.me
.REG
[7];
5673 register_static_object(&once_value_13
);
5674 } else fra
.me
.REG
[7] = once_value_13
;
5675 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5678 /* ../lib/standard/collection/array.nit:278 */
5679 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5680 /* ../lib/standard/collection/array.nit:280 */
5682 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5683 if (UNTAG_Bool(REGB0
)) {
5685 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5687 /* ../lib/standard/kernel.nit:236 */
5688 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5689 /* ../lib/standard/collection/array.nit:280 */
5690 if (UNTAG_Bool(REGB2
)) {
5691 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5692 if (UNTAG_Bool(REGB2
)) {
5694 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5696 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5697 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5698 if (UNTAG_Bool(REGB0
)) {
5700 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5702 /* ../lib/standard/kernel.nit:235 */
5703 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5705 /* ../lib/standard/collection/array.nit:280 */
5706 REGB0
= TAG_Bool(0);
5709 if (UNTAG_Bool(REGB2
)) {
5711 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
5713 /* ../lib/standard/collection/array.nit:281 */
5714 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5715 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5716 if (UNTAG_Bool(REGB2
)) {
5717 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5719 /* ../lib/standard/collection/array.nit:718 */
5720 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5721 /* ../lib/standard/collection/array.nit:281 */
5724 /* compiling/compiling_icode.nit:736 */
5725 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5726 if (!once_value_15
) {
5727 fra
.me
.REG
[7] = BOX_NativeString("));");
5729 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5730 once_value_15
= fra
.me
.REG
[7];
5731 register_static_object(&once_value_15
);
5732 } else fra
.me
.REG
[7] = once_value_15
;
5733 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5735 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5736 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5738 /* compiling/compiling_icode.nit:737 */
5739 if (!once_value_16
) {
5740 if (!once_value_17
) {
5741 fra
.me
.REG
[6] = BOX_NativeString("ascii");
5743 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5744 once_value_17
= fra
.me
.REG
[6];
5745 register_static_object(&once_value_17
);
5746 } else fra
.me
.REG
[6] = once_value_17
;
5747 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5748 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5749 once_value_16
= fra
.me
.REG
[6];
5750 register_static_object(&once_value_16
);
5751 } else fra
.me
.REG
[6] = once_value_16
;
5752 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5753 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5754 if (UNTAG_Bool(REGB1
)) {
5756 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5759 if (UNTAG_Bool(REGB1
)) {
5760 /* compiling/compiling_icode.nit:738 */
5762 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5763 if (!once_value_18
) {
5764 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Int(");
5765 REGB1
= TAG_Int(19);
5766 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5767 once_value_18
= fra
.me
.REG
[7];
5768 register_static_object(&once_value_18
);
5769 } else fra
.me
.REG
[7] = once_value_18
;
5770 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5773 /* ../lib/standard/collection/array.nit:278 */
5774 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5775 /* ../lib/standard/collection/array.nit:280 */
5777 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5778 if (UNTAG_Bool(REGB0
)) {
5780 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5782 /* ../lib/standard/kernel.nit:236 */
5783 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5784 /* ../lib/standard/collection/array.nit:280 */
5785 if (UNTAG_Bool(REGB2
)) {
5786 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5787 if (UNTAG_Bool(REGB2
)) {
5789 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5791 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5792 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5793 if (UNTAG_Bool(REGB0
)) {
5795 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5797 /* ../lib/standard/kernel.nit:235 */
5798 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5800 /* ../lib/standard/collection/array.nit:280 */
5801 REGB0
= TAG_Bool(0);
5804 if (UNTAG_Bool(REGB2
)) {
5806 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
5808 /* ../lib/standard/collection/array.nit:281 */
5809 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5810 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5811 if (UNTAG_Bool(REGB2
)) {
5812 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5814 /* ../lib/standard/collection/array.nit:718 */
5815 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5816 /* ../lib/standard/collection/array.nit:281 */
5819 /* compiling/compiling_icode.nit:738 */
5820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5821 if (!once_value_20
) {
5822 fra
.me
.REG
[7] = BOX_NativeString("))");
5824 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5825 once_value_20
= fra
.me
.REG
[7];
5826 register_static_object(&once_value_20
);
5827 } else fra
.me
.REG
[7] = once_value_20
;
5828 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5830 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5831 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5833 /* compiling/compiling_icode.nit:739 */
5834 if (!once_value_21
) {
5835 if (!once_value_22
) {
5836 fra
.me
.REG
[6] = BOX_NativeString("succ");
5838 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5839 once_value_22
= fra
.me
.REG
[6];
5840 register_static_object(&once_value_22
);
5841 } else fra
.me
.REG
[6] = once_value_22
;
5842 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5843 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5844 once_value_21
= fra
.me
.REG
[6];
5845 register_static_object(&once_value_21
);
5846 } else fra
.me
.REG
[6] = once_value_21
;
5847 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5848 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5849 if (UNTAG_Bool(REGB1
)) {
5851 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5854 if (UNTAG_Bool(REGB1
)) {
5855 /* compiling/compiling_icode.nit:740 */
5857 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5858 if (!once_value_23
) {
5859 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5860 REGB1
= TAG_Int(18);
5861 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5862 once_value_23
= fra
.me
.REG
[7];
5863 register_static_object(&once_value_23
);
5864 } else fra
.me
.REG
[7] = once_value_23
;
5865 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5868 /* ../lib/standard/collection/array.nit:278 */
5869 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5870 /* ../lib/standard/collection/array.nit:280 */
5872 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5873 if (UNTAG_Bool(REGB0
)) {
5875 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5877 /* ../lib/standard/kernel.nit:236 */
5878 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5879 /* ../lib/standard/collection/array.nit:280 */
5880 if (UNTAG_Bool(REGB2
)) {
5881 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5882 if (UNTAG_Bool(REGB2
)) {
5884 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5886 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5887 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5888 if (UNTAG_Bool(REGB0
)) {
5890 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5892 /* ../lib/standard/kernel.nit:235 */
5893 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5895 /* ../lib/standard/collection/array.nit:280 */
5896 REGB0
= TAG_Bool(0);
5899 if (UNTAG_Bool(REGB2
)) {
5901 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
5903 /* ../lib/standard/collection/array.nit:281 */
5904 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5905 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5906 if (UNTAG_Bool(REGB2
)) {
5907 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
5909 /* ../lib/standard/collection/array.nit:718 */
5910 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5911 /* ../lib/standard/collection/array.nit:281 */
5914 /* compiling/compiling_icode.nit:740 */
5915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5916 if (!once_value_25
) {
5917 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
5919 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5920 once_value_25
= fra
.me
.REG
[7];
5921 register_static_object(&once_value_25
);
5922 } else fra
.me
.REG
[7] = once_value_25
;
5923 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5925 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5926 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5928 /* compiling/compiling_icode.nit:741 */
5929 if (!once_value_26
) {
5930 if (!once_value_27
) {
5931 fra
.me
.REG
[6] = BOX_NativeString("prec");
5933 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
5934 once_value_27
= fra
.me
.REG
[6];
5935 register_static_object(&once_value_27
);
5936 } else fra
.me
.REG
[6] = once_value_27
;
5937 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5938 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5939 once_value_26
= fra
.me
.REG
[6];
5940 register_static_object(&once_value_26
);
5941 } else fra
.me
.REG
[6] = once_value_26
;
5942 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5943 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5944 if (UNTAG_Bool(REGB1
)) {
5946 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5949 if (UNTAG_Bool(REGB1
)) {
5950 /* compiling/compiling_icode.nit:742 */
5952 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5953 if (!once_value_28
) {
5954 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5955 REGB1
= TAG_Int(18);
5956 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
5957 once_value_28
= fra
.me
.REG
[7];
5958 register_static_object(&once_value_28
);
5959 } else fra
.me
.REG
[7] = once_value_28
;
5960 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5963 /* ../lib/standard/collection/array.nit:278 */
5964 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5965 /* ../lib/standard/collection/array.nit:280 */
5967 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5968 if (UNTAG_Bool(REGB0
)) {
5970 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5972 /* ../lib/standard/kernel.nit:236 */
5973 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5974 /* ../lib/standard/collection/array.nit:280 */
5975 if (UNTAG_Bool(REGB2
)) {
5976 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5977 if (UNTAG_Bool(REGB2
)) {
5979 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
5981 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5982 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5983 if (UNTAG_Bool(REGB0
)) {
5985 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5987 /* ../lib/standard/kernel.nit:235 */
5988 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5990 /* ../lib/standard/collection/array.nit:280 */
5991 REGB0
= TAG_Bool(0);
5994 if (UNTAG_Bool(REGB2
)) {
5996 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
5998 /* ../lib/standard/collection/array.nit:281 */
5999 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6000 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6001 if (UNTAG_Bool(REGB2
)) {
6002 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6004 /* ../lib/standard/collection/array.nit:718 */
6005 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6006 /* ../lib/standard/collection/array.nit:281 */
6009 /* compiling/compiling_icode.nit:742 */
6010 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6011 if (!once_value_30
) {
6012 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
6014 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6015 once_value_30
= fra
.me
.REG
[7];
6016 register_static_object(&once_value_30
);
6017 } else fra
.me
.REG
[7] = once_value_30
;
6018 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6019 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6020 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6021 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6023 /* compiling/compiling_icode.nit:743 */
6024 if (!once_value_31
) {
6025 if (!once_value_32
) {
6026 fra
.me
.REG
[6] = BOX_NativeString("to_f");
6028 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6029 once_value_32
= fra
.me
.REG
[6];
6030 register_static_object(&once_value_32
);
6031 } else fra
.me
.REG
[6] = once_value_32
;
6032 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6033 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6034 once_value_31
= fra
.me
.REG
[6];
6035 register_static_object(&once_value_31
);
6036 } else fra
.me
.REG
[6] = once_value_31
;
6037 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6038 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6039 if (UNTAG_Bool(REGB1
)) {
6041 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6044 if (UNTAG_Bool(REGB1
)) {
6045 /* compiling/compiling_icode.nit:744 */
6047 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6048 if (!once_value_33
) {
6049 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float((float)UNTAG_Int(");
6050 REGB1
= TAG_Int(27);
6051 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6052 once_value_33
= fra
.me
.REG
[7];
6053 register_static_object(&once_value_33
);
6054 } else fra
.me
.REG
[7] = once_value_33
;
6055 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6058 /* ../lib/standard/collection/array.nit:278 */
6059 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6060 /* ../lib/standard/collection/array.nit:280 */
6062 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6063 if (UNTAG_Bool(REGB0
)) {
6065 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6067 /* ../lib/standard/kernel.nit:236 */
6068 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6069 /* ../lib/standard/collection/array.nit:280 */
6070 if (UNTAG_Bool(REGB2
)) {
6071 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6072 if (UNTAG_Bool(REGB2
)) {
6074 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6076 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6077 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6078 if (UNTAG_Bool(REGB0
)) {
6080 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6082 /* ../lib/standard/kernel.nit:235 */
6083 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6085 /* ../lib/standard/collection/array.nit:280 */
6086 REGB0
= TAG_Bool(0);
6089 if (UNTAG_Bool(REGB2
)) {
6091 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6093 /* ../lib/standard/collection/array.nit:281 */
6094 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6095 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6096 if (UNTAG_Bool(REGB2
)) {
6097 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6099 /* ../lib/standard/collection/array.nit:718 */
6100 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6101 /* ../lib/standard/collection/array.nit:281 */
6104 /* compiling/compiling_icode.nit:744 */
6105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6106 if (!once_value_35
) {
6107 fra
.me
.REG
[7] = BOX_NativeString("))");
6109 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6110 once_value_35
= fra
.me
.REG
[7];
6111 register_static_object(&once_value_35
);
6112 } else fra
.me
.REG
[7] = once_value_35
;
6113 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6115 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6116 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6118 /* compiling/compiling_icode.nit:745 */
6119 if (!once_value_36
) {
6120 if (!once_value_37
) {
6121 fra
.me
.REG
[6] = BOX_NativeString("+");
6123 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6124 once_value_37
= fra
.me
.REG
[6];
6125 register_static_object(&once_value_37
);
6126 } else fra
.me
.REG
[6] = once_value_37
;
6127 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6128 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6129 once_value_36
= fra
.me
.REG
[6];
6130 register_static_object(&once_value_36
);
6131 } else fra
.me
.REG
[6] = once_value_36
;
6132 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6133 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6134 if (UNTAG_Bool(REGB1
)) {
6136 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6139 if (UNTAG_Bool(REGB1
)) {
6140 /* compiling/compiling_icode.nit:746 */
6142 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6143 if (!once_value_38
) {
6144 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6145 REGB1
= TAG_Int(18);
6146 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6147 once_value_38
= fra
.me
.REG
[7];
6148 register_static_object(&once_value_38
);
6149 } else fra
.me
.REG
[7] = once_value_38
;
6150 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6153 /* ../lib/standard/collection/array.nit:278 */
6154 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6155 /* ../lib/standard/collection/array.nit:280 */
6157 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6158 if (UNTAG_Bool(REGB0
)) {
6160 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6162 /* ../lib/standard/kernel.nit:236 */
6163 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6164 /* ../lib/standard/collection/array.nit:280 */
6165 if (UNTAG_Bool(REGB2
)) {
6166 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6167 if (UNTAG_Bool(REGB2
)) {
6169 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6171 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6172 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6173 if (UNTAG_Bool(REGB0
)) {
6175 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6177 /* ../lib/standard/kernel.nit:235 */
6178 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6180 /* ../lib/standard/collection/array.nit:280 */
6181 REGB0
= TAG_Bool(0);
6184 if (UNTAG_Bool(REGB2
)) {
6186 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6188 /* ../lib/standard/collection/array.nit:281 */
6189 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6190 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6191 if (UNTAG_Bool(REGB2
)) {
6192 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6194 /* ../lib/standard/collection/array.nit:718 */
6195 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6196 /* ../lib/standard/collection/array.nit:281 */
6199 /* compiling/compiling_icode.nit:746 */
6200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6201 if (!once_value_40
) {
6202 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
6203 REGB1
= TAG_Int(12);
6204 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6205 once_value_40
= fra
.me
.REG
[7];
6206 register_static_object(&once_value_40
);
6207 } else fra
.me
.REG
[7] = once_value_40
;
6208 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6211 /* ../lib/standard/collection/array.nit:278 */
6212 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6213 /* ../lib/standard/collection/array.nit:280 */
6215 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6216 if (UNTAG_Bool(REGB0
)) {
6218 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6220 /* ../lib/standard/kernel.nit:236 */
6221 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6222 /* ../lib/standard/collection/array.nit:280 */
6223 if (UNTAG_Bool(REGB2
)) {
6224 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6225 if (UNTAG_Bool(REGB2
)) {
6227 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6229 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6230 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6231 if (UNTAG_Bool(REGB0
)) {
6233 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6235 /* ../lib/standard/kernel.nit:235 */
6236 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6238 /* ../lib/standard/collection/array.nit:280 */
6239 REGB0
= TAG_Bool(0);
6242 if (UNTAG_Bool(REGB2
)) {
6244 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6246 /* ../lib/standard/collection/array.nit:281 */
6247 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6248 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6249 if (UNTAG_Bool(REGB2
)) {
6250 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6252 /* ../lib/standard/collection/array.nit:718 */
6253 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6254 /* ../lib/standard/collection/array.nit:281 */
6257 /* compiling/compiling_icode.nit:746 */
6258 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6259 if (!once_value_42
) {
6260 fra
.me
.REG
[7] = BOX_NativeString("))");
6262 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6263 once_value_42
= fra
.me
.REG
[7];
6264 register_static_object(&once_value_42
);
6265 } else fra
.me
.REG
[7] = once_value_42
;
6266 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6268 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6269 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6271 /* compiling/compiling_icode.nit:747 */
6272 if (!once_value_43
) {
6273 if (!once_value_44
) {
6274 fra
.me
.REG
[6] = BOX_NativeString("-");
6276 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6277 once_value_44
= fra
.me
.REG
[6];
6278 register_static_object(&once_value_44
);
6279 } else fra
.me
.REG
[6] = once_value_44
;
6280 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6281 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6282 once_value_43
= fra
.me
.REG
[6];
6283 register_static_object(&once_value_43
);
6284 } else fra
.me
.REG
[6] = once_value_43
;
6285 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6286 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6287 if (UNTAG_Bool(REGB1
)) {
6289 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6292 if (UNTAG_Bool(REGB1
)) {
6293 /* compiling/compiling_icode.nit:748 */
6295 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6296 if (!once_value_45
) {
6297 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6298 REGB1
= TAG_Int(18);
6299 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6300 once_value_45
= fra
.me
.REG
[7];
6301 register_static_object(&once_value_45
);
6302 } else fra
.me
.REG
[7] = once_value_45
;
6303 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6306 /* ../lib/standard/collection/array.nit:278 */
6307 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6308 /* ../lib/standard/collection/array.nit:280 */
6310 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6311 if (UNTAG_Bool(REGB0
)) {
6313 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6315 /* ../lib/standard/kernel.nit:236 */
6316 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6317 /* ../lib/standard/collection/array.nit:280 */
6318 if (UNTAG_Bool(REGB2
)) {
6319 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6320 if (UNTAG_Bool(REGB2
)) {
6322 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6324 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6325 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6326 if (UNTAG_Bool(REGB0
)) {
6328 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6330 /* ../lib/standard/kernel.nit:235 */
6331 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6333 /* ../lib/standard/collection/array.nit:280 */
6334 REGB0
= TAG_Bool(0);
6337 if (UNTAG_Bool(REGB2
)) {
6339 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6341 /* ../lib/standard/collection/array.nit:281 */
6342 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6343 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6344 if (UNTAG_Bool(REGB2
)) {
6345 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6347 /* ../lib/standard/collection/array.nit:718 */
6348 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6349 /* ../lib/standard/collection/array.nit:281 */
6352 /* compiling/compiling_icode.nit:748 */
6353 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6354 if (!once_value_47
) {
6355 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Int(");
6356 REGB1
= TAG_Int(12);
6357 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6358 once_value_47
= fra
.me
.REG
[7];
6359 register_static_object(&once_value_47
);
6360 } else fra
.me
.REG
[7] = once_value_47
;
6361 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6364 /* ../lib/standard/collection/array.nit:278 */
6365 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6366 /* ../lib/standard/collection/array.nit:280 */
6368 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6369 if (UNTAG_Bool(REGB0
)) {
6371 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6373 /* ../lib/standard/kernel.nit:236 */
6374 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6375 /* ../lib/standard/collection/array.nit:280 */
6376 if (UNTAG_Bool(REGB2
)) {
6377 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6378 if (UNTAG_Bool(REGB2
)) {
6380 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6382 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6383 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6384 if (UNTAG_Bool(REGB0
)) {
6386 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6388 /* ../lib/standard/kernel.nit:235 */
6389 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6391 /* ../lib/standard/collection/array.nit:280 */
6392 REGB0
= TAG_Bool(0);
6395 if (UNTAG_Bool(REGB2
)) {
6397 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6399 /* ../lib/standard/collection/array.nit:281 */
6400 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6401 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6402 if (UNTAG_Bool(REGB2
)) {
6403 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6405 /* ../lib/standard/collection/array.nit:718 */
6406 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6407 /* ../lib/standard/collection/array.nit:281 */
6410 /* compiling/compiling_icode.nit:748 */
6411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6412 if (!once_value_49
) {
6413 fra
.me
.REG
[7] = BOX_NativeString("))");
6415 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6416 once_value_49
= fra
.me
.REG
[7];
6417 register_static_object(&once_value_49
);
6418 } else fra
.me
.REG
[7] = once_value_49
;
6419 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6420 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6421 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6422 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6424 /* compiling/compiling_icode.nit:749 */
6425 if (!once_value_50
) {
6426 if (!once_value_51
) {
6427 fra
.me
.REG
[6] = BOX_NativeString("*");
6429 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6430 once_value_51
= fra
.me
.REG
[6];
6431 register_static_object(&once_value_51
);
6432 } else fra
.me
.REG
[6] = once_value_51
;
6433 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6434 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6435 once_value_50
= fra
.me
.REG
[6];
6436 register_static_object(&once_value_50
);
6437 } else fra
.me
.REG
[6] = once_value_50
;
6438 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6439 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6440 if (UNTAG_Bool(REGB1
)) {
6442 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6445 if (UNTAG_Bool(REGB1
)) {
6446 /* compiling/compiling_icode.nit:750 */
6448 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6449 if (!once_value_52
) {
6450 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6451 REGB1
= TAG_Int(18);
6452 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6453 once_value_52
= fra
.me
.REG
[7];
6454 register_static_object(&once_value_52
);
6455 } else fra
.me
.REG
[7] = once_value_52
;
6456 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6459 /* ../lib/standard/collection/array.nit:278 */
6460 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6461 /* ../lib/standard/collection/array.nit:280 */
6463 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6464 if (UNTAG_Bool(REGB0
)) {
6466 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6468 /* ../lib/standard/kernel.nit:236 */
6469 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6470 /* ../lib/standard/collection/array.nit:280 */
6471 if (UNTAG_Bool(REGB2
)) {
6472 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6473 if (UNTAG_Bool(REGB2
)) {
6475 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6477 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6478 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6479 if (UNTAG_Bool(REGB0
)) {
6481 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6483 /* ../lib/standard/kernel.nit:235 */
6484 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6486 /* ../lib/standard/collection/array.nit:280 */
6487 REGB0
= TAG_Bool(0);
6490 if (UNTAG_Bool(REGB2
)) {
6492 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6494 /* ../lib/standard/collection/array.nit:281 */
6495 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6496 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6497 if (UNTAG_Bool(REGB2
)) {
6498 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6500 /* ../lib/standard/collection/array.nit:718 */
6501 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6502 /* ../lib/standard/collection/array.nit:281 */
6505 /* compiling/compiling_icode.nit:750 */
6506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6507 if (!once_value_54
) {
6508 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Int(");
6509 REGB1
= TAG_Int(12);
6510 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6511 once_value_54
= fra
.me
.REG
[7];
6512 register_static_object(&once_value_54
);
6513 } else fra
.me
.REG
[7] = once_value_54
;
6514 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6517 /* ../lib/standard/collection/array.nit:278 */
6518 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6519 /* ../lib/standard/collection/array.nit:280 */
6521 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6522 if (UNTAG_Bool(REGB0
)) {
6524 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6526 /* ../lib/standard/kernel.nit:236 */
6527 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6528 /* ../lib/standard/collection/array.nit:280 */
6529 if (UNTAG_Bool(REGB2
)) {
6530 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6531 if (UNTAG_Bool(REGB2
)) {
6533 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6535 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6536 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6537 if (UNTAG_Bool(REGB0
)) {
6539 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6541 /* ../lib/standard/kernel.nit:235 */
6542 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6544 /* ../lib/standard/collection/array.nit:280 */
6545 REGB0
= TAG_Bool(0);
6548 if (UNTAG_Bool(REGB2
)) {
6550 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6552 /* ../lib/standard/collection/array.nit:281 */
6553 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6554 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6555 if (UNTAG_Bool(REGB2
)) {
6556 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6558 /* ../lib/standard/collection/array.nit:718 */
6559 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6560 /* ../lib/standard/collection/array.nit:281 */
6563 /* compiling/compiling_icode.nit:750 */
6564 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6565 if (!once_value_56
) {
6566 fra
.me
.REG
[7] = BOX_NativeString("))");
6568 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6569 once_value_56
= fra
.me
.REG
[7];
6570 register_static_object(&once_value_56
);
6571 } else fra
.me
.REG
[7] = once_value_56
;
6572 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6573 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6574 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6575 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6577 /* compiling/compiling_icode.nit:751 */
6578 if (!once_value_57
) {
6579 if (!once_value_58
) {
6580 fra
.me
.REG
[6] = BOX_NativeString("/");
6582 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6583 once_value_58
= fra
.me
.REG
[6];
6584 register_static_object(&once_value_58
);
6585 } else fra
.me
.REG
[6] = once_value_58
;
6586 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6587 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6588 once_value_57
= fra
.me
.REG
[6];
6589 register_static_object(&once_value_57
);
6590 } else fra
.me
.REG
[6] = once_value_57
;
6591 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6592 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6593 if (UNTAG_Bool(REGB1
)) {
6595 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6598 if (UNTAG_Bool(REGB1
)) {
6599 /* compiling/compiling_icode.nit:752 */
6601 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6602 if (!once_value_59
) {
6603 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6604 REGB1
= TAG_Int(18);
6605 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6606 once_value_59
= fra
.me
.REG
[7];
6607 register_static_object(&once_value_59
);
6608 } else fra
.me
.REG
[7] = once_value_59
;
6609 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6610 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6612 /* ../lib/standard/collection/array.nit:278 */
6613 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6614 /* ../lib/standard/collection/array.nit:280 */
6616 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6617 if (UNTAG_Bool(REGB0
)) {
6619 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6621 /* ../lib/standard/kernel.nit:236 */
6622 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6623 /* ../lib/standard/collection/array.nit:280 */
6624 if (UNTAG_Bool(REGB2
)) {
6625 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6626 if (UNTAG_Bool(REGB2
)) {
6628 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6630 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6631 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6632 if (UNTAG_Bool(REGB0
)) {
6634 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6636 /* ../lib/standard/kernel.nit:235 */
6637 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6639 /* ../lib/standard/collection/array.nit:280 */
6640 REGB0
= TAG_Bool(0);
6643 if (UNTAG_Bool(REGB2
)) {
6645 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6647 /* ../lib/standard/collection/array.nit:281 */
6648 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6649 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6650 if (UNTAG_Bool(REGB2
)) {
6651 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6653 /* ../lib/standard/collection/array.nit:718 */
6654 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6655 /* ../lib/standard/collection/array.nit:281 */
6658 /* compiling/compiling_icode.nit:752 */
6659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6660 if (!once_value_61
) {
6661 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Int(");
6662 REGB1
= TAG_Int(12);
6663 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6664 once_value_61
= fra
.me
.REG
[7];
6665 register_static_object(&once_value_61
);
6666 } else fra
.me
.REG
[7] = once_value_61
;
6667 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6668 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6670 /* ../lib/standard/collection/array.nit:278 */
6671 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6672 /* ../lib/standard/collection/array.nit:280 */
6674 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6675 if (UNTAG_Bool(REGB0
)) {
6677 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6679 /* ../lib/standard/kernel.nit:236 */
6680 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6681 /* ../lib/standard/collection/array.nit:280 */
6682 if (UNTAG_Bool(REGB2
)) {
6683 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6684 if (UNTAG_Bool(REGB2
)) {
6686 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6688 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6689 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6690 if (UNTAG_Bool(REGB0
)) {
6692 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6694 /* ../lib/standard/kernel.nit:235 */
6695 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6697 /* ../lib/standard/collection/array.nit:280 */
6698 REGB0
= TAG_Bool(0);
6701 if (UNTAG_Bool(REGB2
)) {
6703 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6705 /* ../lib/standard/collection/array.nit:281 */
6706 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6707 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6708 if (UNTAG_Bool(REGB2
)) {
6709 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6711 /* ../lib/standard/collection/array.nit:718 */
6712 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6713 /* ../lib/standard/collection/array.nit:281 */
6716 /* compiling/compiling_icode.nit:752 */
6717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6718 if (!once_value_63
) {
6719 fra
.me
.REG
[7] = BOX_NativeString("))");
6721 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6722 once_value_63
= fra
.me
.REG
[7];
6723 register_static_object(&once_value_63
);
6724 } else fra
.me
.REG
[7] = once_value_63
;
6725 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6727 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6728 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6730 /* compiling/compiling_icode.nit:753 */
6731 if (!once_value_64
) {
6732 if (!once_value_65
) {
6733 fra
.me
.REG
[6] = BOX_NativeString("%");
6735 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6736 once_value_65
= fra
.me
.REG
[6];
6737 register_static_object(&once_value_65
);
6738 } else fra
.me
.REG
[6] = once_value_65
;
6739 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6740 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6741 once_value_64
= fra
.me
.REG
[6];
6742 register_static_object(&once_value_64
);
6743 } else fra
.me
.REG
[6] = once_value_64
;
6744 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6745 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6746 if (UNTAG_Bool(REGB1
)) {
6748 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6751 if (UNTAG_Bool(REGB1
)) {
6752 /* compiling/compiling_icode.nit:754 */
6754 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6755 if (!once_value_66
) {
6756 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6757 REGB1
= TAG_Int(18);
6758 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6759 once_value_66
= fra
.me
.REG
[7];
6760 register_static_object(&once_value_66
);
6761 } else fra
.me
.REG
[7] = once_value_66
;
6762 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6765 /* ../lib/standard/collection/array.nit:278 */
6766 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6767 /* ../lib/standard/collection/array.nit:280 */
6769 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6770 if (UNTAG_Bool(REGB0
)) {
6772 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6774 /* ../lib/standard/kernel.nit:236 */
6775 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6776 /* ../lib/standard/collection/array.nit:280 */
6777 if (UNTAG_Bool(REGB2
)) {
6778 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6779 if (UNTAG_Bool(REGB2
)) {
6781 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6783 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6784 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6785 if (UNTAG_Bool(REGB0
)) {
6787 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6789 /* ../lib/standard/kernel.nit:235 */
6790 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6792 /* ../lib/standard/collection/array.nit:280 */
6793 REGB0
= TAG_Bool(0);
6796 if (UNTAG_Bool(REGB2
)) {
6798 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6800 /* ../lib/standard/collection/array.nit:281 */
6801 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6802 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6803 if (UNTAG_Bool(REGB2
)) {
6804 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6806 /* ../lib/standard/collection/array.nit:718 */
6807 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6808 /* ../lib/standard/collection/array.nit:281 */
6811 /* compiling/compiling_icode.nit:754 */
6812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6813 if (!once_value_68
) {
6814 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Int(");
6815 REGB1
= TAG_Int(12);
6816 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6817 once_value_68
= fra
.me
.REG
[7];
6818 register_static_object(&once_value_68
);
6819 } else fra
.me
.REG
[7] = once_value_68
;
6820 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6823 /* ../lib/standard/collection/array.nit:278 */
6824 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6825 /* ../lib/standard/collection/array.nit:280 */
6827 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6828 if (UNTAG_Bool(REGB0
)) {
6830 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6832 /* ../lib/standard/kernel.nit:236 */
6833 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6834 /* ../lib/standard/collection/array.nit:280 */
6835 if (UNTAG_Bool(REGB2
)) {
6836 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6837 if (UNTAG_Bool(REGB2
)) {
6839 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6841 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6842 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6843 if (UNTAG_Bool(REGB0
)) {
6845 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6847 /* ../lib/standard/kernel.nit:235 */
6848 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6850 /* ../lib/standard/collection/array.nit:280 */
6851 REGB0
= TAG_Bool(0);
6854 if (UNTAG_Bool(REGB2
)) {
6856 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6858 /* ../lib/standard/collection/array.nit:281 */
6859 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6860 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6861 if (UNTAG_Bool(REGB2
)) {
6862 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6864 /* ../lib/standard/collection/array.nit:718 */
6865 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6866 /* ../lib/standard/collection/array.nit:281 */
6869 /* compiling/compiling_icode.nit:754 */
6870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6871 if (!once_value_70
) {
6872 fra
.me
.REG
[7] = BOX_NativeString("))");
6874 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6875 once_value_70
= fra
.me
.REG
[7];
6876 register_static_object(&once_value_70
);
6877 } else fra
.me
.REG
[7] = once_value_70
;
6878 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6880 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6881 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6883 /* compiling/compiling_icode.nit:755 */
6884 if (!once_value_71
) {
6885 if (!once_value_72
) {
6886 fra
.me
.REG
[6] = BOX_NativeString("<");
6888 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
6889 once_value_72
= fra
.me
.REG
[6];
6890 register_static_object(&once_value_72
);
6891 } else fra
.me
.REG
[6] = once_value_72
;
6892 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6893 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6894 once_value_71
= fra
.me
.REG
[6];
6895 register_static_object(&once_value_71
);
6896 } else fra
.me
.REG
[6] = once_value_71
;
6897 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6898 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6899 if (UNTAG_Bool(REGB1
)) {
6901 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6904 if (UNTAG_Bool(REGB1
)) {
6905 /* compiling/compiling_icode.nit:756 */
6907 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6908 if (!once_value_73
) {
6909 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6910 REGB1
= TAG_Int(19);
6911 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6912 once_value_73
= fra
.me
.REG
[7];
6913 register_static_object(&once_value_73
);
6914 } else fra
.me
.REG
[7] = once_value_73
;
6915 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6918 /* ../lib/standard/collection/array.nit:278 */
6919 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6920 /* ../lib/standard/collection/array.nit:280 */
6922 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6923 if (UNTAG_Bool(REGB0
)) {
6925 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6927 /* ../lib/standard/kernel.nit:236 */
6928 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6929 /* ../lib/standard/collection/array.nit:280 */
6930 if (UNTAG_Bool(REGB2
)) {
6931 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6932 if (UNTAG_Bool(REGB2
)) {
6934 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6936 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6937 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6938 if (UNTAG_Bool(REGB0
)) {
6940 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6942 /* ../lib/standard/kernel.nit:235 */
6943 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6945 /* ../lib/standard/collection/array.nit:280 */
6946 REGB0
= TAG_Bool(0);
6949 if (UNTAG_Bool(REGB2
)) {
6951 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
6953 /* ../lib/standard/collection/array.nit:281 */
6954 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6955 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6956 if (UNTAG_Bool(REGB2
)) {
6957 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
6959 /* ../lib/standard/collection/array.nit:718 */
6960 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6961 /* ../lib/standard/collection/array.nit:281 */
6964 /* compiling/compiling_icode.nit:756 */
6965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6966 if (!once_value_75
) {
6967 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Int(");
6968 REGB1
= TAG_Int(12);
6969 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
6970 once_value_75
= fra
.me
.REG
[7];
6971 register_static_object(&once_value_75
);
6972 } else fra
.me
.REG
[7] = once_value_75
;
6973 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6976 /* ../lib/standard/collection/array.nit:278 */
6977 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6978 /* ../lib/standard/collection/array.nit:280 */
6980 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6981 if (UNTAG_Bool(REGB0
)) {
6983 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6985 /* ../lib/standard/kernel.nit:236 */
6986 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6987 /* ../lib/standard/collection/array.nit:280 */
6988 if (UNTAG_Bool(REGB2
)) {
6989 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6990 if (UNTAG_Bool(REGB2
)) {
6992 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
6994 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6995 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6996 if (UNTAG_Bool(REGB0
)) {
6998 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7000 /* ../lib/standard/kernel.nit:235 */
7001 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7003 /* ../lib/standard/collection/array.nit:280 */
7004 REGB0
= TAG_Bool(0);
7007 if (UNTAG_Bool(REGB2
)) {
7009 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7011 /* ../lib/standard/collection/array.nit:281 */
7012 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7013 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7014 if (UNTAG_Bool(REGB2
)) {
7015 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7017 /* ../lib/standard/collection/array.nit:718 */
7018 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7019 /* ../lib/standard/collection/array.nit:281 */
7022 /* compiling/compiling_icode.nit:756 */
7023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7024 if (!once_value_77
) {
7025 fra
.me
.REG
[7] = BOX_NativeString("))");
7027 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7028 once_value_77
= fra
.me
.REG
[7];
7029 register_static_object(&once_value_77
);
7030 } else fra
.me
.REG
[7] = once_value_77
;
7031 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7033 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7034 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7036 /* compiling/compiling_icode.nit:757 */
7037 if (!once_value_78
) {
7038 if (!once_value_79
) {
7039 fra
.me
.REG
[6] = BOX_NativeString(">");
7041 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7042 once_value_79
= fra
.me
.REG
[6];
7043 register_static_object(&once_value_79
);
7044 } else fra
.me
.REG
[6] = once_value_79
;
7045 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7046 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7047 once_value_78
= fra
.me
.REG
[6];
7048 register_static_object(&once_value_78
);
7049 } else fra
.me
.REG
[6] = once_value_78
;
7050 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7051 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7052 if (UNTAG_Bool(REGB1
)) {
7054 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7057 if (UNTAG_Bool(REGB1
)) {
7058 /* compiling/compiling_icode.nit:758 */
7060 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7061 if (!once_value_80
) {
7062 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7063 REGB1
= TAG_Int(19);
7064 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7065 once_value_80
= fra
.me
.REG
[7];
7066 register_static_object(&once_value_80
);
7067 } else fra
.me
.REG
[7] = once_value_80
;
7068 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7071 /* ../lib/standard/collection/array.nit:278 */
7072 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7073 /* ../lib/standard/collection/array.nit:280 */
7075 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7076 if (UNTAG_Bool(REGB0
)) {
7078 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7080 /* ../lib/standard/kernel.nit:236 */
7081 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7082 /* ../lib/standard/collection/array.nit:280 */
7083 if (UNTAG_Bool(REGB2
)) {
7084 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7085 if (UNTAG_Bool(REGB2
)) {
7087 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7089 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7090 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7091 if (UNTAG_Bool(REGB0
)) {
7093 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7095 /* ../lib/standard/kernel.nit:235 */
7096 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7098 /* ../lib/standard/collection/array.nit:280 */
7099 REGB0
= TAG_Bool(0);
7102 if (UNTAG_Bool(REGB2
)) {
7104 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7106 /* ../lib/standard/collection/array.nit:281 */
7107 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7108 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7109 if (UNTAG_Bool(REGB2
)) {
7110 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7112 /* ../lib/standard/collection/array.nit:718 */
7113 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7114 /* ../lib/standard/collection/array.nit:281 */
7117 /* compiling/compiling_icode.nit:758 */
7118 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7119 if (!once_value_82
) {
7120 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Int(");
7121 REGB1
= TAG_Int(12);
7122 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7123 once_value_82
= fra
.me
.REG
[7];
7124 register_static_object(&once_value_82
);
7125 } else fra
.me
.REG
[7] = once_value_82
;
7126 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7127 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7129 /* ../lib/standard/collection/array.nit:278 */
7130 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7131 /* ../lib/standard/collection/array.nit:280 */
7133 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7134 if (UNTAG_Bool(REGB0
)) {
7136 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7138 /* ../lib/standard/kernel.nit:236 */
7139 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7140 /* ../lib/standard/collection/array.nit:280 */
7141 if (UNTAG_Bool(REGB2
)) {
7142 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7143 if (UNTAG_Bool(REGB2
)) {
7145 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7147 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7148 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7149 if (UNTAG_Bool(REGB0
)) {
7151 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7153 /* ../lib/standard/kernel.nit:235 */
7154 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7156 /* ../lib/standard/collection/array.nit:280 */
7157 REGB0
= TAG_Bool(0);
7160 if (UNTAG_Bool(REGB2
)) {
7162 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7164 /* ../lib/standard/collection/array.nit:281 */
7165 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7166 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7167 if (UNTAG_Bool(REGB2
)) {
7168 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7170 /* ../lib/standard/collection/array.nit:718 */
7171 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7172 /* ../lib/standard/collection/array.nit:281 */
7175 /* compiling/compiling_icode.nit:758 */
7176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7177 if (!once_value_84
) {
7178 fra
.me
.REG
[7] = BOX_NativeString("))");
7180 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7181 once_value_84
= fra
.me
.REG
[7];
7182 register_static_object(&once_value_84
);
7183 } else fra
.me
.REG
[7] = once_value_84
;
7184 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7185 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7186 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7187 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7189 /* compiling/compiling_icode.nit:759 */
7190 if (!once_value_85
) {
7191 if (!once_value_86
) {
7192 fra
.me
.REG
[6] = BOX_NativeString("<=");
7194 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7195 once_value_86
= fra
.me
.REG
[6];
7196 register_static_object(&once_value_86
);
7197 } else fra
.me
.REG
[6] = once_value_86
;
7198 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7199 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7200 once_value_85
= fra
.me
.REG
[6];
7201 register_static_object(&once_value_85
);
7202 } else fra
.me
.REG
[6] = once_value_85
;
7203 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7204 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7205 if (UNTAG_Bool(REGB1
)) {
7207 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7210 if (UNTAG_Bool(REGB1
)) {
7211 /* compiling/compiling_icode.nit:760 */
7213 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7214 if (!once_value_87
) {
7215 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7216 REGB1
= TAG_Int(19);
7217 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7218 once_value_87
= fra
.me
.REG
[7];
7219 register_static_object(&once_value_87
);
7220 } else fra
.me
.REG
[7] = once_value_87
;
7221 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7222 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7224 /* ../lib/standard/collection/array.nit:278 */
7225 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7226 /* ../lib/standard/collection/array.nit:280 */
7228 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7229 if (UNTAG_Bool(REGB0
)) {
7231 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7233 /* ../lib/standard/kernel.nit:236 */
7234 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7235 /* ../lib/standard/collection/array.nit:280 */
7236 if (UNTAG_Bool(REGB2
)) {
7237 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7238 if (UNTAG_Bool(REGB2
)) {
7240 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7242 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7243 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7244 if (UNTAG_Bool(REGB0
)) {
7246 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7248 /* ../lib/standard/kernel.nit:235 */
7249 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7251 /* ../lib/standard/collection/array.nit:280 */
7252 REGB0
= TAG_Bool(0);
7255 if (UNTAG_Bool(REGB2
)) {
7257 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7259 /* ../lib/standard/collection/array.nit:281 */
7260 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7261 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7262 if (UNTAG_Bool(REGB2
)) {
7263 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7265 /* ../lib/standard/collection/array.nit:718 */
7266 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7267 /* ../lib/standard/collection/array.nit:281 */
7270 /* compiling/compiling_icode.nit:760 */
7271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7272 if (!once_value_89
) {
7273 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Int(");
7274 REGB1
= TAG_Int(13);
7275 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7276 once_value_89
= fra
.me
.REG
[7];
7277 register_static_object(&once_value_89
);
7278 } else fra
.me
.REG
[7] = once_value_89
;
7279 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7280 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7282 /* ../lib/standard/collection/array.nit:278 */
7283 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7284 /* ../lib/standard/collection/array.nit:280 */
7286 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7287 if (UNTAG_Bool(REGB0
)) {
7289 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7291 /* ../lib/standard/kernel.nit:236 */
7292 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7293 /* ../lib/standard/collection/array.nit:280 */
7294 if (UNTAG_Bool(REGB2
)) {
7295 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7296 if (UNTAG_Bool(REGB2
)) {
7298 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7300 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7301 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7302 if (UNTAG_Bool(REGB0
)) {
7304 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7306 /* ../lib/standard/kernel.nit:235 */
7307 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7309 /* ../lib/standard/collection/array.nit:280 */
7310 REGB0
= TAG_Bool(0);
7313 if (UNTAG_Bool(REGB2
)) {
7315 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7317 /* ../lib/standard/collection/array.nit:281 */
7318 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7319 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7320 if (UNTAG_Bool(REGB2
)) {
7321 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7323 /* ../lib/standard/collection/array.nit:718 */
7324 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7325 /* ../lib/standard/collection/array.nit:281 */
7328 /* compiling/compiling_icode.nit:760 */
7329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7330 if (!once_value_91
) {
7331 fra
.me
.REG
[7] = BOX_NativeString("))");
7333 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7334 once_value_91
= fra
.me
.REG
[7];
7335 register_static_object(&once_value_91
);
7336 } else fra
.me
.REG
[7] = once_value_91
;
7337 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7338 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7339 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7340 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7342 /* compiling/compiling_icode.nit:761 */
7343 if (!once_value_92
) {
7344 if (!once_value_93
) {
7345 fra
.me
.REG
[6] = BOX_NativeString(">=");
7347 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7348 once_value_93
= fra
.me
.REG
[6];
7349 register_static_object(&once_value_93
);
7350 } else fra
.me
.REG
[6] = once_value_93
;
7351 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7352 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7353 once_value_92
= fra
.me
.REG
[6];
7354 register_static_object(&once_value_92
);
7355 } else fra
.me
.REG
[6] = once_value_92
;
7356 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7357 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7358 if (UNTAG_Bool(REGB1
)) {
7360 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7363 if (UNTAG_Bool(REGB1
)) {
7364 /* compiling/compiling_icode.nit:762 */
7366 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7367 if (!once_value_94
) {
7368 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7369 REGB1
= TAG_Int(19);
7370 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7371 once_value_94
= fra
.me
.REG
[7];
7372 register_static_object(&once_value_94
);
7373 } else fra
.me
.REG
[7] = once_value_94
;
7374 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7375 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7377 /* ../lib/standard/collection/array.nit:278 */
7378 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7379 /* ../lib/standard/collection/array.nit:280 */
7381 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7382 if (UNTAG_Bool(REGB0
)) {
7384 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7386 /* ../lib/standard/kernel.nit:236 */
7387 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7388 /* ../lib/standard/collection/array.nit:280 */
7389 if (UNTAG_Bool(REGB2
)) {
7390 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7391 if (UNTAG_Bool(REGB2
)) {
7393 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7395 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7396 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7397 if (UNTAG_Bool(REGB0
)) {
7399 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7401 /* ../lib/standard/kernel.nit:235 */
7402 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7404 /* ../lib/standard/collection/array.nit:280 */
7405 REGB0
= TAG_Bool(0);
7408 if (UNTAG_Bool(REGB2
)) {
7410 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7412 /* ../lib/standard/collection/array.nit:281 */
7413 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7414 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7415 if (UNTAG_Bool(REGB2
)) {
7416 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7418 /* ../lib/standard/collection/array.nit:718 */
7419 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7420 /* ../lib/standard/collection/array.nit:281 */
7423 /* compiling/compiling_icode.nit:762 */
7424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7425 if (!once_value_96
) {
7426 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Int(");
7427 REGB1
= TAG_Int(13);
7428 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7429 once_value_96
= fra
.me
.REG
[7];
7430 register_static_object(&once_value_96
);
7431 } else fra
.me
.REG
[7] = once_value_96
;
7432 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7433 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7435 /* ../lib/standard/collection/array.nit:278 */
7436 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7437 /* ../lib/standard/collection/array.nit:280 */
7439 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7440 if (UNTAG_Bool(REGB0
)) {
7442 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7444 /* ../lib/standard/kernel.nit:236 */
7445 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7446 /* ../lib/standard/collection/array.nit:280 */
7447 if (UNTAG_Bool(REGB2
)) {
7448 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7449 if (UNTAG_Bool(REGB2
)) {
7451 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7453 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7454 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7455 if (UNTAG_Bool(REGB0
)) {
7457 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7459 /* ../lib/standard/kernel.nit:235 */
7460 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7462 /* ../lib/standard/collection/array.nit:280 */
7463 REGB0
= TAG_Bool(0);
7466 if (UNTAG_Bool(REGB2
)) {
7468 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7470 /* ../lib/standard/collection/array.nit:281 */
7471 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7472 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7473 if (UNTAG_Bool(REGB2
)) {
7474 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7476 /* ../lib/standard/collection/array.nit:718 */
7477 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7478 /* ../lib/standard/collection/array.nit:281 */
7481 /* compiling/compiling_icode.nit:762 */
7482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7483 if (!once_value_98
) {
7484 fra
.me
.REG
[7] = BOX_NativeString("))");
7486 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7487 once_value_98
= fra
.me
.REG
[7];
7488 register_static_object(&once_value_98
);
7489 } else fra
.me
.REG
[7] = once_value_98
;
7490 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7492 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7493 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7495 /* compiling/compiling_icode.nit:763 */
7496 if (!once_value_99
) {
7497 if (!once_value_100
) {
7498 fra
.me
.REG
[6] = BOX_NativeString("lshift");
7500 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7501 once_value_100
= fra
.me
.REG
[6];
7502 register_static_object(&once_value_100
);
7503 } else fra
.me
.REG
[6] = once_value_100
;
7504 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7505 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7506 once_value_99
= fra
.me
.REG
[6];
7507 register_static_object(&once_value_99
);
7508 } else fra
.me
.REG
[6] = once_value_99
;
7509 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7510 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7511 if (UNTAG_Bool(REGB1
)) {
7513 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7516 if (UNTAG_Bool(REGB1
)) {
7517 /* compiling/compiling_icode.nit:764 */
7519 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7520 if (!once_value_101
) {
7521 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7522 REGB1
= TAG_Int(18);
7523 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7524 once_value_101
= fra
.me
.REG
[7];
7525 register_static_object(&once_value_101
);
7526 } else fra
.me
.REG
[7] = once_value_101
;
7527 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7528 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7530 /* ../lib/standard/collection/array.nit:278 */
7531 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7532 /* ../lib/standard/collection/array.nit:280 */
7534 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7535 if (UNTAG_Bool(REGB0
)) {
7537 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7539 /* ../lib/standard/kernel.nit:236 */
7540 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7541 /* ../lib/standard/collection/array.nit:280 */
7542 if (UNTAG_Bool(REGB2
)) {
7543 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7544 if (UNTAG_Bool(REGB2
)) {
7546 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7548 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7549 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7550 if (UNTAG_Bool(REGB0
)) {
7552 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7554 /* ../lib/standard/kernel.nit:235 */
7555 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7557 /* ../lib/standard/collection/array.nit:280 */
7558 REGB0
= TAG_Bool(0);
7561 if (UNTAG_Bool(REGB2
)) {
7563 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7565 /* ../lib/standard/collection/array.nit:281 */
7566 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7567 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7568 if (UNTAG_Bool(REGB2
)) {
7569 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7571 /* ../lib/standard/collection/array.nit:718 */
7572 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7573 /* ../lib/standard/collection/array.nit:281 */
7576 /* compiling/compiling_icode.nit:764 */
7577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7578 if (!once_value_103
) {
7579 fra
.me
.REG
[7] = BOX_NativeString(")<<UNTAG_Int(");
7580 REGB1
= TAG_Int(13);
7581 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7582 once_value_103
= fra
.me
.REG
[7];
7583 register_static_object(&once_value_103
);
7584 } else fra
.me
.REG
[7] = once_value_103
;
7585 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7588 /* ../lib/standard/collection/array.nit:278 */
7589 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7590 /* ../lib/standard/collection/array.nit:280 */
7592 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7593 if (UNTAG_Bool(REGB0
)) {
7595 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7597 /* ../lib/standard/kernel.nit:236 */
7598 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7599 /* ../lib/standard/collection/array.nit:280 */
7600 if (UNTAG_Bool(REGB2
)) {
7601 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7602 if (UNTAG_Bool(REGB2
)) {
7604 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7606 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7607 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7608 if (UNTAG_Bool(REGB0
)) {
7610 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7612 /* ../lib/standard/kernel.nit:235 */
7613 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7615 /* ../lib/standard/collection/array.nit:280 */
7616 REGB0
= TAG_Bool(0);
7619 if (UNTAG_Bool(REGB2
)) {
7621 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7623 /* ../lib/standard/collection/array.nit:281 */
7624 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7625 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7626 if (UNTAG_Bool(REGB2
)) {
7627 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7629 /* ../lib/standard/collection/array.nit:718 */
7630 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7631 /* ../lib/standard/collection/array.nit:281 */
7634 /* compiling/compiling_icode.nit:764 */
7635 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7636 if (!once_value_105
) {
7637 fra
.me
.REG
[7] = BOX_NativeString("))");
7639 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7640 once_value_105
= fra
.me
.REG
[7];
7641 register_static_object(&once_value_105
);
7642 } else fra
.me
.REG
[7] = once_value_105
;
7643 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7645 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7646 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7648 /* compiling/compiling_icode.nit:765 */
7649 if (!once_value_106
) {
7650 if (!once_value_107
) {
7651 fra
.me
.REG
[6] = BOX_NativeString("rshift");
7653 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7654 once_value_107
= fra
.me
.REG
[6];
7655 register_static_object(&once_value_107
);
7656 } else fra
.me
.REG
[6] = once_value_107
;
7657 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7658 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7659 once_value_106
= fra
.me
.REG
[6];
7660 register_static_object(&once_value_106
);
7661 } else fra
.me
.REG
[6] = once_value_106
;
7662 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7663 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7664 if (UNTAG_Bool(REGB1
)) {
7666 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7669 if (UNTAG_Bool(REGB1
)) {
7670 /* compiling/compiling_icode.nit:766 */
7672 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7673 if (!once_value_108
) {
7674 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7675 REGB1
= TAG_Int(18);
7676 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7677 once_value_108
= fra
.me
.REG
[7];
7678 register_static_object(&once_value_108
);
7679 } else fra
.me
.REG
[7] = once_value_108
;
7680 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7683 /* ../lib/standard/collection/array.nit:278 */
7684 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7685 /* ../lib/standard/collection/array.nit:280 */
7687 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7688 if (UNTAG_Bool(REGB0
)) {
7690 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7692 /* ../lib/standard/kernel.nit:236 */
7693 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7694 /* ../lib/standard/collection/array.nit:280 */
7695 if (UNTAG_Bool(REGB2
)) {
7696 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7697 if (UNTAG_Bool(REGB2
)) {
7699 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7701 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7702 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7703 if (UNTAG_Bool(REGB0
)) {
7705 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7707 /* ../lib/standard/kernel.nit:235 */
7708 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7710 /* ../lib/standard/collection/array.nit:280 */
7711 REGB0
= TAG_Bool(0);
7714 if (UNTAG_Bool(REGB2
)) {
7716 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7718 /* ../lib/standard/collection/array.nit:281 */
7719 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7720 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7721 if (UNTAG_Bool(REGB2
)) {
7722 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7724 /* ../lib/standard/collection/array.nit:718 */
7725 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7726 /* ../lib/standard/collection/array.nit:281 */
7729 /* compiling/compiling_icode.nit:766 */
7730 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7731 if (!once_value_110
) {
7732 fra
.me
.REG
[7] = BOX_NativeString(")>>UNTAG_Int(");
7733 REGB1
= TAG_Int(13);
7734 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7735 once_value_110
= fra
.me
.REG
[7];
7736 register_static_object(&once_value_110
);
7737 } else fra
.me
.REG
[7] = once_value_110
;
7738 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7741 /* ../lib/standard/collection/array.nit:278 */
7742 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7743 /* ../lib/standard/collection/array.nit:280 */
7745 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7746 if (UNTAG_Bool(REGB0
)) {
7748 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7750 /* ../lib/standard/kernel.nit:236 */
7751 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7752 /* ../lib/standard/collection/array.nit:280 */
7753 if (UNTAG_Bool(REGB2
)) {
7754 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7755 if (UNTAG_Bool(REGB2
)) {
7757 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7759 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7760 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7761 if (UNTAG_Bool(REGB0
)) {
7763 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7765 /* ../lib/standard/kernel.nit:235 */
7766 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7768 /* ../lib/standard/collection/array.nit:280 */
7769 REGB0
= TAG_Bool(0);
7772 if (UNTAG_Bool(REGB2
)) {
7774 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7776 /* ../lib/standard/collection/array.nit:281 */
7777 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7778 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7779 if (UNTAG_Bool(REGB2
)) {
7780 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7782 /* ../lib/standard/collection/array.nit:718 */
7783 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7784 /* ../lib/standard/collection/array.nit:281 */
7787 /* compiling/compiling_icode.nit:766 */
7788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7789 if (!once_value_112
) {
7790 fra
.me
.REG
[7] = BOX_NativeString("))");
7792 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7793 once_value_112
= fra
.me
.REG
[7];
7794 register_static_object(&once_value_112
);
7795 } else fra
.me
.REG
[7] = once_value_112
;
7796 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7798 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7799 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7801 /* compiling/compiling_icode.nit:767 */
7802 if (!once_value_113
) {
7803 if (!once_value_114
) {
7804 fra
.me
.REG
[6] = BOX_NativeString("==");
7806 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7807 once_value_114
= fra
.me
.REG
[6];
7808 register_static_object(&once_value_114
);
7809 } else fra
.me
.REG
[6] = once_value_114
;
7810 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7811 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7812 once_value_113
= fra
.me
.REG
[6];
7813 register_static_object(&once_value_113
);
7814 } else fra
.me
.REG
[6] = once_value_113
;
7815 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7816 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7817 if (UNTAG_Bool(REGB1
)) {
7819 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7822 if (UNTAG_Bool(REGB1
)) {
7823 /* compiling/compiling_icode.nit:768 */
7825 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7826 if (!once_value_115
) {
7827 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7828 REGB1
= TAG_Int(10);
7829 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7830 once_value_115
= fra
.me
.REG
[7];
7831 register_static_object(&once_value_115
);
7832 } else fra
.me
.REG
[7] = once_value_115
;
7833 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7834 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7836 /* ../lib/standard/collection/array.nit:278 */
7837 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7838 /* ../lib/standard/collection/array.nit:280 */
7840 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7841 if (UNTAG_Bool(REGB0
)) {
7843 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7845 /* ../lib/standard/kernel.nit:236 */
7846 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7847 /* ../lib/standard/collection/array.nit:280 */
7848 if (UNTAG_Bool(REGB2
)) {
7849 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7850 if (UNTAG_Bool(REGB2
)) {
7852 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7854 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7855 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7856 if (UNTAG_Bool(REGB0
)) {
7858 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7860 /* ../lib/standard/kernel.nit:235 */
7861 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7863 /* ../lib/standard/collection/array.nit:280 */
7864 REGB0
= TAG_Bool(0);
7867 if (UNTAG_Bool(REGB2
)) {
7869 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7871 /* ../lib/standard/collection/array.nit:281 */
7872 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7873 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7874 if (UNTAG_Bool(REGB2
)) {
7875 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7877 /* ../lib/standard/collection/array.nit:718 */
7878 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7879 /* ../lib/standard/collection/array.nit:281 */
7882 /* compiling/compiling_icode.nit:768 */
7883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7884 if (!once_value_117
) {
7885 fra
.me
.REG
[7] = BOX_NativeString(")==(");
7887 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7888 once_value_117
= fra
.me
.REG
[7];
7889 register_static_object(&once_value_117
);
7890 } else fra
.me
.REG
[7] = once_value_117
;
7891 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7894 /* ../lib/standard/collection/array.nit:278 */
7895 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7896 /* ../lib/standard/collection/array.nit:280 */
7898 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7899 if (UNTAG_Bool(REGB0
)) {
7901 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7903 /* ../lib/standard/kernel.nit:236 */
7904 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7905 /* ../lib/standard/collection/array.nit:280 */
7906 if (UNTAG_Bool(REGB2
)) {
7907 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7908 if (UNTAG_Bool(REGB2
)) {
7910 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
7912 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7913 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7914 if (UNTAG_Bool(REGB0
)) {
7916 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7918 /* ../lib/standard/kernel.nit:235 */
7919 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7921 /* ../lib/standard/collection/array.nit:280 */
7922 REGB0
= TAG_Bool(0);
7925 if (UNTAG_Bool(REGB2
)) {
7927 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
7929 /* ../lib/standard/collection/array.nit:281 */
7930 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7931 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7932 if (UNTAG_Bool(REGB2
)) {
7933 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
7935 /* ../lib/standard/collection/array.nit:718 */
7936 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7937 /* ../lib/standard/collection/array.nit:281 */
7940 /* compiling/compiling_icode.nit:768 */
7941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7942 if (!once_value_119
) {
7943 fra
.me
.REG
[7] = BOX_NativeString("))");
7945 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7946 once_value_119
= fra
.me
.REG
[7];
7947 register_static_object(&once_value_119
);
7948 } else fra
.me
.REG
[7] = once_value_119
;
7949 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7950 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7951 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7952 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7954 /* compiling/compiling_icode.nit:769 */
7955 if (!once_value_120
) {
7956 if (!once_value_121
) {
7957 fra
.me
.REG
[6] = BOX_NativeString("!=");
7959 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
7960 once_value_121
= fra
.me
.REG
[6];
7961 register_static_object(&once_value_121
);
7962 } else fra
.me
.REG
[6] = once_value_121
;
7963 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7964 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7965 once_value_120
= fra
.me
.REG
[6];
7966 register_static_object(&once_value_120
);
7967 } else fra
.me
.REG
[6] = once_value_120
;
7968 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7969 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7970 if (UNTAG_Bool(REGB1
)) {
7972 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7975 if (UNTAG_Bool(REGB1
)) {
7976 /* compiling/compiling_icode.nit:770 */
7978 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7979 if (!once_value_122
) {
7980 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7981 REGB1
= TAG_Int(10);
7982 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
7983 once_value_122
= fra
.me
.REG
[7];
7984 register_static_object(&once_value_122
);
7985 } else fra
.me
.REG
[7] = once_value_122
;
7986 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7987 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7989 /* ../lib/standard/collection/array.nit:278 */
7990 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7991 /* ../lib/standard/collection/array.nit:280 */
7993 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7994 if (UNTAG_Bool(REGB0
)) {
7996 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7998 /* ../lib/standard/kernel.nit:236 */
7999 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8000 /* ../lib/standard/collection/array.nit:280 */
8001 if (UNTAG_Bool(REGB2
)) {
8002 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8003 if (UNTAG_Bool(REGB2
)) {
8005 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8007 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8008 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8009 if (UNTAG_Bool(REGB0
)) {
8011 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8013 /* ../lib/standard/kernel.nit:235 */
8014 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8016 /* ../lib/standard/collection/array.nit:280 */
8017 REGB0
= TAG_Bool(0);
8020 if (UNTAG_Bool(REGB2
)) {
8022 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8024 /* ../lib/standard/collection/array.nit:281 */
8025 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8026 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8027 if (UNTAG_Bool(REGB2
)) {
8028 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8030 /* ../lib/standard/collection/array.nit:718 */
8031 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8032 /* ../lib/standard/collection/array.nit:281 */
8035 /* compiling/compiling_icode.nit:770 */
8036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8037 if (!once_value_124
) {
8038 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
8040 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8041 once_value_124
= fra
.me
.REG
[7];
8042 register_static_object(&once_value_124
);
8043 } else fra
.me
.REG
[7] = once_value_124
;
8044 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8045 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8047 /* ../lib/standard/collection/array.nit:278 */
8048 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8049 /* ../lib/standard/collection/array.nit:280 */
8051 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8052 if (UNTAG_Bool(REGB0
)) {
8054 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8056 /* ../lib/standard/kernel.nit:236 */
8057 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8058 /* ../lib/standard/collection/array.nit:280 */
8059 if (UNTAG_Bool(REGB2
)) {
8060 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8061 if (UNTAG_Bool(REGB2
)) {
8063 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8065 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8066 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8067 if (UNTAG_Bool(REGB0
)) {
8069 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8071 /* ../lib/standard/kernel.nit:235 */
8072 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8074 /* ../lib/standard/collection/array.nit:280 */
8075 REGB0
= TAG_Bool(0);
8078 if (UNTAG_Bool(REGB2
)) {
8080 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8082 /* ../lib/standard/collection/array.nit:281 */
8083 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8084 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8085 if (UNTAG_Bool(REGB2
)) {
8086 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8088 /* ../lib/standard/collection/array.nit:718 */
8089 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8090 /* ../lib/standard/collection/array.nit:281 */
8093 /* compiling/compiling_icode.nit:770 */
8094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8095 if (!once_value_126
) {
8096 fra
.me
.REG
[7] = BOX_NativeString("))");
8098 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8099 once_value_126
= fra
.me
.REG
[7];
8100 register_static_object(&once_value_126
);
8101 } else fra
.me
.REG
[7] = once_value_126
;
8102 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8103 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8104 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8105 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8127 /* compiling/compiling_icode.nit:772 */
8128 if (!once_value_127
) {
8129 if (!once_value_128
) {
8130 fra
.me
.REG
[6] = BOX_NativeString("Float");
8132 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8133 once_value_128
= fra
.me
.REG
[6];
8134 register_static_object(&once_value_128
);
8135 } else fra
.me
.REG
[6] = once_value_128
;
8136 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8137 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8138 once_value_127
= fra
.me
.REG
[6];
8139 register_static_object(&once_value_127
);
8140 } else fra
.me
.REG
[6] = once_value_127
;
8141 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8142 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
8143 if (UNTAG_Bool(REGB1
)) {
8145 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
8148 if (UNTAG_Bool(REGB1
)) {
8149 /* compiling/compiling_icode.nit:773 */
8150 if (!once_value_129
) {
8151 if (!once_value_130
) {
8152 fra
.me
.REG
[6] = BOX_NativeString("object_id");
8154 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8155 once_value_130
= fra
.me
.REG
[6];
8156 register_static_object(&once_value_130
);
8157 } else fra
.me
.REG
[6] = once_value_130
;
8158 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8159 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8160 once_value_129
= fra
.me
.REG
[6];
8161 register_static_object(&once_value_129
);
8162 } else fra
.me
.REG
[6] = once_value_129
;
8163 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8164 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8165 if (UNTAG_Bool(REGB1
)) {
8167 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8170 if (UNTAG_Bool(REGB1
)) {
8171 /* compiling/compiling_icode.nit:774 */
8173 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8174 if (!once_value_131
) {
8175 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
8176 REGB1
= TAG_Int(28);
8177 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8178 once_value_131
= fra
.me
.REG
[7];
8179 register_static_object(&once_value_131
);
8180 } else fra
.me
.REG
[7] = once_value_131
;
8181 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8184 /* ../lib/standard/collection/array.nit:278 */
8185 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8186 /* ../lib/standard/collection/array.nit:280 */
8188 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8189 if (UNTAG_Bool(REGB0
)) {
8191 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8193 /* ../lib/standard/kernel.nit:236 */
8194 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8195 /* ../lib/standard/collection/array.nit:280 */
8196 if (UNTAG_Bool(REGB2
)) {
8197 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8198 if (UNTAG_Bool(REGB2
)) {
8200 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8202 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8203 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8204 if (UNTAG_Bool(REGB0
)) {
8206 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8208 /* ../lib/standard/kernel.nit:235 */
8209 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8211 /* ../lib/standard/collection/array.nit:280 */
8212 REGB0
= TAG_Bool(0);
8215 if (UNTAG_Bool(REGB2
)) {
8217 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8219 /* ../lib/standard/collection/array.nit:281 */
8220 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8221 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8222 if (UNTAG_Bool(REGB2
)) {
8223 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8225 /* ../lib/standard/collection/array.nit:718 */
8226 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8227 /* ../lib/standard/collection/array.nit:281 */
8230 /* compiling/compiling_icode.nit:774 */
8231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8232 if (!once_value_133
) {
8233 fra
.me
.REG
[7] = BOX_NativeString("))");
8235 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8236 once_value_133
= fra
.me
.REG
[7];
8237 register_static_object(&once_value_133
);
8238 } else fra
.me
.REG
[7] = once_value_133
;
8239 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8241 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8242 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8244 /* compiling/compiling_icode.nit:775 */
8245 if (!once_value_134
) {
8246 if (!once_value_135
) {
8247 fra
.me
.REG
[6] = BOX_NativeString("unary -");
8249 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8250 once_value_135
= fra
.me
.REG
[6];
8251 register_static_object(&once_value_135
);
8252 } else fra
.me
.REG
[6] = once_value_135
;
8253 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8254 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8255 once_value_134
= fra
.me
.REG
[6];
8256 register_static_object(&once_value_134
);
8257 } else fra
.me
.REG
[6] = once_value_134
;
8258 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8259 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8260 if (UNTAG_Bool(REGB1
)) {
8262 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8265 if (UNTAG_Bool(REGB1
)) {
8266 /* compiling/compiling_icode.nit:776 */
8268 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8269 if (!once_value_136
) {
8270 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(-UNBOX_Float(");
8271 REGB1
= TAG_Int(23);
8272 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8273 once_value_136
= fra
.me
.REG
[7];
8274 register_static_object(&once_value_136
);
8275 } else fra
.me
.REG
[7] = once_value_136
;
8276 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8277 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8279 /* ../lib/standard/collection/array.nit:278 */
8280 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8281 /* ../lib/standard/collection/array.nit:280 */
8283 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8284 if (UNTAG_Bool(REGB0
)) {
8286 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8288 /* ../lib/standard/kernel.nit:236 */
8289 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8290 /* ../lib/standard/collection/array.nit:280 */
8291 if (UNTAG_Bool(REGB2
)) {
8292 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8293 if (UNTAG_Bool(REGB2
)) {
8295 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8297 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8298 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8299 if (UNTAG_Bool(REGB0
)) {
8301 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8303 /* ../lib/standard/kernel.nit:235 */
8304 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8306 /* ../lib/standard/collection/array.nit:280 */
8307 REGB0
= TAG_Bool(0);
8310 if (UNTAG_Bool(REGB2
)) {
8312 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8314 /* ../lib/standard/collection/array.nit:281 */
8315 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8316 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8317 if (UNTAG_Bool(REGB2
)) {
8318 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8320 /* ../lib/standard/collection/array.nit:718 */
8321 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8322 /* ../lib/standard/collection/array.nit:281 */
8325 /* compiling/compiling_icode.nit:776 */
8326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8327 if (!once_value_138
) {
8328 fra
.me
.REG
[7] = BOX_NativeString("))");
8330 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8331 once_value_138
= fra
.me
.REG
[7];
8332 register_static_object(&once_value_138
);
8333 } else fra
.me
.REG
[7] = once_value_138
;
8334 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8335 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8336 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8337 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8339 /* compiling/compiling_icode.nit:777 */
8340 if (!once_value_139
) {
8341 if (!once_value_140
) {
8342 fra
.me
.REG
[6] = BOX_NativeString("output");
8344 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8345 once_value_140
= fra
.me
.REG
[6];
8346 register_static_object(&once_value_140
);
8347 } else fra
.me
.REG
[6] = once_value_140
;
8348 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8349 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8350 once_value_139
= fra
.me
.REG
[6];
8351 register_static_object(&once_value_139
);
8352 } else fra
.me
.REG
[6] = once_value_139
;
8353 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8354 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8355 if (UNTAG_Bool(REGB1
)) {
8357 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8360 if (UNTAG_Bool(REGB1
)) {
8361 /* compiling/compiling_icode.nit:778 */
8363 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8364 if (!once_value_141
) {
8365 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%f\\n\", UNBOX_Float(");
8366 REGB1
= TAG_Int(27);
8367 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8368 once_value_141
= fra
.me
.REG
[7];
8369 register_static_object(&once_value_141
);
8370 } else fra
.me
.REG
[7] = once_value_141
;
8371 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8374 /* ../lib/standard/collection/array.nit:278 */
8375 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8376 /* ../lib/standard/collection/array.nit:280 */
8378 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8379 if (UNTAG_Bool(REGB0
)) {
8381 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8383 /* ../lib/standard/kernel.nit:236 */
8384 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8385 /* ../lib/standard/collection/array.nit:280 */
8386 if (UNTAG_Bool(REGB2
)) {
8387 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8388 if (UNTAG_Bool(REGB2
)) {
8390 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8392 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8393 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8394 if (UNTAG_Bool(REGB0
)) {
8396 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8398 /* ../lib/standard/kernel.nit:235 */
8399 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8401 /* ../lib/standard/collection/array.nit:280 */
8402 REGB0
= TAG_Bool(0);
8405 if (UNTAG_Bool(REGB2
)) {
8407 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8409 /* ../lib/standard/collection/array.nit:281 */
8410 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8411 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8412 if (UNTAG_Bool(REGB2
)) {
8413 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8415 /* ../lib/standard/collection/array.nit:718 */
8416 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8417 /* ../lib/standard/collection/array.nit:281 */
8420 /* compiling/compiling_icode.nit:778 */
8421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8422 if (!once_value_143
) {
8423 fra
.me
.REG
[7] = BOX_NativeString("));");
8425 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8426 once_value_143
= fra
.me
.REG
[7];
8427 register_static_object(&once_value_143
);
8428 } else fra
.me
.REG
[7] = once_value_143
;
8429 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8430 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8431 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8432 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8434 /* compiling/compiling_icode.nit:779 */
8435 if (!once_value_144
) {
8436 if (!once_value_145
) {
8437 fra
.me
.REG
[6] = BOX_NativeString("to_i");
8439 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8440 once_value_145
= fra
.me
.REG
[6];
8441 register_static_object(&once_value_145
);
8442 } else fra
.me
.REG
[6] = once_value_145
;
8443 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8444 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8445 once_value_144
= fra
.me
.REG
[6];
8446 register_static_object(&once_value_144
);
8447 } else fra
.me
.REG
[6] = once_value_144
;
8448 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8449 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8450 if (UNTAG_Bool(REGB1
)) {
8452 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8455 if (UNTAG_Bool(REGB1
)) {
8456 /* compiling/compiling_icode.nit:780 */
8458 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8459 if (!once_value_146
) {
8460 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
8461 REGB1
= TAG_Int(28);
8462 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8463 once_value_146
= fra
.me
.REG
[7];
8464 register_static_object(&once_value_146
);
8465 } else fra
.me
.REG
[7] = once_value_146
;
8466 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8469 /* ../lib/standard/collection/array.nit:278 */
8470 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8471 /* ../lib/standard/collection/array.nit:280 */
8473 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8474 if (UNTAG_Bool(REGB0
)) {
8476 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8478 /* ../lib/standard/kernel.nit:236 */
8479 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8480 /* ../lib/standard/collection/array.nit:280 */
8481 if (UNTAG_Bool(REGB2
)) {
8482 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8483 if (UNTAG_Bool(REGB2
)) {
8485 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8487 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8488 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8489 if (UNTAG_Bool(REGB0
)) {
8491 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8493 /* ../lib/standard/kernel.nit:235 */
8494 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8496 /* ../lib/standard/collection/array.nit:280 */
8497 REGB0
= TAG_Bool(0);
8500 if (UNTAG_Bool(REGB2
)) {
8502 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8504 /* ../lib/standard/collection/array.nit:281 */
8505 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8506 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8507 if (UNTAG_Bool(REGB2
)) {
8508 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8510 /* ../lib/standard/collection/array.nit:718 */
8511 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8512 /* ../lib/standard/collection/array.nit:281 */
8515 /* compiling/compiling_icode.nit:780 */
8516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8517 if (!once_value_148
) {
8518 fra
.me
.REG
[7] = BOX_NativeString("))");
8520 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8521 once_value_148
= fra
.me
.REG
[7];
8522 register_static_object(&once_value_148
);
8523 } else fra
.me
.REG
[7] = once_value_148
;
8524 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8525 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8526 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8527 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8529 /* compiling/compiling_icode.nit:781 */
8530 if (!once_value_149
) {
8531 if (!once_value_150
) {
8532 fra
.me
.REG
[6] = BOX_NativeString("+");
8534 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8535 once_value_150
= fra
.me
.REG
[6];
8536 register_static_object(&once_value_150
);
8537 } else fra
.me
.REG
[6] = once_value_150
;
8538 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8539 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8540 once_value_149
= fra
.me
.REG
[6];
8541 register_static_object(&once_value_149
);
8542 } else fra
.me
.REG
[6] = once_value_149
;
8543 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8544 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8545 if (UNTAG_Bool(REGB1
)) {
8547 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8550 if (UNTAG_Bool(REGB1
)) {
8551 /* compiling/compiling_icode.nit:782 */
8553 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8554 if (!once_value_151
) {
8555 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8556 REGB1
= TAG_Int(22);
8557 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8558 once_value_151
= fra
.me
.REG
[7];
8559 register_static_object(&once_value_151
);
8560 } else fra
.me
.REG
[7] = once_value_151
;
8561 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8564 /* ../lib/standard/collection/array.nit:278 */
8565 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8566 /* ../lib/standard/collection/array.nit:280 */
8568 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8569 if (UNTAG_Bool(REGB0
)) {
8571 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8573 /* ../lib/standard/kernel.nit:236 */
8574 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8575 /* ../lib/standard/collection/array.nit:280 */
8576 if (UNTAG_Bool(REGB2
)) {
8577 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8578 if (UNTAG_Bool(REGB2
)) {
8580 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8582 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8583 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8584 if (UNTAG_Bool(REGB0
)) {
8586 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8588 /* ../lib/standard/kernel.nit:235 */
8589 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8591 /* ../lib/standard/collection/array.nit:280 */
8592 REGB0
= TAG_Bool(0);
8595 if (UNTAG_Bool(REGB2
)) {
8597 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8599 /* ../lib/standard/collection/array.nit:281 */
8600 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8601 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8602 if (UNTAG_Bool(REGB2
)) {
8603 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8605 /* ../lib/standard/collection/array.nit:718 */
8606 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8607 /* ../lib/standard/collection/array.nit:281 */
8610 /* compiling/compiling_icode.nit:782 */
8611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8612 if (!once_value_153
) {
8613 fra
.me
.REG
[7] = BOX_NativeString(")+UNBOX_Float(");
8614 REGB1
= TAG_Int(14);
8615 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8616 once_value_153
= fra
.me
.REG
[7];
8617 register_static_object(&once_value_153
);
8618 } else fra
.me
.REG
[7] = once_value_153
;
8619 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8620 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8622 /* ../lib/standard/collection/array.nit:278 */
8623 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8624 /* ../lib/standard/collection/array.nit:280 */
8626 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8627 if (UNTAG_Bool(REGB0
)) {
8629 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8631 /* ../lib/standard/kernel.nit:236 */
8632 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8633 /* ../lib/standard/collection/array.nit:280 */
8634 if (UNTAG_Bool(REGB2
)) {
8635 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8636 if (UNTAG_Bool(REGB2
)) {
8638 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8640 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8641 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8642 if (UNTAG_Bool(REGB0
)) {
8644 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8646 /* ../lib/standard/kernel.nit:235 */
8647 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8649 /* ../lib/standard/collection/array.nit:280 */
8650 REGB0
= TAG_Bool(0);
8653 if (UNTAG_Bool(REGB2
)) {
8655 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8657 /* ../lib/standard/collection/array.nit:281 */
8658 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8659 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8660 if (UNTAG_Bool(REGB2
)) {
8661 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8663 /* ../lib/standard/collection/array.nit:718 */
8664 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8665 /* ../lib/standard/collection/array.nit:281 */
8668 /* compiling/compiling_icode.nit:782 */
8669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8670 if (!once_value_155
) {
8671 fra
.me
.REG
[7] = BOX_NativeString("))");
8673 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8674 once_value_155
= fra
.me
.REG
[7];
8675 register_static_object(&once_value_155
);
8676 } else fra
.me
.REG
[7] = once_value_155
;
8677 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8678 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8679 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8680 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8682 /* compiling/compiling_icode.nit:783 */
8683 if (!once_value_156
) {
8684 if (!once_value_157
) {
8685 fra
.me
.REG
[6] = BOX_NativeString("-");
8687 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8688 once_value_157
= fra
.me
.REG
[6];
8689 register_static_object(&once_value_157
);
8690 } else fra
.me
.REG
[6] = once_value_157
;
8691 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8692 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8693 once_value_156
= fra
.me
.REG
[6];
8694 register_static_object(&once_value_156
);
8695 } else fra
.me
.REG
[6] = once_value_156
;
8696 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8697 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8698 if (UNTAG_Bool(REGB1
)) {
8700 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8703 if (UNTAG_Bool(REGB1
)) {
8704 /* compiling/compiling_icode.nit:784 */
8706 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8707 if (!once_value_158
) {
8708 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8709 REGB1
= TAG_Int(22);
8710 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8711 once_value_158
= fra
.me
.REG
[7];
8712 register_static_object(&once_value_158
);
8713 } else fra
.me
.REG
[7] = once_value_158
;
8714 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8715 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8717 /* ../lib/standard/collection/array.nit:278 */
8718 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8719 /* ../lib/standard/collection/array.nit:280 */
8721 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8722 if (UNTAG_Bool(REGB0
)) {
8724 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8726 /* ../lib/standard/kernel.nit:236 */
8727 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8728 /* ../lib/standard/collection/array.nit:280 */
8729 if (UNTAG_Bool(REGB2
)) {
8730 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8731 if (UNTAG_Bool(REGB2
)) {
8733 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8735 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8736 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8737 if (UNTAG_Bool(REGB0
)) {
8739 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8741 /* ../lib/standard/kernel.nit:235 */
8742 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8744 /* ../lib/standard/collection/array.nit:280 */
8745 REGB0
= TAG_Bool(0);
8748 if (UNTAG_Bool(REGB2
)) {
8750 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8752 /* ../lib/standard/collection/array.nit:281 */
8753 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8754 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8755 if (UNTAG_Bool(REGB2
)) {
8756 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8758 /* ../lib/standard/collection/array.nit:718 */
8759 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8760 /* ../lib/standard/collection/array.nit:281 */
8763 /* compiling/compiling_icode.nit:784 */
8764 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8765 if (!once_value_160
) {
8766 fra
.me
.REG
[7] = BOX_NativeString(")-UNBOX_Float(");
8767 REGB1
= TAG_Int(14);
8768 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8769 once_value_160
= fra
.me
.REG
[7];
8770 register_static_object(&once_value_160
);
8771 } else fra
.me
.REG
[7] = once_value_160
;
8772 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8773 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8775 /* ../lib/standard/collection/array.nit:278 */
8776 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8777 /* ../lib/standard/collection/array.nit:280 */
8779 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8780 if (UNTAG_Bool(REGB0
)) {
8782 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8784 /* ../lib/standard/kernel.nit:236 */
8785 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8786 /* ../lib/standard/collection/array.nit:280 */
8787 if (UNTAG_Bool(REGB2
)) {
8788 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8789 if (UNTAG_Bool(REGB2
)) {
8791 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8793 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8794 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8795 if (UNTAG_Bool(REGB0
)) {
8797 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8799 /* ../lib/standard/kernel.nit:235 */
8800 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8802 /* ../lib/standard/collection/array.nit:280 */
8803 REGB0
= TAG_Bool(0);
8806 if (UNTAG_Bool(REGB2
)) {
8808 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8810 /* ../lib/standard/collection/array.nit:281 */
8811 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8812 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8813 if (UNTAG_Bool(REGB2
)) {
8814 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8816 /* ../lib/standard/collection/array.nit:718 */
8817 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8818 /* ../lib/standard/collection/array.nit:281 */
8821 /* compiling/compiling_icode.nit:784 */
8822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8823 if (!once_value_162
) {
8824 fra
.me
.REG
[7] = BOX_NativeString("))");
8826 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8827 once_value_162
= fra
.me
.REG
[7];
8828 register_static_object(&once_value_162
);
8829 } else fra
.me
.REG
[7] = once_value_162
;
8830 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8832 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8833 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8835 /* compiling/compiling_icode.nit:785 */
8836 if (!once_value_163
) {
8837 if (!once_value_164
) {
8838 fra
.me
.REG
[6] = BOX_NativeString("*");
8840 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8841 once_value_164
= fra
.me
.REG
[6];
8842 register_static_object(&once_value_164
);
8843 } else fra
.me
.REG
[6] = once_value_164
;
8844 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8845 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8846 once_value_163
= fra
.me
.REG
[6];
8847 register_static_object(&once_value_163
);
8848 } else fra
.me
.REG
[6] = once_value_163
;
8849 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8850 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8851 if (UNTAG_Bool(REGB1
)) {
8853 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8856 if (UNTAG_Bool(REGB1
)) {
8857 /* compiling/compiling_icode.nit:786 */
8859 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8860 if (!once_value_165
) {
8861 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8862 REGB1
= TAG_Int(22);
8863 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8864 once_value_165
= fra
.me
.REG
[7];
8865 register_static_object(&once_value_165
);
8866 } else fra
.me
.REG
[7] = once_value_165
;
8867 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8870 /* ../lib/standard/collection/array.nit:278 */
8871 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8872 /* ../lib/standard/collection/array.nit:280 */
8874 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8875 if (UNTAG_Bool(REGB0
)) {
8877 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8879 /* ../lib/standard/kernel.nit:236 */
8880 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8881 /* ../lib/standard/collection/array.nit:280 */
8882 if (UNTAG_Bool(REGB2
)) {
8883 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8884 if (UNTAG_Bool(REGB2
)) {
8886 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8888 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8889 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8890 if (UNTAG_Bool(REGB0
)) {
8892 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8894 /* ../lib/standard/kernel.nit:235 */
8895 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8897 /* ../lib/standard/collection/array.nit:280 */
8898 REGB0
= TAG_Bool(0);
8901 if (UNTAG_Bool(REGB2
)) {
8903 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8905 /* ../lib/standard/collection/array.nit:281 */
8906 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8907 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8908 if (UNTAG_Bool(REGB2
)) {
8909 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8911 /* ../lib/standard/collection/array.nit:718 */
8912 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8913 /* ../lib/standard/collection/array.nit:281 */
8916 /* compiling/compiling_icode.nit:786 */
8917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8918 if (!once_value_167
) {
8919 fra
.me
.REG
[7] = BOX_NativeString(")*UNBOX_Float(");
8920 REGB1
= TAG_Int(14);
8921 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8922 once_value_167
= fra
.me
.REG
[7];
8923 register_static_object(&once_value_167
);
8924 } else fra
.me
.REG
[7] = once_value_167
;
8925 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8928 /* ../lib/standard/collection/array.nit:278 */
8929 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8930 /* ../lib/standard/collection/array.nit:280 */
8932 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8933 if (UNTAG_Bool(REGB0
)) {
8935 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8937 /* ../lib/standard/kernel.nit:236 */
8938 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8939 /* ../lib/standard/collection/array.nit:280 */
8940 if (UNTAG_Bool(REGB2
)) {
8941 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8942 if (UNTAG_Bool(REGB2
)) {
8944 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
8946 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8947 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8948 if (UNTAG_Bool(REGB0
)) {
8950 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8952 /* ../lib/standard/kernel.nit:235 */
8953 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8955 /* ../lib/standard/collection/array.nit:280 */
8956 REGB0
= TAG_Bool(0);
8959 if (UNTAG_Bool(REGB2
)) {
8961 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
8963 /* ../lib/standard/collection/array.nit:281 */
8964 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8965 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8966 if (UNTAG_Bool(REGB2
)) {
8967 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
8969 /* ../lib/standard/collection/array.nit:718 */
8970 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8971 /* ../lib/standard/collection/array.nit:281 */
8974 /* compiling/compiling_icode.nit:786 */
8975 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8976 if (!once_value_169
) {
8977 fra
.me
.REG
[7] = BOX_NativeString("))");
8979 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
8980 once_value_169
= fra
.me
.REG
[7];
8981 register_static_object(&once_value_169
);
8982 } else fra
.me
.REG
[7] = once_value_169
;
8983 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8985 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8986 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8988 /* compiling/compiling_icode.nit:787 */
8989 if (!once_value_170
) {
8990 if (!once_value_171
) {
8991 fra
.me
.REG
[6] = BOX_NativeString("/");
8993 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8994 once_value_171
= fra
.me
.REG
[6];
8995 register_static_object(&once_value_171
);
8996 } else fra
.me
.REG
[6] = once_value_171
;
8997 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8998 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8999 once_value_170
= fra
.me
.REG
[6];
9000 register_static_object(&once_value_170
);
9001 } else fra
.me
.REG
[6] = once_value_170
;
9002 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9003 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9004 if (UNTAG_Bool(REGB1
)) {
9006 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9009 if (UNTAG_Bool(REGB1
)) {
9010 /* compiling/compiling_icode.nit:788 */
9012 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9013 if (!once_value_172
) {
9014 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
9015 REGB1
= TAG_Int(22);
9016 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9017 once_value_172
= fra
.me
.REG
[7];
9018 register_static_object(&once_value_172
);
9019 } else fra
.me
.REG
[7] = once_value_172
;
9020 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9023 /* ../lib/standard/collection/array.nit:278 */
9024 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9025 /* ../lib/standard/collection/array.nit:280 */
9027 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9028 if (UNTAG_Bool(REGB0
)) {
9030 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9032 /* ../lib/standard/kernel.nit:236 */
9033 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9034 /* ../lib/standard/collection/array.nit:280 */
9035 if (UNTAG_Bool(REGB2
)) {
9036 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9037 if (UNTAG_Bool(REGB2
)) {
9039 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9041 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9042 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9043 if (UNTAG_Bool(REGB0
)) {
9045 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9047 /* ../lib/standard/kernel.nit:235 */
9048 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9050 /* ../lib/standard/collection/array.nit:280 */
9051 REGB0
= TAG_Bool(0);
9054 if (UNTAG_Bool(REGB2
)) {
9056 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9058 /* ../lib/standard/collection/array.nit:281 */
9059 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9060 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9061 if (UNTAG_Bool(REGB2
)) {
9062 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9064 /* ../lib/standard/collection/array.nit:718 */
9065 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9066 /* ../lib/standard/collection/array.nit:281 */
9069 /* compiling/compiling_icode.nit:788 */
9070 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9071 if (!once_value_174
) {
9072 fra
.me
.REG
[7] = BOX_NativeString(")/UNBOX_Float(");
9073 REGB1
= TAG_Int(14);
9074 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9075 once_value_174
= fra
.me
.REG
[7];
9076 register_static_object(&once_value_174
);
9077 } else fra
.me
.REG
[7] = once_value_174
;
9078 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9081 /* ../lib/standard/collection/array.nit:278 */
9082 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9083 /* ../lib/standard/collection/array.nit:280 */
9085 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9086 if (UNTAG_Bool(REGB0
)) {
9088 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9090 /* ../lib/standard/kernel.nit:236 */
9091 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9092 /* ../lib/standard/collection/array.nit:280 */
9093 if (UNTAG_Bool(REGB2
)) {
9094 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9095 if (UNTAG_Bool(REGB2
)) {
9097 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9099 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9100 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9101 if (UNTAG_Bool(REGB0
)) {
9103 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9105 /* ../lib/standard/kernel.nit:235 */
9106 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9108 /* ../lib/standard/collection/array.nit:280 */
9109 REGB0
= TAG_Bool(0);
9112 if (UNTAG_Bool(REGB2
)) {
9114 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9116 /* ../lib/standard/collection/array.nit:281 */
9117 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9118 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9119 if (UNTAG_Bool(REGB2
)) {
9120 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9122 /* ../lib/standard/collection/array.nit:718 */
9123 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9124 /* ../lib/standard/collection/array.nit:281 */
9127 /* compiling/compiling_icode.nit:788 */
9128 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9129 if (!once_value_176
) {
9130 fra
.me
.REG
[7] = BOX_NativeString("))");
9132 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9133 once_value_176
= fra
.me
.REG
[7];
9134 register_static_object(&once_value_176
);
9135 } else fra
.me
.REG
[7] = once_value_176
;
9136 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9138 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9139 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9141 /* compiling/compiling_icode.nit:789 */
9142 if (!once_value_177
) {
9143 if (!once_value_178
) {
9144 fra
.me
.REG
[6] = BOX_NativeString("<");
9146 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9147 once_value_178
= fra
.me
.REG
[6];
9148 register_static_object(&once_value_178
);
9149 } else fra
.me
.REG
[6] = once_value_178
;
9150 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9151 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9152 once_value_177
= fra
.me
.REG
[6];
9153 register_static_object(&once_value_177
);
9154 } else fra
.me
.REG
[6] = once_value_177
;
9155 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9156 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9157 if (UNTAG_Bool(REGB1
)) {
9159 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9162 if (UNTAG_Bool(REGB1
)) {
9163 /* compiling/compiling_icode.nit:790 */
9165 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9166 if (!once_value_179
) {
9167 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9168 REGB1
= TAG_Int(21);
9169 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9170 once_value_179
= fra
.me
.REG
[7];
9171 register_static_object(&once_value_179
);
9172 } else fra
.me
.REG
[7] = once_value_179
;
9173 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9176 /* ../lib/standard/collection/array.nit:278 */
9177 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9178 /* ../lib/standard/collection/array.nit:280 */
9180 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9181 if (UNTAG_Bool(REGB0
)) {
9183 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9185 /* ../lib/standard/kernel.nit:236 */
9186 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9187 /* ../lib/standard/collection/array.nit:280 */
9188 if (UNTAG_Bool(REGB2
)) {
9189 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9190 if (UNTAG_Bool(REGB2
)) {
9192 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9194 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9195 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9196 if (UNTAG_Bool(REGB0
)) {
9198 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9200 /* ../lib/standard/kernel.nit:235 */
9201 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9203 /* ../lib/standard/collection/array.nit:280 */
9204 REGB0
= TAG_Bool(0);
9207 if (UNTAG_Bool(REGB2
)) {
9209 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9211 /* ../lib/standard/collection/array.nit:281 */
9212 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9213 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9214 if (UNTAG_Bool(REGB2
)) {
9215 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9217 /* ../lib/standard/collection/array.nit:718 */
9218 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9219 /* ../lib/standard/collection/array.nit:281 */
9222 /* compiling/compiling_icode.nit:790 */
9223 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9224 if (!once_value_181
) {
9225 fra
.me
.REG
[7] = BOX_NativeString(")<UNBOX_Float(");
9226 REGB1
= TAG_Int(14);
9227 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9228 once_value_181
= fra
.me
.REG
[7];
9229 register_static_object(&once_value_181
);
9230 } else fra
.me
.REG
[7] = once_value_181
;
9231 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9234 /* ../lib/standard/collection/array.nit:278 */
9235 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9236 /* ../lib/standard/collection/array.nit:280 */
9238 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9239 if (UNTAG_Bool(REGB0
)) {
9241 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9243 /* ../lib/standard/kernel.nit:236 */
9244 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9245 /* ../lib/standard/collection/array.nit:280 */
9246 if (UNTAG_Bool(REGB2
)) {
9247 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9248 if (UNTAG_Bool(REGB2
)) {
9250 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9252 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9253 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9254 if (UNTAG_Bool(REGB0
)) {
9256 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9258 /* ../lib/standard/kernel.nit:235 */
9259 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9261 /* ../lib/standard/collection/array.nit:280 */
9262 REGB0
= TAG_Bool(0);
9265 if (UNTAG_Bool(REGB2
)) {
9267 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9269 /* ../lib/standard/collection/array.nit:281 */
9270 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9271 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9272 if (UNTAG_Bool(REGB2
)) {
9273 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9275 /* ../lib/standard/collection/array.nit:718 */
9276 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9277 /* ../lib/standard/collection/array.nit:281 */
9280 /* compiling/compiling_icode.nit:790 */
9281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9282 if (!once_value_183
) {
9283 fra
.me
.REG
[7] = BOX_NativeString("))");
9285 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9286 once_value_183
= fra
.me
.REG
[7];
9287 register_static_object(&once_value_183
);
9288 } else fra
.me
.REG
[7] = once_value_183
;
9289 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9290 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9291 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9292 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9294 /* compiling/compiling_icode.nit:791 */
9295 if (!once_value_184
) {
9296 if (!once_value_185
) {
9297 fra
.me
.REG
[6] = BOX_NativeString(">");
9299 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9300 once_value_185
= fra
.me
.REG
[6];
9301 register_static_object(&once_value_185
);
9302 } else fra
.me
.REG
[6] = once_value_185
;
9303 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9304 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9305 once_value_184
= fra
.me
.REG
[6];
9306 register_static_object(&once_value_184
);
9307 } else fra
.me
.REG
[6] = once_value_184
;
9308 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9309 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9310 if (UNTAG_Bool(REGB1
)) {
9312 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9315 if (UNTAG_Bool(REGB1
)) {
9316 /* compiling/compiling_icode.nit:792 */
9318 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9319 if (!once_value_186
) {
9320 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9321 REGB1
= TAG_Int(21);
9322 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9323 once_value_186
= fra
.me
.REG
[7];
9324 register_static_object(&once_value_186
);
9325 } else fra
.me
.REG
[7] = once_value_186
;
9326 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9327 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9329 /* ../lib/standard/collection/array.nit:278 */
9330 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9331 /* ../lib/standard/collection/array.nit:280 */
9333 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9334 if (UNTAG_Bool(REGB0
)) {
9336 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9338 /* ../lib/standard/kernel.nit:236 */
9339 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9340 /* ../lib/standard/collection/array.nit:280 */
9341 if (UNTAG_Bool(REGB2
)) {
9342 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9343 if (UNTAG_Bool(REGB2
)) {
9345 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9347 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9348 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9349 if (UNTAG_Bool(REGB0
)) {
9351 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9353 /* ../lib/standard/kernel.nit:235 */
9354 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9356 /* ../lib/standard/collection/array.nit:280 */
9357 REGB0
= TAG_Bool(0);
9360 if (UNTAG_Bool(REGB2
)) {
9362 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9364 /* ../lib/standard/collection/array.nit:281 */
9365 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9366 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9367 if (UNTAG_Bool(REGB2
)) {
9368 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9370 /* ../lib/standard/collection/array.nit:718 */
9371 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9372 /* ../lib/standard/collection/array.nit:281 */
9375 /* compiling/compiling_icode.nit:792 */
9376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9377 if (!once_value_188
) {
9378 fra
.me
.REG
[7] = BOX_NativeString(")>UNBOX_Float(");
9379 REGB1
= TAG_Int(14);
9380 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9381 once_value_188
= fra
.me
.REG
[7];
9382 register_static_object(&once_value_188
);
9383 } else fra
.me
.REG
[7] = once_value_188
;
9384 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9385 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9387 /* ../lib/standard/collection/array.nit:278 */
9388 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9389 /* ../lib/standard/collection/array.nit:280 */
9391 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9392 if (UNTAG_Bool(REGB0
)) {
9394 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9396 /* ../lib/standard/kernel.nit:236 */
9397 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9398 /* ../lib/standard/collection/array.nit:280 */
9399 if (UNTAG_Bool(REGB2
)) {
9400 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9401 if (UNTAG_Bool(REGB2
)) {
9403 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9405 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9406 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9407 if (UNTAG_Bool(REGB0
)) {
9409 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9411 /* ../lib/standard/kernel.nit:235 */
9412 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9414 /* ../lib/standard/collection/array.nit:280 */
9415 REGB0
= TAG_Bool(0);
9418 if (UNTAG_Bool(REGB2
)) {
9420 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9422 /* ../lib/standard/collection/array.nit:281 */
9423 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9424 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9425 if (UNTAG_Bool(REGB2
)) {
9426 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9428 /* ../lib/standard/collection/array.nit:718 */
9429 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9430 /* ../lib/standard/collection/array.nit:281 */
9433 /* compiling/compiling_icode.nit:792 */
9434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9435 if (!once_value_190
) {
9436 fra
.me
.REG
[7] = BOX_NativeString("))");
9438 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9439 once_value_190
= fra
.me
.REG
[7];
9440 register_static_object(&once_value_190
);
9441 } else fra
.me
.REG
[7] = once_value_190
;
9442 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9443 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9444 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9445 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9447 /* compiling/compiling_icode.nit:793 */
9448 if (!once_value_191
) {
9449 if (!once_value_192
) {
9450 fra
.me
.REG
[6] = BOX_NativeString("<=");
9452 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9453 once_value_192
= fra
.me
.REG
[6];
9454 register_static_object(&once_value_192
);
9455 } else fra
.me
.REG
[6] = once_value_192
;
9456 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9457 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9458 once_value_191
= fra
.me
.REG
[6];
9459 register_static_object(&once_value_191
);
9460 } else fra
.me
.REG
[6] = once_value_191
;
9461 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9462 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9463 if (UNTAG_Bool(REGB1
)) {
9465 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9468 if (UNTAG_Bool(REGB1
)) {
9469 /* compiling/compiling_icode.nit:794 */
9471 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9472 if (!once_value_193
) {
9473 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9474 REGB1
= TAG_Int(21);
9475 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9476 once_value_193
= fra
.me
.REG
[7];
9477 register_static_object(&once_value_193
);
9478 } else fra
.me
.REG
[7] = once_value_193
;
9479 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9480 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9482 /* ../lib/standard/collection/array.nit:278 */
9483 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9484 /* ../lib/standard/collection/array.nit:280 */
9486 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9487 if (UNTAG_Bool(REGB0
)) {
9489 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9491 /* ../lib/standard/kernel.nit:236 */
9492 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9493 /* ../lib/standard/collection/array.nit:280 */
9494 if (UNTAG_Bool(REGB2
)) {
9495 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9496 if (UNTAG_Bool(REGB2
)) {
9498 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9500 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9501 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9502 if (UNTAG_Bool(REGB0
)) {
9504 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9506 /* ../lib/standard/kernel.nit:235 */
9507 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9509 /* ../lib/standard/collection/array.nit:280 */
9510 REGB0
= TAG_Bool(0);
9513 if (UNTAG_Bool(REGB2
)) {
9515 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9517 /* ../lib/standard/collection/array.nit:281 */
9518 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9519 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9520 if (UNTAG_Bool(REGB2
)) {
9521 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9523 /* ../lib/standard/collection/array.nit:718 */
9524 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9525 /* ../lib/standard/collection/array.nit:281 */
9528 /* compiling/compiling_icode.nit:794 */
9529 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9530 if (!once_value_195
) {
9531 fra
.me
.REG
[7] = BOX_NativeString(")<=UNBOX_Float(");
9532 REGB1
= TAG_Int(15);
9533 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9534 once_value_195
= fra
.me
.REG
[7];
9535 register_static_object(&once_value_195
);
9536 } else fra
.me
.REG
[7] = once_value_195
;
9537 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9538 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9540 /* ../lib/standard/collection/array.nit:278 */
9541 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9542 /* ../lib/standard/collection/array.nit:280 */
9544 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9545 if (UNTAG_Bool(REGB0
)) {
9547 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9549 /* ../lib/standard/kernel.nit:236 */
9550 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9551 /* ../lib/standard/collection/array.nit:280 */
9552 if (UNTAG_Bool(REGB2
)) {
9553 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9554 if (UNTAG_Bool(REGB2
)) {
9556 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9558 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9559 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9560 if (UNTAG_Bool(REGB0
)) {
9562 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9564 /* ../lib/standard/kernel.nit:235 */
9565 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9567 /* ../lib/standard/collection/array.nit:280 */
9568 REGB0
= TAG_Bool(0);
9571 if (UNTAG_Bool(REGB2
)) {
9573 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9575 /* ../lib/standard/collection/array.nit:281 */
9576 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9577 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9578 if (UNTAG_Bool(REGB2
)) {
9579 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9581 /* ../lib/standard/collection/array.nit:718 */
9582 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9583 /* ../lib/standard/collection/array.nit:281 */
9586 /* compiling/compiling_icode.nit:794 */
9587 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9588 if (!once_value_197
) {
9589 fra
.me
.REG
[7] = BOX_NativeString("))");
9591 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9592 once_value_197
= fra
.me
.REG
[7];
9593 register_static_object(&once_value_197
);
9594 } else fra
.me
.REG
[7] = once_value_197
;
9595 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9597 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9598 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9600 /* compiling/compiling_icode.nit:795 */
9601 if (!once_value_198
) {
9602 if (!once_value_199
) {
9603 fra
.me
.REG
[6] = BOX_NativeString(">=");
9605 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9606 once_value_199
= fra
.me
.REG
[6];
9607 register_static_object(&once_value_199
);
9608 } else fra
.me
.REG
[6] = once_value_199
;
9609 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9610 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9611 once_value_198
= fra
.me
.REG
[6];
9612 register_static_object(&once_value_198
);
9613 } else fra
.me
.REG
[6] = once_value_198
;
9614 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9615 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9616 if (UNTAG_Bool(REGB1
)) {
9618 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9621 if (UNTAG_Bool(REGB1
)) {
9622 /* compiling/compiling_icode.nit:796 */
9624 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9625 if (!once_value_200
) {
9626 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9627 REGB1
= TAG_Int(21);
9628 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9629 once_value_200
= fra
.me
.REG
[7];
9630 register_static_object(&once_value_200
);
9631 } else fra
.me
.REG
[7] = once_value_200
;
9632 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9633 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9635 /* ../lib/standard/collection/array.nit:278 */
9636 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9637 /* ../lib/standard/collection/array.nit:280 */
9639 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9640 if (UNTAG_Bool(REGB0
)) {
9642 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9644 /* ../lib/standard/kernel.nit:236 */
9645 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9646 /* ../lib/standard/collection/array.nit:280 */
9647 if (UNTAG_Bool(REGB2
)) {
9648 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9649 if (UNTAG_Bool(REGB2
)) {
9651 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9653 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9654 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9655 if (UNTAG_Bool(REGB0
)) {
9657 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9659 /* ../lib/standard/kernel.nit:235 */
9660 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9662 /* ../lib/standard/collection/array.nit:280 */
9663 REGB0
= TAG_Bool(0);
9666 if (UNTAG_Bool(REGB2
)) {
9668 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9670 /* ../lib/standard/collection/array.nit:281 */
9671 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9672 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9673 if (UNTAG_Bool(REGB2
)) {
9674 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9676 /* ../lib/standard/collection/array.nit:718 */
9677 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9678 /* ../lib/standard/collection/array.nit:281 */
9681 /* compiling/compiling_icode.nit:796 */
9682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9683 if (!once_value_202
) {
9684 fra
.me
.REG
[7] = BOX_NativeString(")>=UNBOX_Float(");
9685 REGB1
= TAG_Int(15);
9686 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9687 once_value_202
= fra
.me
.REG
[7];
9688 register_static_object(&once_value_202
);
9689 } else fra
.me
.REG
[7] = once_value_202
;
9690 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9693 /* ../lib/standard/collection/array.nit:278 */
9694 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9695 /* ../lib/standard/collection/array.nit:280 */
9697 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9698 if (UNTAG_Bool(REGB0
)) {
9700 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9702 /* ../lib/standard/kernel.nit:236 */
9703 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9704 /* ../lib/standard/collection/array.nit:280 */
9705 if (UNTAG_Bool(REGB2
)) {
9706 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9707 if (UNTAG_Bool(REGB2
)) {
9709 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9711 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9712 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9713 if (UNTAG_Bool(REGB0
)) {
9715 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9717 /* ../lib/standard/kernel.nit:235 */
9718 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9720 /* ../lib/standard/collection/array.nit:280 */
9721 REGB0
= TAG_Bool(0);
9724 if (UNTAG_Bool(REGB2
)) {
9726 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9728 /* ../lib/standard/collection/array.nit:281 */
9729 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9730 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9731 if (UNTAG_Bool(REGB2
)) {
9732 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9734 /* ../lib/standard/collection/array.nit:718 */
9735 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9736 /* ../lib/standard/collection/array.nit:281 */
9739 /* compiling/compiling_icode.nit:796 */
9740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9741 if (!once_value_204
) {
9742 fra
.me
.REG
[7] = BOX_NativeString("))");
9744 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9745 once_value_204
= fra
.me
.REG
[7];
9746 register_static_object(&once_value_204
);
9747 } else fra
.me
.REG
[7] = once_value_204
;
9748 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9750 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9751 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9765 /* compiling/compiling_icode.nit:798 */
9766 if (!once_value_205
) {
9767 if (!once_value_206
) {
9768 fra
.me
.REG
[6] = BOX_NativeString("Char");
9770 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9771 once_value_206
= fra
.me
.REG
[6];
9772 register_static_object(&once_value_206
);
9773 } else fra
.me
.REG
[6] = once_value_206
;
9774 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9775 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9776 once_value_205
= fra
.me
.REG
[6];
9777 register_static_object(&once_value_205
);
9778 } else fra
.me
.REG
[6] = once_value_205
;
9779 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9780 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
9781 if (UNTAG_Bool(REGB1
)) {
9783 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
9786 if (UNTAG_Bool(REGB1
)) {
9787 /* compiling/compiling_icode.nit:799 */
9788 if (!once_value_207
) {
9789 if (!once_value_208
) {
9790 fra
.me
.REG
[6] = BOX_NativeString("object_id");
9792 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9793 once_value_208
= fra
.me
.REG
[6];
9794 register_static_object(&once_value_208
);
9795 } else fra
.me
.REG
[6] = once_value_208
;
9796 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9797 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9798 once_value_207
= fra
.me
.REG
[6];
9799 register_static_object(&once_value_207
);
9800 } else fra
.me
.REG
[6] = once_value_207
;
9801 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9802 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9803 if (UNTAG_Bool(REGB1
)) {
9805 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9808 if (UNTAG_Bool(REGB1
)) {
9809 /* compiling/compiling_icode.nit:800 */
9811 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9812 if (!once_value_209
) {
9813 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
9814 REGB1
= TAG_Int(19);
9815 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9816 once_value_209
= fra
.me
.REG
[7];
9817 register_static_object(&once_value_209
);
9818 } else fra
.me
.REG
[7] = once_value_209
;
9819 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9822 /* ../lib/standard/collection/array.nit:278 */
9823 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9824 /* ../lib/standard/collection/array.nit:280 */
9826 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9827 if (UNTAG_Bool(REGB0
)) {
9829 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9831 /* ../lib/standard/kernel.nit:236 */
9832 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9833 /* ../lib/standard/collection/array.nit:280 */
9834 if (UNTAG_Bool(REGB2
)) {
9835 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9836 if (UNTAG_Bool(REGB2
)) {
9838 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9840 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9841 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9842 if (UNTAG_Bool(REGB0
)) {
9844 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9846 /* ../lib/standard/kernel.nit:235 */
9847 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9849 /* ../lib/standard/collection/array.nit:280 */
9850 REGB0
= TAG_Bool(0);
9853 if (UNTAG_Bool(REGB2
)) {
9855 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9857 /* ../lib/standard/collection/array.nit:281 */
9858 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9859 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9860 if (UNTAG_Bool(REGB2
)) {
9861 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9863 /* ../lib/standard/collection/array.nit:718 */
9864 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9865 /* ../lib/standard/collection/array.nit:281 */
9868 /* compiling/compiling_icode.nit:800 */
9869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9870 if (!once_value_211
) {
9871 fra
.me
.REG
[7] = BOX_NativeString("))");
9873 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9874 once_value_211
= fra
.me
.REG
[7];
9875 register_static_object(&once_value_211
);
9876 } else fra
.me
.REG
[7] = once_value_211
;
9877 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9878 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9879 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9880 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9882 /* compiling/compiling_icode.nit:801 */
9883 if (!once_value_212
) {
9884 if (!once_value_213
) {
9885 fra
.me
.REG
[6] = BOX_NativeString("unary -");
9887 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9888 once_value_213
= fra
.me
.REG
[6];
9889 register_static_object(&once_value_213
);
9890 } else fra
.me
.REG
[6] = once_value_213
;
9891 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9892 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9893 once_value_212
= fra
.me
.REG
[6];
9894 register_static_object(&once_value_212
);
9895 } else fra
.me
.REG
[6] = once_value_212
;
9896 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9897 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9898 if (UNTAG_Bool(REGB1
)) {
9900 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9903 if (UNTAG_Bool(REGB1
)) {
9904 /* compiling/compiling_icode.nit:802 */
9906 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9907 if (!once_value_214
) {
9908 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(-UNTAG_Char(");
9909 REGB1
= TAG_Int(21);
9910 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9911 once_value_214
= fra
.me
.REG
[7];
9912 register_static_object(&once_value_214
);
9913 } else fra
.me
.REG
[7] = once_value_214
;
9914 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9917 /* ../lib/standard/collection/array.nit:278 */
9918 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9919 /* ../lib/standard/collection/array.nit:280 */
9921 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9922 if (UNTAG_Bool(REGB0
)) {
9924 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9926 /* ../lib/standard/kernel.nit:236 */
9927 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9928 /* ../lib/standard/collection/array.nit:280 */
9929 if (UNTAG_Bool(REGB2
)) {
9930 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9931 if (UNTAG_Bool(REGB2
)) {
9933 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
9935 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9936 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9937 if (UNTAG_Bool(REGB0
)) {
9939 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9941 /* ../lib/standard/kernel.nit:235 */
9942 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9944 /* ../lib/standard/collection/array.nit:280 */
9945 REGB0
= TAG_Bool(0);
9948 if (UNTAG_Bool(REGB2
)) {
9950 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
9952 /* ../lib/standard/collection/array.nit:281 */
9953 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9954 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9955 if (UNTAG_Bool(REGB2
)) {
9956 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
9958 /* ../lib/standard/collection/array.nit:718 */
9959 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9960 /* ../lib/standard/collection/array.nit:281 */
9963 /* compiling/compiling_icode.nit:802 */
9964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9965 if (!once_value_216
) {
9966 fra
.me
.REG
[7] = BOX_NativeString("))");
9968 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
9969 once_value_216
= fra
.me
.REG
[7];
9970 register_static_object(&once_value_216
);
9971 } else fra
.me
.REG
[7] = once_value_216
;
9972 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9973 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9974 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9975 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9977 /* compiling/compiling_icode.nit:803 */
9978 if (!once_value_217
) {
9979 if (!once_value_218
) {
9980 fra
.me
.REG
[6] = BOX_NativeString("output");
9982 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
9983 once_value_218
= fra
.me
.REG
[6];
9984 register_static_object(&once_value_218
);
9985 } else fra
.me
.REG
[6] = once_value_218
;
9986 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9987 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9988 once_value_217
= fra
.me
.REG
[6];
9989 register_static_object(&once_value_217
);
9990 } else fra
.me
.REG
[6] = once_value_217
;
9991 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9992 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9993 if (UNTAG_Bool(REGB1
)) {
9995 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9998 if (UNTAG_Bool(REGB1
)) {
9999 /* compiling/compiling_icode.nit:804 */
10000 REGB1
= TAG_Int(3);
10001 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10002 if (!once_value_219
) {
10003 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char(");
10004 REGB1
= TAG_Int(39);
10005 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10006 once_value_219
= fra
.me
.REG
[7];
10007 register_static_object(&once_value_219
);
10008 } else fra
.me
.REG
[7] = once_value_219
;
10009 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10010 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10011 REGB1
= TAG_Int(0);
10012 /* ../lib/standard/collection/array.nit:278 */
10013 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10014 /* ../lib/standard/collection/array.nit:280 */
10015 REGB2
= TAG_Int(0);
10016 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10017 if (UNTAG_Bool(REGB0
)) {
10019 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10021 /* ../lib/standard/kernel.nit:236 */
10022 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10023 /* ../lib/standard/collection/array.nit:280 */
10024 if (UNTAG_Bool(REGB2
)) {
10025 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10026 if (UNTAG_Bool(REGB2
)) {
10028 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10030 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10031 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10032 if (UNTAG_Bool(REGB0
)) {
10034 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10036 /* ../lib/standard/kernel.nit:235 */
10037 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10039 /* ../lib/standard/collection/array.nit:280 */
10040 REGB0
= TAG_Bool(0);
10043 if (UNTAG_Bool(REGB2
)) {
10045 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10047 /* ../lib/standard/collection/array.nit:281 */
10048 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10049 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10050 if (UNTAG_Bool(REGB2
)) {
10051 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10053 /* ../lib/standard/collection/array.nit:718 */
10054 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10055 /* ../lib/standard/collection/array.nit:281 */
10057 label220
: while(0);
10058 /* compiling/compiling_icode.nit:804 */
10059 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10060 if (!once_value_221
) {
10061 fra
.me
.REG
[7] = BOX_NativeString("));");
10062 REGB1
= TAG_Int(3);
10063 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10064 once_value_221
= fra
.me
.REG
[7];
10065 register_static_object(&once_value_221
);
10066 } else fra
.me
.REG
[7] = once_value_221
;
10067 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10068 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10069 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10070 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10072 /* compiling/compiling_icode.nit:805 */
10073 if (!once_value_222
) {
10074 if (!once_value_223
) {
10075 fra
.me
.REG
[6] = BOX_NativeString("ascii");
10076 REGB1
= TAG_Int(5);
10077 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10078 once_value_223
= fra
.me
.REG
[6];
10079 register_static_object(&once_value_223
);
10080 } else fra
.me
.REG
[6] = once_value_223
;
10081 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10082 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10083 once_value_222
= fra
.me
.REG
[6];
10084 register_static_object(&once_value_222
);
10085 } else fra
.me
.REG
[6] = once_value_222
;
10086 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10087 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10088 if (UNTAG_Bool(REGB1
)) {
10090 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10093 if (UNTAG_Bool(REGB1
)) {
10094 /* compiling/compiling_icode.nit:806 */
10095 REGB1
= TAG_Int(3);
10096 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10097 if (!once_value_224
) {
10098 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char(");
10099 REGB1
= TAG_Int(34);
10100 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10101 once_value_224
= fra
.me
.REG
[7];
10102 register_static_object(&once_value_224
);
10103 } else fra
.me
.REG
[7] = once_value_224
;
10104 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10106 REGB1
= TAG_Int(0);
10107 /* ../lib/standard/collection/array.nit:278 */
10108 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10109 /* ../lib/standard/collection/array.nit:280 */
10110 REGB2
= TAG_Int(0);
10111 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10112 if (UNTAG_Bool(REGB0
)) {
10114 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10116 /* ../lib/standard/kernel.nit:236 */
10117 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10118 /* ../lib/standard/collection/array.nit:280 */
10119 if (UNTAG_Bool(REGB2
)) {
10120 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10121 if (UNTAG_Bool(REGB2
)) {
10123 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10125 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10126 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10127 if (UNTAG_Bool(REGB0
)) {
10129 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10131 /* ../lib/standard/kernel.nit:235 */
10132 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10134 /* ../lib/standard/collection/array.nit:280 */
10135 REGB0
= TAG_Bool(0);
10138 if (UNTAG_Bool(REGB2
)) {
10140 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10142 /* ../lib/standard/collection/array.nit:281 */
10143 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10144 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10145 if (UNTAG_Bool(REGB2
)) {
10146 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10148 /* ../lib/standard/collection/array.nit:718 */
10149 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10150 /* ../lib/standard/collection/array.nit:281 */
10152 label225
: while(0);
10153 /* compiling/compiling_icode.nit:806 */
10154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10155 if (!once_value_226
) {
10156 fra
.me
.REG
[7] = BOX_NativeString("))");
10157 REGB1
= TAG_Int(2);
10158 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10159 once_value_226
= fra
.me
.REG
[7];
10160 register_static_object(&once_value_226
);
10161 } else fra
.me
.REG
[7] = once_value_226
;
10162 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10163 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10164 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10165 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10167 /* compiling/compiling_icode.nit:807 */
10168 if (!once_value_227
) {
10169 if (!once_value_228
) {
10170 fra
.me
.REG
[6] = BOX_NativeString("succ");
10171 REGB1
= TAG_Int(4);
10172 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10173 once_value_228
= fra
.me
.REG
[6];
10174 register_static_object(&once_value_228
);
10175 } else fra
.me
.REG
[6] = once_value_228
;
10176 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10177 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10178 once_value_227
= fra
.me
.REG
[6];
10179 register_static_object(&once_value_227
);
10180 } else fra
.me
.REG
[6] = once_value_227
;
10181 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10182 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10183 if (UNTAG_Bool(REGB1
)) {
10185 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10188 if (UNTAG_Bool(REGB1
)) {
10189 /* compiling/compiling_icode.nit:808 */
10190 REGB1
= TAG_Int(3);
10191 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10192 if (!once_value_229
) {
10193 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10194 REGB1
= TAG_Int(20);
10195 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10196 once_value_229
= fra
.me
.REG
[7];
10197 register_static_object(&once_value_229
);
10198 } else fra
.me
.REG
[7] = once_value_229
;
10199 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10201 REGB1
= TAG_Int(0);
10202 /* ../lib/standard/collection/array.nit:278 */
10203 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10204 /* ../lib/standard/collection/array.nit:280 */
10205 REGB2
= TAG_Int(0);
10206 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10207 if (UNTAG_Bool(REGB0
)) {
10209 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10211 /* ../lib/standard/kernel.nit:236 */
10212 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10213 /* ../lib/standard/collection/array.nit:280 */
10214 if (UNTAG_Bool(REGB2
)) {
10215 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10216 if (UNTAG_Bool(REGB2
)) {
10218 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10220 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10221 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10222 if (UNTAG_Bool(REGB0
)) {
10224 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10226 /* ../lib/standard/kernel.nit:235 */
10227 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10229 /* ../lib/standard/collection/array.nit:280 */
10230 REGB0
= TAG_Bool(0);
10233 if (UNTAG_Bool(REGB2
)) {
10235 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10237 /* ../lib/standard/collection/array.nit:281 */
10238 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10239 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10240 if (UNTAG_Bool(REGB2
)) {
10241 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10243 /* ../lib/standard/collection/array.nit:718 */
10244 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10245 /* ../lib/standard/collection/array.nit:281 */
10247 label230
: while(0);
10248 /* compiling/compiling_icode.nit:808 */
10249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10250 if (!once_value_231
) {
10251 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
10252 REGB1
= TAG_Int(4);
10253 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10254 once_value_231
= fra
.me
.REG
[7];
10255 register_static_object(&once_value_231
);
10256 } else fra
.me
.REG
[7] = once_value_231
;
10257 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10258 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10259 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10260 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10262 /* compiling/compiling_icode.nit:809 */
10263 if (!once_value_232
) {
10264 if (!once_value_233
) {
10265 fra
.me
.REG
[6] = BOX_NativeString("prec");
10266 REGB1
= TAG_Int(4);
10267 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10268 once_value_233
= fra
.me
.REG
[6];
10269 register_static_object(&once_value_233
);
10270 } else fra
.me
.REG
[6] = once_value_233
;
10271 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10272 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10273 once_value_232
= fra
.me
.REG
[6];
10274 register_static_object(&once_value_232
);
10275 } else fra
.me
.REG
[6] = once_value_232
;
10276 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10277 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10278 if (UNTAG_Bool(REGB1
)) {
10280 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10283 if (UNTAG_Bool(REGB1
)) {
10284 /* compiling/compiling_icode.nit:810 */
10285 REGB1
= TAG_Int(3);
10286 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10287 if (!once_value_234
) {
10288 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10289 REGB1
= TAG_Int(20);
10290 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10291 once_value_234
= fra
.me
.REG
[7];
10292 register_static_object(&once_value_234
);
10293 } else fra
.me
.REG
[7] = once_value_234
;
10294 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10295 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10296 REGB1
= TAG_Int(0);
10297 /* ../lib/standard/collection/array.nit:278 */
10298 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10299 /* ../lib/standard/collection/array.nit:280 */
10300 REGB2
= TAG_Int(0);
10301 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10302 if (UNTAG_Bool(REGB0
)) {
10304 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10306 /* ../lib/standard/kernel.nit:236 */
10307 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10308 /* ../lib/standard/collection/array.nit:280 */
10309 if (UNTAG_Bool(REGB2
)) {
10310 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10311 if (UNTAG_Bool(REGB2
)) {
10313 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10315 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10316 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10317 if (UNTAG_Bool(REGB0
)) {
10319 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10321 /* ../lib/standard/kernel.nit:235 */
10322 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10324 /* ../lib/standard/collection/array.nit:280 */
10325 REGB0
= TAG_Bool(0);
10328 if (UNTAG_Bool(REGB2
)) {
10330 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10332 /* ../lib/standard/collection/array.nit:281 */
10333 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10334 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10335 if (UNTAG_Bool(REGB2
)) {
10336 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10338 /* ../lib/standard/collection/array.nit:718 */
10339 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10340 /* ../lib/standard/collection/array.nit:281 */
10342 label235
: while(0);
10343 /* compiling/compiling_icode.nit:810 */
10344 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10345 if (!once_value_236
) {
10346 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
10347 REGB1
= TAG_Int(4);
10348 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10349 once_value_236
= fra
.me
.REG
[7];
10350 register_static_object(&once_value_236
);
10351 } else fra
.me
.REG
[7] = once_value_236
;
10352 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10353 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10354 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10355 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10357 /* compiling/compiling_icode.nit:811 */
10358 if (!once_value_237
) {
10359 if (!once_value_238
) {
10360 fra
.me
.REG
[6] = BOX_NativeString("to_i");
10361 REGB1
= TAG_Int(4);
10362 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10363 once_value_238
= fra
.me
.REG
[6];
10364 register_static_object(&once_value_238
);
10365 } else fra
.me
.REG
[6] = once_value_238
;
10366 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10367 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10368 once_value_237
= fra
.me
.REG
[6];
10369 register_static_object(&once_value_237
);
10370 } else fra
.me
.REG
[6] = once_value_237
;
10371 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10372 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10373 if (UNTAG_Bool(REGB1
)) {
10375 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10378 if (UNTAG_Bool(REGB1
)) {
10379 /* compiling/compiling_icode.nit:812 */
10380 REGB1
= TAG_Int(3);
10381 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10382 if (!once_value_239
) {
10383 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
10384 REGB1
= TAG_Int(19);
10385 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10386 once_value_239
= fra
.me
.REG
[7];
10387 register_static_object(&once_value_239
);
10388 } else fra
.me
.REG
[7] = once_value_239
;
10389 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10391 REGB1
= TAG_Int(0);
10392 /* ../lib/standard/collection/array.nit:278 */
10393 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10394 /* ../lib/standard/collection/array.nit:280 */
10395 REGB2
= TAG_Int(0);
10396 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10397 if (UNTAG_Bool(REGB0
)) {
10399 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10401 /* ../lib/standard/kernel.nit:236 */
10402 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10403 /* ../lib/standard/collection/array.nit:280 */
10404 if (UNTAG_Bool(REGB2
)) {
10405 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10406 if (UNTAG_Bool(REGB2
)) {
10408 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10410 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10411 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10412 if (UNTAG_Bool(REGB0
)) {
10414 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10416 /* ../lib/standard/kernel.nit:235 */
10417 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10419 /* ../lib/standard/collection/array.nit:280 */
10420 REGB0
= TAG_Bool(0);
10423 if (UNTAG_Bool(REGB2
)) {
10425 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10427 /* ../lib/standard/collection/array.nit:281 */
10428 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10429 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10430 if (UNTAG_Bool(REGB2
)) {
10431 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10433 /* ../lib/standard/collection/array.nit:718 */
10434 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10435 /* ../lib/standard/collection/array.nit:281 */
10437 label240
: while(0);
10438 /* compiling/compiling_icode.nit:812 */
10439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10440 if (!once_value_241
) {
10441 fra
.me
.REG
[7] = BOX_NativeString(")-'0')");
10442 REGB1
= TAG_Int(6);
10443 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10444 once_value_241
= fra
.me
.REG
[7];
10445 register_static_object(&once_value_241
);
10446 } else fra
.me
.REG
[7] = once_value_241
;
10447 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10448 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10449 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10450 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10452 /* compiling/compiling_icode.nit:813 */
10453 if (!once_value_242
) {
10454 if (!once_value_243
) {
10455 fra
.me
.REG
[6] = BOX_NativeString("+");
10456 REGB1
= TAG_Int(1);
10457 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10458 once_value_243
= fra
.me
.REG
[6];
10459 register_static_object(&once_value_243
);
10460 } else fra
.me
.REG
[6] = once_value_243
;
10461 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10462 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10463 once_value_242
= fra
.me
.REG
[6];
10464 register_static_object(&once_value_242
);
10465 } else fra
.me
.REG
[6] = once_value_242
;
10466 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10467 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10468 if (UNTAG_Bool(REGB1
)) {
10470 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10473 if (UNTAG_Bool(REGB1
)) {
10474 /* compiling/compiling_icode.nit:814 */
10475 REGB1
= TAG_Int(5);
10476 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10477 if (!once_value_244
) {
10478 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10479 REGB1
= TAG_Int(20);
10480 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10481 once_value_244
= fra
.me
.REG
[7];
10482 register_static_object(&once_value_244
);
10483 } else fra
.me
.REG
[7] = once_value_244
;
10484 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10485 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10486 REGB1
= TAG_Int(0);
10487 /* ../lib/standard/collection/array.nit:278 */
10488 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10489 /* ../lib/standard/collection/array.nit:280 */
10490 REGB2
= TAG_Int(0);
10491 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10492 if (UNTAG_Bool(REGB0
)) {
10494 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10496 /* ../lib/standard/kernel.nit:236 */
10497 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10498 /* ../lib/standard/collection/array.nit:280 */
10499 if (UNTAG_Bool(REGB2
)) {
10500 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10501 if (UNTAG_Bool(REGB2
)) {
10503 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10505 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10506 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10507 if (UNTAG_Bool(REGB0
)) {
10509 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10511 /* ../lib/standard/kernel.nit:235 */
10512 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10514 /* ../lib/standard/collection/array.nit:280 */
10515 REGB0
= TAG_Bool(0);
10518 if (UNTAG_Bool(REGB2
)) {
10520 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10522 /* ../lib/standard/collection/array.nit:281 */
10523 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10524 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10525 if (UNTAG_Bool(REGB2
)) {
10526 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10528 /* ../lib/standard/collection/array.nit:718 */
10529 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10530 /* ../lib/standard/collection/array.nit:281 */
10532 label245
: while(0);
10533 /* compiling/compiling_icode.nit:814 */
10534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10535 if (!once_value_246
) {
10536 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Char(");
10537 REGB1
= TAG_Int(13);
10538 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10539 once_value_246
= fra
.me
.REG
[7];
10540 register_static_object(&once_value_246
);
10541 } else fra
.me
.REG
[7] = once_value_246
;
10542 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10544 REGB1
= TAG_Int(1);
10545 /* ../lib/standard/collection/array.nit:278 */
10546 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10547 /* ../lib/standard/collection/array.nit:280 */
10548 REGB2
= TAG_Int(0);
10549 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10550 if (UNTAG_Bool(REGB0
)) {
10552 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10554 /* ../lib/standard/kernel.nit:236 */
10555 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10556 /* ../lib/standard/collection/array.nit:280 */
10557 if (UNTAG_Bool(REGB2
)) {
10558 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10559 if (UNTAG_Bool(REGB2
)) {
10561 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10563 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10564 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10565 if (UNTAG_Bool(REGB0
)) {
10567 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10569 /* ../lib/standard/kernel.nit:235 */
10570 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10572 /* ../lib/standard/collection/array.nit:280 */
10573 REGB0
= TAG_Bool(0);
10576 if (UNTAG_Bool(REGB2
)) {
10578 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10580 /* ../lib/standard/collection/array.nit:281 */
10581 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10582 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10583 if (UNTAG_Bool(REGB2
)) {
10584 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10586 /* ../lib/standard/collection/array.nit:718 */
10587 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10588 /* ../lib/standard/collection/array.nit:281 */
10590 label247
: while(0);
10591 /* compiling/compiling_icode.nit:814 */
10592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10593 if (!once_value_248
) {
10594 fra
.me
.REG
[7] = BOX_NativeString("))");
10595 REGB1
= TAG_Int(2);
10596 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10597 once_value_248
= fra
.me
.REG
[7];
10598 register_static_object(&once_value_248
);
10599 } else fra
.me
.REG
[7] = once_value_248
;
10600 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10602 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10603 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10605 /* compiling/compiling_icode.nit:815 */
10606 if (!once_value_249
) {
10607 if (!once_value_250
) {
10608 fra
.me
.REG
[6] = BOX_NativeString("-");
10609 REGB1
= TAG_Int(1);
10610 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10611 once_value_250
= fra
.me
.REG
[6];
10612 register_static_object(&once_value_250
);
10613 } else fra
.me
.REG
[6] = once_value_250
;
10614 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10615 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10616 once_value_249
= fra
.me
.REG
[6];
10617 register_static_object(&once_value_249
);
10618 } else fra
.me
.REG
[6] = once_value_249
;
10619 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10620 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10621 if (UNTAG_Bool(REGB1
)) {
10623 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10626 if (UNTAG_Bool(REGB1
)) {
10627 /* compiling/compiling_icode.nit:816 */
10628 REGB1
= TAG_Int(5);
10629 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10630 if (!once_value_251
) {
10631 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10632 REGB1
= TAG_Int(20);
10633 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10634 once_value_251
= fra
.me
.REG
[7];
10635 register_static_object(&once_value_251
);
10636 } else fra
.me
.REG
[7] = once_value_251
;
10637 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10639 REGB1
= TAG_Int(0);
10640 /* ../lib/standard/collection/array.nit:278 */
10641 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10642 /* ../lib/standard/collection/array.nit:280 */
10643 REGB2
= TAG_Int(0);
10644 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10645 if (UNTAG_Bool(REGB0
)) {
10647 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10649 /* ../lib/standard/kernel.nit:236 */
10650 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10651 /* ../lib/standard/collection/array.nit:280 */
10652 if (UNTAG_Bool(REGB2
)) {
10653 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10654 if (UNTAG_Bool(REGB2
)) {
10656 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10658 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10659 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10660 if (UNTAG_Bool(REGB0
)) {
10662 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10664 /* ../lib/standard/kernel.nit:235 */
10665 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10667 /* ../lib/standard/collection/array.nit:280 */
10668 REGB0
= TAG_Bool(0);
10671 if (UNTAG_Bool(REGB2
)) {
10673 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10675 /* ../lib/standard/collection/array.nit:281 */
10676 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10677 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10678 if (UNTAG_Bool(REGB2
)) {
10679 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10681 /* ../lib/standard/collection/array.nit:718 */
10682 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10683 /* ../lib/standard/collection/array.nit:281 */
10685 label252
: while(0);
10686 /* compiling/compiling_icode.nit:816 */
10687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10688 if (!once_value_253
) {
10689 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Char(");
10690 REGB1
= TAG_Int(13);
10691 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10692 once_value_253
= fra
.me
.REG
[7];
10693 register_static_object(&once_value_253
);
10694 } else fra
.me
.REG
[7] = once_value_253
;
10695 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10697 REGB1
= TAG_Int(1);
10698 /* ../lib/standard/collection/array.nit:278 */
10699 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10700 /* ../lib/standard/collection/array.nit:280 */
10701 REGB2
= TAG_Int(0);
10702 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10703 if (UNTAG_Bool(REGB0
)) {
10705 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10707 /* ../lib/standard/kernel.nit:236 */
10708 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10709 /* ../lib/standard/collection/array.nit:280 */
10710 if (UNTAG_Bool(REGB2
)) {
10711 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10712 if (UNTAG_Bool(REGB2
)) {
10714 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10716 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10717 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10718 if (UNTAG_Bool(REGB0
)) {
10720 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10722 /* ../lib/standard/kernel.nit:235 */
10723 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10725 /* ../lib/standard/collection/array.nit:280 */
10726 REGB0
= TAG_Bool(0);
10729 if (UNTAG_Bool(REGB2
)) {
10731 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10733 /* ../lib/standard/collection/array.nit:281 */
10734 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10735 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10736 if (UNTAG_Bool(REGB2
)) {
10737 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10739 /* ../lib/standard/collection/array.nit:718 */
10740 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10741 /* ../lib/standard/collection/array.nit:281 */
10743 label254
: while(0);
10744 /* compiling/compiling_icode.nit:816 */
10745 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10746 if (!once_value_255
) {
10747 fra
.me
.REG
[7] = BOX_NativeString("))");
10748 REGB1
= TAG_Int(2);
10749 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10750 once_value_255
= fra
.me
.REG
[7];
10751 register_static_object(&once_value_255
);
10752 } else fra
.me
.REG
[7] = once_value_255
;
10753 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10755 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10756 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10758 /* compiling/compiling_icode.nit:817 */
10759 if (!once_value_256
) {
10760 if (!once_value_257
) {
10761 fra
.me
.REG
[6] = BOX_NativeString("*");
10762 REGB1
= TAG_Int(1);
10763 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10764 once_value_257
= fra
.me
.REG
[6];
10765 register_static_object(&once_value_257
);
10766 } else fra
.me
.REG
[6] = once_value_257
;
10767 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10768 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10769 once_value_256
= fra
.me
.REG
[6];
10770 register_static_object(&once_value_256
);
10771 } else fra
.me
.REG
[6] = once_value_256
;
10772 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10773 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10774 if (UNTAG_Bool(REGB1
)) {
10776 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10779 if (UNTAG_Bool(REGB1
)) {
10780 /* compiling/compiling_icode.nit:818 */
10781 REGB1
= TAG_Int(5);
10782 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10783 if (!once_value_258
) {
10784 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10785 REGB1
= TAG_Int(20);
10786 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10787 once_value_258
= fra
.me
.REG
[7];
10788 register_static_object(&once_value_258
);
10789 } else fra
.me
.REG
[7] = once_value_258
;
10790 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10792 REGB1
= TAG_Int(0);
10793 /* ../lib/standard/collection/array.nit:278 */
10794 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10795 /* ../lib/standard/collection/array.nit:280 */
10796 REGB2
= TAG_Int(0);
10797 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10798 if (UNTAG_Bool(REGB0
)) {
10800 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10802 /* ../lib/standard/kernel.nit:236 */
10803 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10804 /* ../lib/standard/collection/array.nit:280 */
10805 if (UNTAG_Bool(REGB2
)) {
10806 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10807 if (UNTAG_Bool(REGB2
)) {
10809 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10811 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10812 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10813 if (UNTAG_Bool(REGB0
)) {
10815 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10817 /* ../lib/standard/kernel.nit:235 */
10818 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10820 /* ../lib/standard/collection/array.nit:280 */
10821 REGB0
= TAG_Bool(0);
10824 if (UNTAG_Bool(REGB2
)) {
10826 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10828 /* ../lib/standard/collection/array.nit:281 */
10829 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10830 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10831 if (UNTAG_Bool(REGB2
)) {
10832 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10834 /* ../lib/standard/collection/array.nit:718 */
10835 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10836 /* ../lib/standard/collection/array.nit:281 */
10838 label259
: while(0);
10839 /* compiling/compiling_icode.nit:818 */
10840 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10841 if (!once_value_260
) {
10842 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Char(");
10843 REGB1
= TAG_Int(13);
10844 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10845 once_value_260
= fra
.me
.REG
[7];
10846 register_static_object(&once_value_260
);
10847 } else fra
.me
.REG
[7] = once_value_260
;
10848 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10850 REGB1
= TAG_Int(1);
10851 /* ../lib/standard/collection/array.nit:278 */
10852 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10853 /* ../lib/standard/collection/array.nit:280 */
10854 REGB2
= TAG_Int(0);
10855 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10856 if (UNTAG_Bool(REGB0
)) {
10858 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10860 /* ../lib/standard/kernel.nit:236 */
10861 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10862 /* ../lib/standard/collection/array.nit:280 */
10863 if (UNTAG_Bool(REGB2
)) {
10864 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10865 if (UNTAG_Bool(REGB2
)) {
10867 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10869 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10870 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10871 if (UNTAG_Bool(REGB0
)) {
10873 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10875 /* ../lib/standard/kernel.nit:235 */
10876 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10878 /* ../lib/standard/collection/array.nit:280 */
10879 REGB0
= TAG_Bool(0);
10882 if (UNTAG_Bool(REGB2
)) {
10884 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10886 /* ../lib/standard/collection/array.nit:281 */
10887 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10888 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10889 if (UNTAG_Bool(REGB2
)) {
10890 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10892 /* ../lib/standard/collection/array.nit:718 */
10893 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10894 /* ../lib/standard/collection/array.nit:281 */
10896 label261
: while(0);
10897 /* compiling/compiling_icode.nit:818 */
10898 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10899 if (!once_value_262
) {
10900 fra
.me
.REG
[7] = BOX_NativeString("))");
10901 REGB1
= TAG_Int(2);
10902 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10903 once_value_262
= fra
.me
.REG
[7];
10904 register_static_object(&once_value_262
);
10905 } else fra
.me
.REG
[7] = once_value_262
;
10906 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10908 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10909 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10911 /* compiling/compiling_icode.nit:819 */
10912 if (!once_value_263
) {
10913 if (!once_value_264
) {
10914 fra
.me
.REG
[6] = BOX_NativeString("/");
10915 REGB1
= TAG_Int(1);
10916 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
10917 once_value_264
= fra
.me
.REG
[6];
10918 register_static_object(&once_value_264
);
10919 } else fra
.me
.REG
[6] = once_value_264
;
10920 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10921 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10922 once_value_263
= fra
.me
.REG
[6];
10923 register_static_object(&once_value_263
);
10924 } else fra
.me
.REG
[6] = once_value_263
;
10925 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10926 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10927 if (UNTAG_Bool(REGB1
)) {
10929 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10932 if (UNTAG_Bool(REGB1
)) {
10933 /* compiling/compiling_icode.nit:820 */
10934 REGB1
= TAG_Int(5);
10935 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10936 if (!once_value_265
) {
10937 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10938 REGB1
= TAG_Int(20);
10939 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10940 once_value_265
= fra
.me
.REG
[7];
10941 register_static_object(&once_value_265
);
10942 } else fra
.me
.REG
[7] = once_value_265
;
10943 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10945 REGB1
= TAG_Int(0);
10946 /* ../lib/standard/collection/array.nit:278 */
10947 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10948 /* ../lib/standard/collection/array.nit:280 */
10949 REGB2
= TAG_Int(0);
10950 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10951 if (UNTAG_Bool(REGB0
)) {
10953 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10955 /* ../lib/standard/kernel.nit:236 */
10956 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10957 /* ../lib/standard/collection/array.nit:280 */
10958 if (UNTAG_Bool(REGB2
)) {
10959 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10960 if (UNTAG_Bool(REGB2
)) {
10962 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
10964 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10965 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10966 if (UNTAG_Bool(REGB0
)) {
10968 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10970 /* ../lib/standard/kernel.nit:235 */
10971 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10973 /* ../lib/standard/collection/array.nit:280 */
10974 REGB0
= TAG_Bool(0);
10977 if (UNTAG_Bool(REGB2
)) {
10979 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
10981 /* ../lib/standard/collection/array.nit:281 */
10982 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10983 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10984 if (UNTAG_Bool(REGB2
)) {
10985 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
10987 /* ../lib/standard/collection/array.nit:718 */
10988 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10989 /* ../lib/standard/collection/array.nit:281 */
10991 label266
: while(0);
10992 /* compiling/compiling_icode.nit:820 */
10993 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10994 if (!once_value_267
) {
10995 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Char(");
10996 REGB1
= TAG_Int(13);
10997 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
10998 once_value_267
= fra
.me
.REG
[7];
10999 register_static_object(&once_value_267
);
11000 } else fra
.me
.REG
[7] = once_value_267
;
11001 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11003 REGB1
= TAG_Int(1);
11004 /* ../lib/standard/collection/array.nit:278 */
11005 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11006 /* ../lib/standard/collection/array.nit:280 */
11007 REGB2
= TAG_Int(0);
11008 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11009 if (UNTAG_Bool(REGB0
)) {
11011 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11013 /* ../lib/standard/kernel.nit:236 */
11014 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11015 /* ../lib/standard/collection/array.nit:280 */
11016 if (UNTAG_Bool(REGB2
)) {
11017 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11018 if (UNTAG_Bool(REGB2
)) {
11020 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11022 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11023 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11024 if (UNTAG_Bool(REGB0
)) {
11026 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11028 /* ../lib/standard/kernel.nit:235 */
11029 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11031 /* ../lib/standard/collection/array.nit:280 */
11032 REGB0
= TAG_Bool(0);
11035 if (UNTAG_Bool(REGB2
)) {
11037 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11039 /* ../lib/standard/collection/array.nit:281 */
11040 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11041 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11042 if (UNTAG_Bool(REGB2
)) {
11043 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11045 /* ../lib/standard/collection/array.nit:718 */
11046 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11047 /* ../lib/standard/collection/array.nit:281 */
11049 label268
: while(0);
11050 /* compiling/compiling_icode.nit:820 */
11051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11052 if (!once_value_269
) {
11053 fra
.me
.REG
[7] = BOX_NativeString("))");
11054 REGB1
= TAG_Int(2);
11055 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11056 once_value_269
= fra
.me
.REG
[7];
11057 register_static_object(&once_value_269
);
11058 } else fra
.me
.REG
[7] = once_value_269
;
11059 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11060 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11061 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11062 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11064 /* compiling/compiling_icode.nit:821 */
11065 if (!once_value_270
) {
11066 if (!once_value_271
) {
11067 fra
.me
.REG
[6] = BOX_NativeString("%");
11068 REGB1
= TAG_Int(1);
11069 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11070 once_value_271
= fra
.me
.REG
[6];
11071 register_static_object(&once_value_271
);
11072 } else fra
.me
.REG
[6] = once_value_271
;
11073 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11074 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11075 once_value_270
= fra
.me
.REG
[6];
11076 register_static_object(&once_value_270
);
11077 } else fra
.me
.REG
[6] = once_value_270
;
11078 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11079 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11080 if (UNTAG_Bool(REGB1
)) {
11082 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11085 if (UNTAG_Bool(REGB1
)) {
11086 /* compiling/compiling_icode.nit:822 */
11087 REGB1
= TAG_Int(5);
11088 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11089 if (!once_value_272
) {
11090 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
11091 REGB1
= TAG_Int(20);
11092 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11093 once_value_272
= fra
.me
.REG
[7];
11094 register_static_object(&once_value_272
);
11095 } else fra
.me
.REG
[7] = once_value_272
;
11096 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11098 REGB1
= TAG_Int(0);
11099 /* ../lib/standard/collection/array.nit:278 */
11100 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11101 /* ../lib/standard/collection/array.nit:280 */
11102 REGB2
= TAG_Int(0);
11103 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11104 if (UNTAG_Bool(REGB0
)) {
11106 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11108 /* ../lib/standard/kernel.nit:236 */
11109 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11110 /* ../lib/standard/collection/array.nit:280 */
11111 if (UNTAG_Bool(REGB2
)) {
11112 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11113 if (UNTAG_Bool(REGB2
)) {
11115 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11117 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11118 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11119 if (UNTAG_Bool(REGB0
)) {
11121 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11123 /* ../lib/standard/kernel.nit:235 */
11124 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11126 /* ../lib/standard/collection/array.nit:280 */
11127 REGB0
= TAG_Bool(0);
11130 if (UNTAG_Bool(REGB2
)) {
11132 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11134 /* ../lib/standard/collection/array.nit:281 */
11135 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11136 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11137 if (UNTAG_Bool(REGB2
)) {
11138 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11140 /* ../lib/standard/collection/array.nit:718 */
11141 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11142 /* ../lib/standard/collection/array.nit:281 */
11144 label273
: while(0);
11145 /* compiling/compiling_icode.nit:822 */
11146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11147 if (!once_value_274
) {
11148 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Char(");
11149 REGB1
= TAG_Int(13);
11150 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11151 once_value_274
= fra
.me
.REG
[7];
11152 register_static_object(&once_value_274
);
11153 } else fra
.me
.REG
[7] = once_value_274
;
11154 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11155 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11156 REGB1
= TAG_Int(1);
11157 /* ../lib/standard/collection/array.nit:278 */
11158 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11159 /* ../lib/standard/collection/array.nit:280 */
11160 REGB2
= TAG_Int(0);
11161 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11162 if (UNTAG_Bool(REGB0
)) {
11164 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11166 /* ../lib/standard/kernel.nit:236 */
11167 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11168 /* ../lib/standard/collection/array.nit:280 */
11169 if (UNTAG_Bool(REGB2
)) {
11170 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11171 if (UNTAG_Bool(REGB2
)) {
11173 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11175 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11176 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11177 if (UNTAG_Bool(REGB0
)) {
11179 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11181 /* ../lib/standard/kernel.nit:235 */
11182 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11184 /* ../lib/standard/collection/array.nit:280 */
11185 REGB0
= TAG_Bool(0);
11188 if (UNTAG_Bool(REGB2
)) {
11190 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11192 /* ../lib/standard/collection/array.nit:281 */
11193 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11194 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11195 if (UNTAG_Bool(REGB2
)) {
11196 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11198 /* ../lib/standard/collection/array.nit:718 */
11199 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11200 /* ../lib/standard/collection/array.nit:281 */
11202 label275
: while(0);
11203 /* compiling/compiling_icode.nit:822 */
11204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11205 if (!once_value_276
) {
11206 fra
.me
.REG
[7] = BOX_NativeString("))");
11207 REGB1
= TAG_Int(2);
11208 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11209 once_value_276
= fra
.me
.REG
[7];
11210 register_static_object(&once_value_276
);
11211 } else fra
.me
.REG
[7] = once_value_276
;
11212 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11213 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11214 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11215 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11217 /* compiling/compiling_icode.nit:823 */
11218 if (!once_value_277
) {
11219 if (!once_value_278
) {
11220 fra
.me
.REG
[6] = BOX_NativeString("<");
11221 REGB1
= TAG_Int(1);
11222 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11223 once_value_278
= fra
.me
.REG
[6];
11224 register_static_object(&once_value_278
);
11225 } else fra
.me
.REG
[6] = once_value_278
;
11226 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11227 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11228 once_value_277
= fra
.me
.REG
[6];
11229 register_static_object(&once_value_277
);
11230 } else fra
.me
.REG
[6] = once_value_277
;
11231 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11232 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11233 if (UNTAG_Bool(REGB1
)) {
11235 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11238 if (UNTAG_Bool(REGB1
)) {
11239 /* compiling/compiling_icode.nit:824 */
11240 REGB1
= TAG_Int(5);
11241 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11242 if (!once_value_279
) {
11243 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11244 REGB1
= TAG_Int(20);
11245 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11246 once_value_279
= fra
.me
.REG
[7];
11247 register_static_object(&once_value_279
);
11248 } else fra
.me
.REG
[7] = once_value_279
;
11249 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11250 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11251 REGB1
= TAG_Int(0);
11252 /* ../lib/standard/collection/array.nit:278 */
11253 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11254 /* ../lib/standard/collection/array.nit:280 */
11255 REGB2
= TAG_Int(0);
11256 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11257 if (UNTAG_Bool(REGB0
)) {
11259 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11261 /* ../lib/standard/kernel.nit:236 */
11262 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11263 /* ../lib/standard/collection/array.nit:280 */
11264 if (UNTAG_Bool(REGB2
)) {
11265 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11266 if (UNTAG_Bool(REGB2
)) {
11268 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11270 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11271 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11272 if (UNTAG_Bool(REGB0
)) {
11274 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11276 /* ../lib/standard/kernel.nit:235 */
11277 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11279 /* ../lib/standard/collection/array.nit:280 */
11280 REGB0
= TAG_Bool(0);
11283 if (UNTAG_Bool(REGB2
)) {
11285 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11287 /* ../lib/standard/collection/array.nit:281 */
11288 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11289 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11290 if (UNTAG_Bool(REGB2
)) {
11291 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11293 /* ../lib/standard/collection/array.nit:718 */
11294 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11295 /* ../lib/standard/collection/array.nit:281 */
11297 label280
: while(0);
11298 /* compiling/compiling_icode.nit:824 */
11299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11300 if (!once_value_281
) {
11301 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Char(");
11302 REGB1
= TAG_Int(13);
11303 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11304 once_value_281
= fra
.me
.REG
[7];
11305 register_static_object(&once_value_281
);
11306 } else fra
.me
.REG
[7] = once_value_281
;
11307 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11308 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11309 REGB1
= TAG_Int(1);
11310 /* ../lib/standard/collection/array.nit:278 */
11311 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11312 /* ../lib/standard/collection/array.nit:280 */
11313 REGB2
= TAG_Int(0);
11314 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11315 if (UNTAG_Bool(REGB0
)) {
11317 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11319 /* ../lib/standard/kernel.nit:236 */
11320 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11321 /* ../lib/standard/collection/array.nit:280 */
11322 if (UNTAG_Bool(REGB2
)) {
11323 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11324 if (UNTAG_Bool(REGB2
)) {
11326 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11328 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11329 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11330 if (UNTAG_Bool(REGB0
)) {
11332 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11334 /* ../lib/standard/kernel.nit:235 */
11335 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11337 /* ../lib/standard/collection/array.nit:280 */
11338 REGB0
= TAG_Bool(0);
11341 if (UNTAG_Bool(REGB2
)) {
11343 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11345 /* ../lib/standard/collection/array.nit:281 */
11346 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11347 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11348 if (UNTAG_Bool(REGB2
)) {
11349 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11351 /* ../lib/standard/collection/array.nit:718 */
11352 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11353 /* ../lib/standard/collection/array.nit:281 */
11355 label282
: while(0);
11356 /* compiling/compiling_icode.nit:824 */
11357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11358 if (!once_value_283
) {
11359 fra
.me
.REG
[7] = BOX_NativeString("))");
11360 REGB1
= TAG_Int(2);
11361 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11362 once_value_283
= fra
.me
.REG
[7];
11363 register_static_object(&once_value_283
);
11364 } else fra
.me
.REG
[7] = once_value_283
;
11365 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11367 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11368 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11370 /* compiling/compiling_icode.nit:825 */
11371 if (!once_value_284
) {
11372 if (!once_value_285
) {
11373 fra
.me
.REG
[6] = BOX_NativeString(">");
11374 REGB1
= TAG_Int(1);
11375 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11376 once_value_285
= fra
.me
.REG
[6];
11377 register_static_object(&once_value_285
);
11378 } else fra
.me
.REG
[6] = once_value_285
;
11379 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11380 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11381 once_value_284
= fra
.me
.REG
[6];
11382 register_static_object(&once_value_284
);
11383 } else fra
.me
.REG
[6] = once_value_284
;
11384 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11385 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11386 if (UNTAG_Bool(REGB1
)) {
11388 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11391 if (UNTAG_Bool(REGB1
)) {
11392 /* compiling/compiling_icode.nit:826 */
11393 REGB1
= TAG_Int(5);
11394 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11395 if (!once_value_286
) {
11396 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11397 REGB1
= TAG_Int(20);
11398 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11399 once_value_286
= fra
.me
.REG
[7];
11400 register_static_object(&once_value_286
);
11401 } else fra
.me
.REG
[7] = once_value_286
;
11402 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11404 REGB1
= TAG_Int(0);
11405 /* ../lib/standard/collection/array.nit:278 */
11406 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11407 /* ../lib/standard/collection/array.nit:280 */
11408 REGB2
= TAG_Int(0);
11409 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11410 if (UNTAG_Bool(REGB0
)) {
11412 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11414 /* ../lib/standard/kernel.nit:236 */
11415 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11416 /* ../lib/standard/collection/array.nit:280 */
11417 if (UNTAG_Bool(REGB2
)) {
11418 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11419 if (UNTAG_Bool(REGB2
)) {
11421 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11423 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11424 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11425 if (UNTAG_Bool(REGB0
)) {
11427 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11429 /* ../lib/standard/kernel.nit:235 */
11430 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11432 /* ../lib/standard/collection/array.nit:280 */
11433 REGB0
= TAG_Bool(0);
11436 if (UNTAG_Bool(REGB2
)) {
11438 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11440 /* ../lib/standard/collection/array.nit:281 */
11441 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11442 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11443 if (UNTAG_Bool(REGB2
)) {
11444 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11446 /* ../lib/standard/collection/array.nit:718 */
11447 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11448 /* ../lib/standard/collection/array.nit:281 */
11450 label287
: while(0);
11451 /* compiling/compiling_icode.nit:826 */
11452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11453 if (!once_value_288
) {
11454 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Char(");
11455 REGB1
= TAG_Int(13);
11456 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11457 once_value_288
= fra
.me
.REG
[7];
11458 register_static_object(&once_value_288
);
11459 } else fra
.me
.REG
[7] = once_value_288
;
11460 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11462 REGB1
= TAG_Int(1);
11463 /* ../lib/standard/collection/array.nit:278 */
11464 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11465 /* ../lib/standard/collection/array.nit:280 */
11466 REGB2
= TAG_Int(0);
11467 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11468 if (UNTAG_Bool(REGB0
)) {
11470 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11472 /* ../lib/standard/kernel.nit:236 */
11473 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11474 /* ../lib/standard/collection/array.nit:280 */
11475 if (UNTAG_Bool(REGB2
)) {
11476 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11477 if (UNTAG_Bool(REGB2
)) {
11479 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11481 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11482 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11483 if (UNTAG_Bool(REGB0
)) {
11485 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11487 /* ../lib/standard/kernel.nit:235 */
11488 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11490 /* ../lib/standard/collection/array.nit:280 */
11491 REGB0
= TAG_Bool(0);
11494 if (UNTAG_Bool(REGB2
)) {
11496 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11498 /* ../lib/standard/collection/array.nit:281 */
11499 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11500 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11501 if (UNTAG_Bool(REGB2
)) {
11502 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11504 /* ../lib/standard/collection/array.nit:718 */
11505 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11506 /* ../lib/standard/collection/array.nit:281 */
11508 label289
: while(0);
11509 /* compiling/compiling_icode.nit:826 */
11510 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11511 if (!once_value_290
) {
11512 fra
.me
.REG
[7] = BOX_NativeString("))");
11513 REGB1
= TAG_Int(2);
11514 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11515 once_value_290
= fra
.me
.REG
[7];
11516 register_static_object(&once_value_290
);
11517 } else fra
.me
.REG
[7] = once_value_290
;
11518 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11520 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11521 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11523 /* compiling/compiling_icode.nit:827 */
11524 if (!once_value_291
) {
11525 if (!once_value_292
) {
11526 fra
.me
.REG
[6] = BOX_NativeString("<=");
11527 REGB1
= TAG_Int(2);
11528 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11529 once_value_292
= fra
.me
.REG
[6];
11530 register_static_object(&once_value_292
);
11531 } else fra
.me
.REG
[6] = once_value_292
;
11532 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11533 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11534 once_value_291
= fra
.me
.REG
[6];
11535 register_static_object(&once_value_291
);
11536 } else fra
.me
.REG
[6] = once_value_291
;
11537 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11538 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11539 if (UNTAG_Bool(REGB1
)) {
11541 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11544 if (UNTAG_Bool(REGB1
)) {
11545 /* compiling/compiling_icode.nit:828 */
11546 REGB1
= TAG_Int(5);
11547 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11548 if (!once_value_293
) {
11549 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11550 REGB1
= TAG_Int(20);
11551 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11552 once_value_293
= fra
.me
.REG
[7];
11553 register_static_object(&once_value_293
);
11554 } else fra
.me
.REG
[7] = once_value_293
;
11555 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11557 REGB1
= TAG_Int(0);
11558 /* ../lib/standard/collection/array.nit:278 */
11559 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11560 /* ../lib/standard/collection/array.nit:280 */
11561 REGB2
= TAG_Int(0);
11562 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11563 if (UNTAG_Bool(REGB0
)) {
11565 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11567 /* ../lib/standard/kernel.nit:236 */
11568 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11569 /* ../lib/standard/collection/array.nit:280 */
11570 if (UNTAG_Bool(REGB2
)) {
11571 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11572 if (UNTAG_Bool(REGB2
)) {
11574 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11576 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11577 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11578 if (UNTAG_Bool(REGB0
)) {
11580 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11582 /* ../lib/standard/kernel.nit:235 */
11583 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11585 /* ../lib/standard/collection/array.nit:280 */
11586 REGB0
= TAG_Bool(0);
11589 if (UNTAG_Bool(REGB2
)) {
11591 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11593 /* ../lib/standard/collection/array.nit:281 */
11594 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11595 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11596 if (UNTAG_Bool(REGB2
)) {
11597 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11599 /* ../lib/standard/collection/array.nit:718 */
11600 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11601 /* ../lib/standard/collection/array.nit:281 */
11603 label294
: while(0);
11604 /* compiling/compiling_icode.nit:828 */
11605 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11606 if (!once_value_295
) {
11607 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Char(");
11608 REGB1
= TAG_Int(14);
11609 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11610 once_value_295
= fra
.me
.REG
[7];
11611 register_static_object(&once_value_295
);
11612 } else fra
.me
.REG
[7] = once_value_295
;
11613 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11615 REGB1
= TAG_Int(1);
11616 /* ../lib/standard/collection/array.nit:278 */
11617 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11618 /* ../lib/standard/collection/array.nit:280 */
11619 REGB2
= TAG_Int(0);
11620 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11621 if (UNTAG_Bool(REGB0
)) {
11623 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11625 /* ../lib/standard/kernel.nit:236 */
11626 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11627 /* ../lib/standard/collection/array.nit:280 */
11628 if (UNTAG_Bool(REGB2
)) {
11629 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11630 if (UNTAG_Bool(REGB2
)) {
11632 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11634 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11635 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11636 if (UNTAG_Bool(REGB0
)) {
11638 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11640 /* ../lib/standard/kernel.nit:235 */
11641 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11643 /* ../lib/standard/collection/array.nit:280 */
11644 REGB0
= TAG_Bool(0);
11647 if (UNTAG_Bool(REGB2
)) {
11649 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11651 /* ../lib/standard/collection/array.nit:281 */
11652 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11653 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11654 if (UNTAG_Bool(REGB2
)) {
11655 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11657 /* ../lib/standard/collection/array.nit:718 */
11658 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11659 /* ../lib/standard/collection/array.nit:281 */
11661 label296
: while(0);
11662 /* compiling/compiling_icode.nit:828 */
11663 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11664 if (!once_value_297
) {
11665 fra
.me
.REG
[7] = BOX_NativeString("))");
11666 REGB1
= TAG_Int(2);
11667 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11668 once_value_297
= fra
.me
.REG
[7];
11669 register_static_object(&once_value_297
);
11670 } else fra
.me
.REG
[7] = once_value_297
;
11671 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11673 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11674 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11676 /* compiling/compiling_icode.nit:829 */
11677 if (!once_value_298
) {
11678 if (!once_value_299
) {
11679 fra
.me
.REG
[6] = BOX_NativeString(">=");
11680 REGB1
= TAG_Int(2);
11681 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11682 once_value_299
= fra
.me
.REG
[6];
11683 register_static_object(&once_value_299
);
11684 } else fra
.me
.REG
[6] = once_value_299
;
11685 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11686 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11687 once_value_298
= fra
.me
.REG
[6];
11688 register_static_object(&once_value_298
);
11689 } else fra
.me
.REG
[6] = once_value_298
;
11690 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11691 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11692 if (UNTAG_Bool(REGB1
)) {
11694 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11697 if (UNTAG_Bool(REGB1
)) {
11698 /* compiling/compiling_icode.nit:830 */
11699 REGB1
= TAG_Int(5);
11700 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11701 if (!once_value_300
) {
11702 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11703 REGB1
= TAG_Int(20);
11704 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11705 once_value_300
= fra
.me
.REG
[7];
11706 register_static_object(&once_value_300
);
11707 } else fra
.me
.REG
[7] = once_value_300
;
11708 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11710 REGB1
= TAG_Int(0);
11711 /* ../lib/standard/collection/array.nit:278 */
11712 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11713 /* ../lib/standard/collection/array.nit:280 */
11714 REGB2
= TAG_Int(0);
11715 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11716 if (UNTAG_Bool(REGB0
)) {
11718 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11720 /* ../lib/standard/kernel.nit:236 */
11721 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11722 /* ../lib/standard/collection/array.nit:280 */
11723 if (UNTAG_Bool(REGB2
)) {
11724 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11725 if (UNTAG_Bool(REGB2
)) {
11727 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11729 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11730 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11731 if (UNTAG_Bool(REGB0
)) {
11733 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11735 /* ../lib/standard/kernel.nit:235 */
11736 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11738 /* ../lib/standard/collection/array.nit:280 */
11739 REGB0
= TAG_Bool(0);
11742 if (UNTAG_Bool(REGB2
)) {
11744 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11746 /* ../lib/standard/collection/array.nit:281 */
11747 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11748 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11749 if (UNTAG_Bool(REGB2
)) {
11750 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11752 /* ../lib/standard/collection/array.nit:718 */
11753 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11754 /* ../lib/standard/collection/array.nit:281 */
11756 label301
: while(0);
11757 /* compiling/compiling_icode.nit:830 */
11758 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11759 if (!once_value_302
) {
11760 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Char(");
11761 REGB1
= TAG_Int(14);
11762 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11763 once_value_302
= fra
.me
.REG
[7];
11764 register_static_object(&once_value_302
);
11765 } else fra
.me
.REG
[7] = once_value_302
;
11766 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11768 REGB1
= TAG_Int(1);
11769 /* ../lib/standard/collection/array.nit:278 */
11770 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11771 /* ../lib/standard/collection/array.nit:280 */
11772 REGB2
= TAG_Int(0);
11773 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11774 if (UNTAG_Bool(REGB0
)) {
11776 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11778 /* ../lib/standard/kernel.nit:236 */
11779 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11780 /* ../lib/standard/collection/array.nit:280 */
11781 if (UNTAG_Bool(REGB2
)) {
11782 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11783 if (UNTAG_Bool(REGB2
)) {
11785 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11787 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11788 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11789 if (UNTAG_Bool(REGB0
)) {
11791 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11793 /* ../lib/standard/kernel.nit:235 */
11794 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11796 /* ../lib/standard/collection/array.nit:280 */
11797 REGB0
= TAG_Bool(0);
11800 if (UNTAG_Bool(REGB2
)) {
11802 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11804 /* ../lib/standard/collection/array.nit:281 */
11805 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11806 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11807 if (UNTAG_Bool(REGB2
)) {
11808 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11810 /* ../lib/standard/collection/array.nit:718 */
11811 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11812 /* ../lib/standard/collection/array.nit:281 */
11814 label303
: while(0);
11815 /* compiling/compiling_icode.nit:830 */
11816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11817 if (!once_value_304
) {
11818 fra
.me
.REG
[7] = BOX_NativeString("))");
11819 REGB1
= TAG_Int(2);
11820 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11821 once_value_304
= fra
.me
.REG
[7];
11822 register_static_object(&once_value_304
);
11823 } else fra
.me
.REG
[7] = once_value_304
;
11824 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11825 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11826 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11827 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11829 /* compiling/compiling_icode.nit:831 */
11830 if (!once_value_305
) {
11831 if (!once_value_306
) {
11832 fra
.me
.REG
[6] = BOX_NativeString("==");
11833 REGB1
= TAG_Int(2);
11834 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11835 once_value_306
= fra
.me
.REG
[6];
11836 register_static_object(&once_value_306
);
11837 } else fra
.me
.REG
[6] = once_value_306
;
11838 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11839 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11840 once_value_305
= fra
.me
.REG
[6];
11841 register_static_object(&once_value_305
);
11842 } else fra
.me
.REG
[6] = once_value_305
;
11843 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11844 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11845 if (UNTAG_Bool(REGB1
)) {
11847 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11850 if (UNTAG_Bool(REGB1
)) {
11851 /* compiling/compiling_icode.nit:832 */
11852 REGB1
= TAG_Int(5);
11853 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11854 if (!once_value_307
) {
11855 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
11856 REGB1
= TAG_Int(10);
11857 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11858 once_value_307
= fra
.me
.REG
[7];
11859 register_static_object(&once_value_307
);
11860 } else fra
.me
.REG
[7] = once_value_307
;
11861 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11863 REGB1
= TAG_Int(0);
11864 /* ../lib/standard/collection/array.nit:278 */
11865 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11866 /* ../lib/standard/collection/array.nit:280 */
11867 REGB2
= TAG_Int(0);
11868 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11869 if (UNTAG_Bool(REGB0
)) {
11871 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11873 /* ../lib/standard/kernel.nit:236 */
11874 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11875 /* ../lib/standard/collection/array.nit:280 */
11876 if (UNTAG_Bool(REGB2
)) {
11877 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11878 if (UNTAG_Bool(REGB2
)) {
11880 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11882 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11883 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11884 if (UNTAG_Bool(REGB0
)) {
11886 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11888 /* ../lib/standard/kernel.nit:235 */
11889 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11891 /* ../lib/standard/collection/array.nit:280 */
11892 REGB0
= TAG_Bool(0);
11895 if (UNTAG_Bool(REGB2
)) {
11897 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11899 /* ../lib/standard/collection/array.nit:281 */
11900 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11901 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11902 if (UNTAG_Bool(REGB2
)) {
11903 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11905 /* ../lib/standard/collection/array.nit:718 */
11906 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11907 /* ../lib/standard/collection/array.nit:281 */
11909 label308
: while(0);
11910 /* compiling/compiling_icode.nit:832 */
11911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11912 if (!once_value_309
) {
11913 fra
.me
.REG
[7] = BOX_NativeString(")==(");
11914 REGB1
= TAG_Int(4);
11915 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11916 once_value_309
= fra
.me
.REG
[7];
11917 register_static_object(&once_value_309
);
11918 } else fra
.me
.REG
[7] = once_value_309
;
11919 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11920 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11921 REGB1
= TAG_Int(1);
11922 /* ../lib/standard/collection/array.nit:278 */
11923 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11924 /* ../lib/standard/collection/array.nit:280 */
11925 REGB2
= TAG_Int(0);
11926 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11927 if (UNTAG_Bool(REGB0
)) {
11929 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11931 /* ../lib/standard/kernel.nit:236 */
11932 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11933 /* ../lib/standard/collection/array.nit:280 */
11934 if (UNTAG_Bool(REGB2
)) {
11935 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11936 if (UNTAG_Bool(REGB2
)) {
11938 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
11940 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11941 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11942 if (UNTAG_Bool(REGB0
)) {
11944 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11946 /* ../lib/standard/kernel.nit:235 */
11947 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11949 /* ../lib/standard/collection/array.nit:280 */
11950 REGB0
= TAG_Bool(0);
11953 if (UNTAG_Bool(REGB2
)) {
11955 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
11957 /* ../lib/standard/collection/array.nit:281 */
11958 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11959 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11960 if (UNTAG_Bool(REGB2
)) {
11961 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
11963 /* ../lib/standard/collection/array.nit:718 */
11964 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11965 /* ../lib/standard/collection/array.nit:281 */
11967 label310
: while(0);
11968 /* compiling/compiling_icode.nit:832 */
11969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11970 if (!once_value_311
) {
11971 fra
.me
.REG
[7] = BOX_NativeString("))");
11972 REGB1
= TAG_Int(2);
11973 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
11974 once_value_311
= fra
.me
.REG
[7];
11975 register_static_object(&once_value_311
);
11976 } else fra
.me
.REG
[7] = once_value_311
;
11977 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11978 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11979 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11980 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11982 /* compiling/compiling_icode.nit:833 */
11983 if (!once_value_312
) {
11984 if (!once_value_313
) {
11985 fra
.me
.REG
[6] = BOX_NativeString("!=");
11986 REGB1
= TAG_Int(2);
11987 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
11988 once_value_313
= fra
.me
.REG
[6];
11989 register_static_object(&once_value_313
);
11990 } else fra
.me
.REG
[6] = once_value_313
;
11991 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11992 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11993 once_value_312
= fra
.me
.REG
[6];
11994 register_static_object(&once_value_312
);
11995 } else fra
.me
.REG
[6] = once_value_312
;
11996 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11997 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11998 if (UNTAG_Bool(REGB1
)) {
12000 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12003 if (UNTAG_Bool(REGB1
)) {
12004 /* compiling/compiling_icode.nit:834 */
12005 REGB1
= TAG_Int(5);
12006 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12007 if (!once_value_314
) {
12008 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12009 REGB1
= TAG_Int(10);
12010 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12011 once_value_314
= fra
.me
.REG
[7];
12012 register_static_object(&once_value_314
);
12013 } else fra
.me
.REG
[7] = once_value_314
;
12014 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12015 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12016 REGB1
= TAG_Int(0);
12017 /* ../lib/standard/collection/array.nit:278 */
12018 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12019 /* ../lib/standard/collection/array.nit:280 */
12020 REGB2
= TAG_Int(0);
12021 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12022 if (UNTAG_Bool(REGB0
)) {
12024 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12026 /* ../lib/standard/kernel.nit:236 */
12027 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12028 /* ../lib/standard/collection/array.nit:280 */
12029 if (UNTAG_Bool(REGB2
)) {
12030 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12031 if (UNTAG_Bool(REGB2
)) {
12033 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12035 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12036 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12037 if (UNTAG_Bool(REGB0
)) {
12039 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12041 /* ../lib/standard/kernel.nit:235 */
12042 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12044 /* ../lib/standard/collection/array.nit:280 */
12045 REGB0
= TAG_Bool(0);
12048 if (UNTAG_Bool(REGB2
)) {
12050 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12052 /* ../lib/standard/collection/array.nit:281 */
12053 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12054 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12055 if (UNTAG_Bool(REGB2
)) {
12056 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12058 /* ../lib/standard/collection/array.nit:718 */
12059 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12060 /* ../lib/standard/collection/array.nit:281 */
12062 label315
: while(0);
12063 /* compiling/compiling_icode.nit:834 */
12064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12065 if (!once_value_316
) {
12066 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
12067 REGB1
= TAG_Int(4);
12068 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12069 once_value_316
= fra
.me
.REG
[7];
12070 register_static_object(&once_value_316
);
12071 } else fra
.me
.REG
[7] = once_value_316
;
12072 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12073 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12074 REGB1
= TAG_Int(1);
12075 /* ../lib/standard/collection/array.nit:278 */
12076 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12077 /* ../lib/standard/collection/array.nit:280 */
12078 REGB2
= TAG_Int(0);
12079 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12080 if (UNTAG_Bool(REGB0
)) {
12082 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12084 /* ../lib/standard/kernel.nit:236 */
12085 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12086 /* ../lib/standard/collection/array.nit:280 */
12087 if (UNTAG_Bool(REGB2
)) {
12088 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12089 if (UNTAG_Bool(REGB2
)) {
12091 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12093 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12094 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12095 if (UNTAG_Bool(REGB0
)) {
12097 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12099 /* ../lib/standard/kernel.nit:235 */
12100 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12102 /* ../lib/standard/collection/array.nit:280 */
12103 REGB0
= TAG_Bool(0);
12106 if (UNTAG_Bool(REGB2
)) {
12108 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12110 /* ../lib/standard/collection/array.nit:281 */
12111 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12112 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12113 if (UNTAG_Bool(REGB2
)) {
12114 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12116 /* ../lib/standard/collection/array.nit:718 */
12117 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12118 /* ../lib/standard/collection/array.nit:281 */
12120 label317
: while(0);
12121 /* compiling/compiling_icode.nit:834 */
12122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12123 if (!once_value_318
) {
12124 fra
.me
.REG
[7] = BOX_NativeString("))");
12125 REGB1
= TAG_Int(2);
12126 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12127 once_value_318
= fra
.me
.REG
[7];
12128 register_static_object(&once_value_318
);
12129 } else fra
.me
.REG
[7] = once_value_318
;
12130 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12132 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12133 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12153 /* compiling/compiling_icode.nit:836 */
12154 if (!once_value_319
) {
12155 if (!once_value_320
) {
12156 fra
.me
.REG
[6] = BOX_NativeString("Bool");
12157 REGB1
= TAG_Int(4);
12158 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12159 once_value_320
= fra
.me
.REG
[6];
12160 register_static_object(&once_value_320
);
12161 } else fra
.me
.REG
[6] = once_value_320
;
12162 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12163 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12164 once_value_319
= fra
.me
.REG
[6];
12165 register_static_object(&once_value_319
);
12166 } else fra
.me
.REG
[6] = once_value_319
;
12167 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12168 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12169 if (UNTAG_Bool(REGB1
)) {
12171 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12174 if (UNTAG_Bool(REGB1
)) {
12175 /* compiling/compiling_icode.nit:837 */
12176 if (!once_value_321
) {
12177 if (!once_value_322
) {
12178 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12179 REGB1
= TAG_Int(9);
12180 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12181 once_value_322
= fra
.me
.REG
[6];
12182 register_static_object(&once_value_322
);
12183 } else fra
.me
.REG
[6] = once_value_322
;
12184 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12185 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12186 once_value_321
= fra
.me
.REG
[6];
12187 register_static_object(&once_value_321
);
12188 } else fra
.me
.REG
[6] = once_value_321
;
12189 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12190 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12191 if (UNTAG_Bool(REGB1
)) {
12193 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12196 if (UNTAG_Bool(REGB1
)) {
12197 /* compiling/compiling_icode.nit:838 */
12198 REGB1
= TAG_Int(3);
12199 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12200 if (!once_value_323
) {
12201 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
12202 REGB1
= TAG_Int(19);
12203 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12204 once_value_323
= fra
.me
.REG
[7];
12205 register_static_object(&once_value_323
);
12206 } else fra
.me
.REG
[7] = once_value_323
;
12207 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12208 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12209 REGB1
= TAG_Int(0);
12210 /* ../lib/standard/collection/array.nit:278 */
12211 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12212 /* ../lib/standard/collection/array.nit:280 */
12213 REGB2
= TAG_Int(0);
12214 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12215 if (UNTAG_Bool(REGB0
)) {
12217 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12219 /* ../lib/standard/kernel.nit:236 */
12220 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12221 /* ../lib/standard/collection/array.nit:280 */
12222 if (UNTAG_Bool(REGB2
)) {
12223 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12224 if (UNTAG_Bool(REGB2
)) {
12226 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12228 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12229 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12230 if (UNTAG_Bool(REGB0
)) {
12232 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12234 /* ../lib/standard/kernel.nit:235 */
12235 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12237 /* ../lib/standard/collection/array.nit:280 */
12238 REGB0
= TAG_Bool(0);
12241 if (UNTAG_Bool(REGB2
)) {
12243 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12245 /* ../lib/standard/collection/array.nit:281 */
12246 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12247 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12248 if (UNTAG_Bool(REGB2
)) {
12249 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12251 /* ../lib/standard/collection/array.nit:718 */
12252 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12253 /* ../lib/standard/collection/array.nit:281 */
12255 label324
: while(0);
12256 /* compiling/compiling_icode.nit:838 */
12257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12258 if (!once_value_325
) {
12259 fra
.me
.REG
[7] = BOX_NativeString("))");
12260 REGB1
= TAG_Int(2);
12261 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12262 once_value_325
= fra
.me
.REG
[7];
12263 register_static_object(&once_value_325
);
12264 } else fra
.me
.REG
[7] = once_value_325
;
12265 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12267 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12268 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12270 /* compiling/compiling_icode.nit:839 */
12271 if (!once_value_326
) {
12272 if (!once_value_327
) {
12273 fra
.me
.REG
[6] = BOX_NativeString("unary -");
12274 REGB1
= TAG_Int(7);
12275 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12276 once_value_327
= fra
.me
.REG
[6];
12277 register_static_object(&once_value_327
);
12278 } else fra
.me
.REG
[6] = once_value_327
;
12279 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12280 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12281 once_value_326
= fra
.me
.REG
[6];
12282 register_static_object(&once_value_326
);
12283 } else fra
.me
.REG
[6] = once_value_326
;
12284 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12285 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12286 if (UNTAG_Bool(REGB1
)) {
12288 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12291 if (UNTAG_Bool(REGB1
)) {
12292 /* compiling/compiling_icode.nit:840 */
12293 REGB1
= TAG_Int(3);
12294 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12295 if (!once_value_328
) {
12296 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(-UNTAG_Bool(");
12297 REGB1
= TAG_Int(21);
12298 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12299 once_value_328
= fra
.me
.REG
[7];
12300 register_static_object(&once_value_328
);
12301 } else fra
.me
.REG
[7] = once_value_328
;
12302 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12303 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12304 REGB1
= TAG_Int(0);
12305 /* ../lib/standard/collection/array.nit:278 */
12306 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12307 /* ../lib/standard/collection/array.nit:280 */
12308 REGB2
= TAG_Int(0);
12309 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12310 if (UNTAG_Bool(REGB0
)) {
12312 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12314 /* ../lib/standard/kernel.nit:236 */
12315 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12316 /* ../lib/standard/collection/array.nit:280 */
12317 if (UNTAG_Bool(REGB2
)) {
12318 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12319 if (UNTAG_Bool(REGB2
)) {
12321 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12323 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12324 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12325 if (UNTAG_Bool(REGB0
)) {
12327 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12329 /* ../lib/standard/kernel.nit:235 */
12330 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12332 /* ../lib/standard/collection/array.nit:280 */
12333 REGB0
= TAG_Bool(0);
12336 if (UNTAG_Bool(REGB2
)) {
12338 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12340 /* ../lib/standard/collection/array.nit:281 */
12341 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12342 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12343 if (UNTAG_Bool(REGB2
)) {
12344 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12346 /* ../lib/standard/collection/array.nit:718 */
12347 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12348 /* ../lib/standard/collection/array.nit:281 */
12350 label329
: while(0);
12351 /* compiling/compiling_icode.nit:840 */
12352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12353 if (!once_value_330
) {
12354 fra
.me
.REG
[7] = BOX_NativeString("))");
12355 REGB1
= TAG_Int(2);
12356 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12357 once_value_330
= fra
.me
.REG
[7];
12358 register_static_object(&once_value_330
);
12359 } else fra
.me
.REG
[7] = once_value_330
;
12360 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12362 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12363 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12365 /* compiling/compiling_icode.nit:841 */
12366 if (!once_value_331
) {
12367 if (!once_value_332
) {
12368 fra
.me
.REG
[6] = BOX_NativeString("output");
12369 REGB1
= TAG_Int(6);
12370 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12371 once_value_332
= fra
.me
.REG
[6];
12372 register_static_object(&once_value_332
);
12373 } else fra
.me
.REG
[6] = once_value_332
;
12374 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12375 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12376 once_value_331
= fra
.me
.REG
[6];
12377 register_static_object(&once_value_331
);
12378 } else fra
.me
.REG
[6] = once_value_331
;
12379 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12380 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12381 if (UNTAG_Bool(REGB1
)) {
12383 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12386 if (UNTAG_Bool(REGB1
)) {
12387 /* compiling/compiling_icode.nit:842 */
12388 REGB1
= TAG_Int(3);
12389 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12390 if (!once_value_333
) {
12391 fra
.me
.REG
[7] = BOX_NativeString("(void)printf(UNTAG_Bool(");
12392 REGB1
= TAG_Int(24);
12393 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12394 once_value_333
= fra
.me
.REG
[7];
12395 register_static_object(&once_value_333
);
12396 } else fra
.me
.REG
[7] = once_value_333
;
12397 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12398 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12399 REGB1
= TAG_Int(0);
12400 /* ../lib/standard/collection/array.nit:278 */
12401 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12402 /* ../lib/standard/collection/array.nit:280 */
12403 REGB2
= TAG_Int(0);
12404 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12405 if (UNTAG_Bool(REGB0
)) {
12407 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12409 /* ../lib/standard/kernel.nit:236 */
12410 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12411 /* ../lib/standard/collection/array.nit:280 */
12412 if (UNTAG_Bool(REGB2
)) {
12413 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12414 if (UNTAG_Bool(REGB2
)) {
12416 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12418 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12419 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12420 if (UNTAG_Bool(REGB0
)) {
12422 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12424 /* ../lib/standard/kernel.nit:235 */
12425 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12427 /* ../lib/standard/collection/array.nit:280 */
12428 REGB0
= TAG_Bool(0);
12431 if (UNTAG_Bool(REGB2
)) {
12433 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12435 /* ../lib/standard/collection/array.nit:281 */
12436 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12437 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12438 if (UNTAG_Bool(REGB2
)) {
12439 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12441 /* ../lib/standard/collection/array.nit:718 */
12442 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12443 /* ../lib/standard/collection/array.nit:281 */
12445 label334
: while(0);
12446 /* compiling/compiling_icode.nit:842 */
12447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12448 if (!once_value_335
) {
12449 fra
.me
.REG
[7] = BOX_NativeString(")?\"true\\n\":\"false\\n\");");
12450 REGB1
= TAG_Int(22);
12451 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12452 once_value_335
= fra
.me
.REG
[7];
12453 register_static_object(&once_value_335
);
12454 } else fra
.me
.REG
[7] = once_value_335
;
12455 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12457 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12458 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12460 /* compiling/compiling_icode.nit:843 */
12461 if (!once_value_336
) {
12462 if (!once_value_337
) {
12463 fra
.me
.REG
[6] = BOX_NativeString("ascii");
12464 REGB1
= TAG_Int(5);
12465 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12466 once_value_337
= fra
.me
.REG
[6];
12467 register_static_object(&once_value_337
);
12468 } else fra
.me
.REG
[6] = once_value_337
;
12469 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12470 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12471 once_value_336
= fra
.me
.REG
[6];
12472 register_static_object(&once_value_336
);
12473 } else fra
.me
.REG
[6] = once_value_336
;
12474 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12475 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12476 if (UNTAG_Bool(REGB1
)) {
12478 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12481 if (UNTAG_Bool(REGB1
)) {
12482 /* compiling/compiling_icode.nit:844 */
12483 REGB1
= TAG_Int(3);
12484 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12485 if (!once_value_338
) {
12486 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Bool(");
12487 REGB1
= TAG_Int(20);
12488 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12489 once_value_338
= fra
.me
.REG
[7];
12490 register_static_object(&once_value_338
);
12491 } else fra
.me
.REG
[7] = once_value_338
;
12492 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12493 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12494 REGB1
= TAG_Int(0);
12495 /* ../lib/standard/collection/array.nit:278 */
12496 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12497 /* ../lib/standard/collection/array.nit:280 */
12498 REGB2
= TAG_Int(0);
12499 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12500 if (UNTAG_Bool(REGB0
)) {
12502 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12504 /* ../lib/standard/kernel.nit:236 */
12505 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12506 /* ../lib/standard/collection/array.nit:280 */
12507 if (UNTAG_Bool(REGB2
)) {
12508 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12509 if (UNTAG_Bool(REGB2
)) {
12511 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12513 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12514 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12515 if (UNTAG_Bool(REGB0
)) {
12517 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12519 /* ../lib/standard/kernel.nit:235 */
12520 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12522 /* ../lib/standard/collection/array.nit:280 */
12523 REGB0
= TAG_Bool(0);
12526 if (UNTAG_Bool(REGB2
)) {
12528 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12530 /* ../lib/standard/collection/array.nit:281 */
12531 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12532 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12533 if (UNTAG_Bool(REGB2
)) {
12534 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12536 /* ../lib/standard/collection/array.nit:718 */
12537 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12538 /* ../lib/standard/collection/array.nit:281 */
12540 label339
: while(0);
12541 /* compiling/compiling_icode.nit:844 */
12542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12543 if (!once_value_340
) {
12544 fra
.me
.REG
[7] = BOX_NativeString("))");
12545 REGB1
= TAG_Int(2);
12546 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12547 once_value_340
= fra
.me
.REG
[7];
12548 register_static_object(&once_value_340
);
12549 } else fra
.me
.REG
[7] = once_value_340
;
12550 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12552 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12553 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12555 /* compiling/compiling_icode.nit:845 */
12556 if (!once_value_341
) {
12557 if (!once_value_342
) {
12558 fra
.me
.REG
[6] = BOX_NativeString("to_i");
12559 REGB1
= TAG_Int(4);
12560 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12561 once_value_342
= fra
.me
.REG
[6];
12562 register_static_object(&once_value_342
);
12563 } else fra
.me
.REG
[6] = once_value_342
;
12564 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12565 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12566 once_value_341
= fra
.me
.REG
[6];
12567 register_static_object(&once_value_341
);
12568 } else fra
.me
.REG
[6] = once_value_341
;
12569 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12570 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12571 if (UNTAG_Bool(REGB1
)) {
12573 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12576 if (UNTAG_Bool(REGB1
)) {
12577 /* compiling/compiling_icode.nit:846 */
12578 REGB1
= TAG_Int(3);
12579 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12580 if (!once_value_343
) {
12581 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
12582 REGB1
= TAG_Int(19);
12583 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12584 once_value_343
= fra
.me
.REG
[7];
12585 register_static_object(&once_value_343
);
12586 } else fra
.me
.REG
[7] = once_value_343
;
12587 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12588 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12589 REGB1
= TAG_Int(0);
12590 /* ../lib/standard/collection/array.nit:278 */
12591 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12592 /* ../lib/standard/collection/array.nit:280 */
12593 REGB2
= TAG_Int(0);
12594 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12595 if (UNTAG_Bool(REGB0
)) {
12597 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12599 /* ../lib/standard/kernel.nit:236 */
12600 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12601 /* ../lib/standard/collection/array.nit:280 */
12602 if (UNTAG_Bool(REGB2
)) {
12603 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12604 if (UNTAG_Bool(REGB2
)) {
12606 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12608 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12609 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12610 if (UNTAG_Bool(REGB0
)) {
12612 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12614 /* ../lib/standard/kernel.nit:235 */
12615 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12617 /* ../lib/standard/collection/array.nit:280 */
12618 REGB0
= TAG_Bool(0);
12621 if (UNTAG_Bool(REGB2
)) {
12623 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12625 /* ../lib/standard/collection/array.nit:281 */
12626 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12627 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12628 if (UNTAG_Bool(REGB2
)) {
12629 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12631 /* ../lib/standard/collection/array.nit:718 */
12632 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12633 /* ../lib/standard/collection/array.nit:281 */
12635 label344
: while(0);
12636 /* compiling/compiling_icode.nit:846 */
12637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12638 if (!once_value_345
) {
12639 fra
.me
.REG
[7] = BOX_NativeString("))");
12640 REGB1
= TAG_Int(2);
12641 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12642 once_value_345
= fra
.me
.REG
[7];
12643 register_static_object(&once_value_345
);
12644 } else fra
.me
.REG
[7] = once_value_345
;
12645 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12647 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12648 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12650 /* compiling/compiling_icode.nit:847 */
12651 if (!once_value_346
) {
12652 if (!once_value_347
) {
12653 fra
.me
.REG
[6] = BOX_NativeString("==");
12654 REGB1
= TAG_Int(2);
12655 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12656 once_value_347
= fra
.me
.REG
[6];
12657 register_static_object(&once_value_347
);
12658 } else fra
.me
.REG
[6] = once_value_347
;
12659 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12660 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12661 once_value_346
= fra
.me
.REG
[6];
12662 register_static_object(&once_value_346
);
12663 } else fra
.me
.REG
[6] = once_value_346
;
12664 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12665 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12666 if (UNTAG_Bool(REGB1
)) {
12668 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12671 if (UNTAG_Bool(REGB1
)) {
12672 /* compiling/compiling_icode.nit:848 */
12673 REGB1
= TAG_Int(5);
12674 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12675 if (!once_value_348
) {
12676 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12677 REGB1
= TAG_Int(10);
12678 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12679 once_value_348
= fra
.me
.REG
[7];
12680 register_static_object(&once_value_348
);
12681 } else fra
.me
.REG
[7] = once_value_348
;
12682 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12684 REGB1
= TAG_Int(0);
12685 /* ../lib/standard/collection/array.nit:278 */
12686 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12687 /* ../lib/standard/collection/array.nit:280 */
12688 REGB2
= TAG_Int(0);
12689 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12690 if (UNTAG_Bool(REGB0
)) {
12692 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12694 /* ../lib/standard/kernel.nit:236 */
12695 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12696 /* ../lib/standard/collection/array.nit:280 */
12697 if (UNTAG_Bool(REGB2
)) {
12698 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12699 if (UNTAG_Bool(REGB2
)) {
12701 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12703 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12704 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12705 if (UNTAG_Bool(REGB0
)) {
12707 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12709 /* ../lib/standard/kernel.nit:235 */
12710 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12712 /* ../lib/standard/collection/array.nit:280 */
12713 REGB0
= TAG_Bool(0);
12716 if (UNTAG_Bool(REGB2
)) {
12718 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12720 /* ../lib/standard/collection/array.nit:281 */
12721 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12722 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12723 if (UNTAG_Bool(REGB2
)) {
12724 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12726 /* ../lib/standard/collection/array.nit:718 */
12727 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12728 /* ../lib/standard/collection/array.nit:281 */
12730 label349
: while(0);
12731 /* compiling/compiling_icode.nit:848 */
12732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12733 if (!once_value_350
) {
12734 fra
.me
.REG
[7] = BOX_NativeString(")==(");
12735 REGB1
= TAG_Int(4);
12736 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12737 once_value_350
= fra
.me
.REG
[7];
12738 register_static_object(&once_value_350
);
12739 } else fra
.me
.REG
[7] = once_value_350
;
12740 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12742 REGB1
= TAG_Int(1);
12743 /* ../lib/standard/collection/array.nit:278 */
12744 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12745 /* ../lib/standard/collection/array.nit:280 */
12746 REGB2
= TAG_Int(0);
12747 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12748 if (UNTAG_Bool(REGB0
)) {
12750 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12752 /* ../lib/standard/kernel.nit:236 */
12753 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12754 /* ../lib/standard/collection/array.nit:280 */
12755 if (UNTAG_Bool(REGB2
)) {
12756 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12757 if (UNTAG_Bool(REGB2
)) {
12759 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12761 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12762 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12763 if (UNTAG_Bool(REGB0
)) {
12765 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12767 /* ../lib/standard/kernel.nit:235 */
12768 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12770 /* ../lib/standard/collection/array.nit:280 */
12771 REGB0
= TAG_Bool(0);
12774 if (UNTAG_Bool(REGB2
)) {
12776 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12778 /* ../lib/standard/collection/array.nit:281 */
12779 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12780 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12781 if (UNTAG_Bool(REGB2
)) {
12782 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12784 /* ../lib/standard/collection/array.nit:718 */
12785 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12786 /* ../lib/standard/collection/array.nit:281 */
12788 label351
: while(0);
12789 /* compiling/compiling_icode.nit:848 */
12790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12791 if (!once_value_352
) {
12792 fra
.me
.REG
[7] = BOX_NativeString("))");
12793 REGB1
= TAG_Int(2);
12794 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12795 once_value_352
= fra
.me
.REG
[7];
12796 register_static_object(&once_value_352
);
12797 } else fra
.me
.REG
[7] = once_value_352
;
12798 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12800 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12801 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12803 /* compiling/compiling_icode.nit:849 */
12804 if (!once_value_353
) {
12805 if (!once_value_354
) {
12806 fra
.me
.REG
[6] = BOX_NativeString("!=");
12807 REGB1
= TAG_Int(2);
12808 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12809 once_value_354
= fra
.me
.REG
[6];
12810 register_static_object(&once_value_354
);
12811 } else fra
.me
.REG
[6] = once_value_354
;
12812 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12813 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12814 once_value_353
= fra
.me
.REG
[6];
12815 register_static_object(&once_value_353
);
12816 } else fra
.me
.REG
[6] = once_value_353
;
12817 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12818 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12819 if (UNTAG_Bool(REGB1
)) {
12821 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12824 if (UNTAG_Bool(REGB1
)) {
12825 /* compiling/compiling_icode.nit:850 */
12826 REGB1
= TAG_Int(5);
12827 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12828 if (!once_value_355
) {
12829 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12830 REGB1
= TAG_Int(10);
12831 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12832 once_value_355
= fra
.me
.REG
[7];
12833 register_static_object(&once_value_355
);
12834 } else fra
.me
.REG
[7] = once_value_355
;
12835 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12837 REGB1
= TAG_Int(0);
12838 /* ../lib/standard/collection/array.nit:278 */
12839 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12840 /* ../lib/standard/collection/array.nit:280 */
12841 REGB2
= TAG_Int(0);
12842 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12843 if (UNTAG_Bool(REGB0
)) {
12845 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12847 /* ../lib/standard/kernel.nit:236 */
12848 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12849 /* ../lib/standard/collection/array.nit:280 */
12850 if (UNTAG_Bool(REGB2
)) {
12851 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12852 if (UNTAG_Bool(REGB2
)) {
12854 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12856 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12857 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12858 if (UNTAG_Bool(REGB0
)) {
12860 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12862 /* ../lib/standard/kernel.nit:235 */
12863 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12865 /* ../lib/standard/collection/array.nit:280 */
12866 REGB0
= TAG_Bool(0);
12869 if (UNTAG_Bool(REGB2
)) {
12871 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12873 /* ../lib/standard/collection/array.nit:281 */
12874 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12875 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12876 if (UNTAG_Bool(REGB2
)) {
12877 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12879 /* ../lib/standard/collection/array.nit:718 */
12880 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12881 /* ../lib/standard/collection/array.nit:281 */
12883 label356
: while(0);
12884 /* compiling/compiling_icode.nit:850 */
12885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12886 if (!once_value_357
) {
12887 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
12888 REGB1
= TAG_Int(4);
12889 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12890 once_value_357
= fra
.me
.REG
[7];
12891 register_static_object(&once_value_357
);
12892 } else fra
.me
.REG
[7] = once_value_357
;
12893 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12895 REGB1
= TAG_Int(1);
12896 /* ../lib/standard/collection/array.nit:278 */
12897 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12898 /* ../lib/standard/collection/array.nit:280 */
12899 REGB2
= TAG_Int(0);
12900 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12901 if (UNTAG_Bool(REGB0
)) {
12903 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12905 /* ../lib/standard/kernel.nit:236 */
12906 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12907 /* ../lib/standard/collection/array.nit:280 */
12908 if (UNTAG_Bool(REGB2
)) {
12909 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12910 if (UNTAG_Bool(REGB2
)) {
12912 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
12914 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12915 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12916 if (UNTAG_Bool(REGB0
)) {
12918 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12920 /* ../lib/standard/kernel.nit:235 */
12921 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12923 /* ../lib/standard/collection/array.nit:280 */
12924 REGB0
= TAG_Bool(0);
12927 if (UNTAG_Bool(REGB2
)) {
12929 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
12931 /* ../lib/standard/collection/array.nit:281 */
12932 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12933 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12934 if (UNTAG_Bool(REGB2
)) {
12935 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
12937 /* ../lib/standard/collection/array.nit:718 */
12938 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12939 /* ../lib/standard/collection/array.nit:281 */
12941 label358
: while(0);
12942 /* compiling/compiling_icode.nit:850 */
12943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12944 if (!once_value_359
) {
12945 fra
.me
.REG
[7] = BOX_NativeString("))");
12946 REGB1
= TAG_Int(2);
12947 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
12948 once_value_359
= fra
.me
.REG
[7];
12949 register_static_object(&once_value_359
);
12950 } else fra
.me
.REG
[7] = once_value_359
;
12951 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12953 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12954 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12963 /* compiling/compiling_icode.nit:852 */
12964 if (!once_value_360
) {
12965 if (!once_value_361
) {
12966 fra
.me
.REG
[6] = BOX_NativeString("NativeArray");
12967 REGB1
= TAG_Int(11);
12968 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12969 once_value_361
= fra
.me
.REG
[6];
12970 register_static_object(&once_value_361
);
12971 } else fra
.me
.REG
[6] = once_value_361
;
12972 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12973 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12974 once_value_360
= fra
.me
.REG
[6];
12975 register_static_object(&once_value_360
);
12976 } else fra
.me
.REG
[6] = once_value_360
;
12977 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12978 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12979 if (UNTAG_Bool(REGB1
)) {
12981 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12984 if (UNTAG_Bool(REGB1
)) {
12985 /* compiling/compiling_icode.nit:853 */
12986 if (!once_value_362
) {
12987 if (!once_value_363
) {
12988 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12989 REGB1
= TAG_Int(9);
12990 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
12991 once_value_363
= fra
.me
.REG
[6];
12992 register_static_object(&once_value_363
);
12993 } else fra
.me
.REG
[6] = once_value_363
;
12994 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12995 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12996 once_value_362
= fra
.me
.REG
[6];
12997 register_static_object(&once_value_362
);
12998 } else fra
.me
.REG
[6] = once_value_362
;
12999 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13000 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13001 if (UNTAG_Bool(REGB1
)) {
13003 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13006 if (UNTAG_Bool(REGB1
)) {
13007 /* compiling/compiling_icode.nit:854 */
13008 REGB1
= TAG_Int(3);
13009 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13010 if (!once_value_364
) {
13011 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(((Nit_NativeArray)");
13012 REGB1
= TAG_Int(26);
13013 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13014 once_value_364
= fra
.me
.REG
[7];
13015 register_static_object(&once_value_364
);
13016 } else fra
.me
.REG
[7] = once_value_364
;
13017 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13018 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13019 REGB1
= TAG_Int(0);
13020 /* ../lib/standard/collection/array.nit:278 */
13021 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13022 /* ../lib/standard/collection/array.nit:280 */
13023 REGB2
= TAG_Int(0);
13024 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13025 if (UNTAG_Bool(REGB0
)) {
13027 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13029 /* ../lib/standard/kernel.nit:236 */
13030 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13031 /* ../lib/standard/collection/array.nit:280 */
13032 if (UNTAG_Bool(REGB2
)) {
13033 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13034 if (UNTAG_Bool(REGB2
)) {
13036 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13038 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13039 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13040 if (UNTAG_Bool(REGB0
)) {
13042 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13044 /* ../lib/standard/kernel.nit:235 */
13045 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13047 /* ../lib/standard/collection/array.nit:280 */
13048 REGB0
= TAG_Bool(0);
13051 if (UNTAG_Bool(REGB2
)) {
13053 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13055 /* ../lib/standard/collection/array.nit:281 */
13056 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13057 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13058 if (UNTAG_Bool(REGB2
)) {
13059 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13061 /* ../lib/standard/collection/array.nit:718 */
13062 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13063 /* ../lib/standard/collection/array.nit:281 */
13065 label365
: while(0);
13066 /* compiling/compiling_icode.nit:854 */
13067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13068 if (!once_value_366
) {
13069 fra
.me
.REG
[7] = BOX_NativeString(")->object_id)");
13070 REGB1
= TAG_Int(13);
13071 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13072 once_value_366
= fra
.me
.REG
[7];
13073 register_static_object(&once_value_366
);
13074 } else fra
.me
.REG
[7] = once_value_366
;
13075 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13077 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13078 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13080 /* compiling/compiling_icode.nit:855 */
13081 if (!once_value_367
) {
13082 if (!once_value_368
) {
13083 fra
.me
.REG
[6] = BOX_NativeString("[]");
13084 REGB1
= TAG_Int(2);
13085 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13086 once_value_368
= fra
.me
.REG
[6];
13087 register_static_object(&once_value_368
);
13088 } else fra
.me
.REG
[6] = once_value_368
;
13089 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13090 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13091 once_value_367
= fra
.me
.REG
[6];
13092 register_static_object(&once_value_367
);
13093 } else fra
.me
.REG
[6] = once_value_367
;
13094 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13095 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13096 if (UNTAG_Bool(REGB1
)) {
13098 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13101 if (UNTAG_Bool(REGB1
)) {
13102 /* compiling/compiling_icode.nit:856 */
13103 REGB1
= TAG_Int(5);
13104 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13105 if (!once_value_369
) {
13106 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
13107 REGB1
= TAG_Int(18);
13108 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13109 once_value_369
= fra
.me
.REG
[7];
13110 register_static_object(&once_value_369
);
13111 } else fra
.me
.REG
[7] = once_value_369
;
13112 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13113 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13114 REGB1
= TAG_Int(0);
13115 /* ../lib/standard/collection/array.nit:278 */
13116 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13117 /* ../lib/standard/collection/array.nit:280 */
13118 REGB2
= TAG_Int(0);
13119 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13120 if (UNTAG_Bool(REGB0
)) {
13122 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13124 /* ../lib/standard/kernel.nit:236 */
13125 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13126 /* ../lib/standard/collection/array.nit:280 */
13127 if (UNTAG_Bool(REGB2
)) {
13128 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13129 if (UNTAG_Bool(REGB2
)) {
13131 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13133 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13134 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13135 if (UNTAG_Bool(REGB0
)) {
13137 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13139 /* ../lib/standard/kernel.nit:235 */
13140 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13142 /* ../lib/standard/collection/array.nit:280 */
13143 REGB0
= TAG_Bool(0);
13146 if (UNTAG_Bool(REGB2
)) {
13148 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13150 /* ../lib/standard/collection/array.nit:281 */
13151 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13152 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13153 if (UNTAG_Bool(REGB2
)) {
13154 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13156 /* ../lib/standard/collection/array.nit:718 */
13157 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13158 /* ../lib/standard/collection/array.nit:281 */
13160 label370
: while(0);
13161 /* compiling/compiling_icode.nit:856 */
13162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13163 if (!once_value_371
) {
13164 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
13165 REGB1
= TAG_Int(17);
13166 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13167 once_value_371
= fra
.me
.REG
[7];
13168 register_static_object(&once_value_371
);
13169 } else fra
.me
.REG
[7] = once_value_371
;
13170 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13172 REGB1
= TAG_Int(1);
13173 /* ../lib/standard/collection/array.nit:278 */
13174 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13175 /* ../lib/standard/collection/array.nit:280 */
13176 REGB2
= TAG_Int(0);
13177 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13178 if (UNTAG_Bool(REGB0
)) {
13180 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13182 /* ../lib/standard/kernel.nit:236 */
13183 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13184 /* ../lib/standard/collection/array.nit:280 */
13185 if (UNTAG_Bool(REGB2
)) {
13186 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13187 if (UNTAG_Bool(REGB2
)) {
13189 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13191 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13192 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13193 if (UNTAG_Bool(REGB0
)) {
13195 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13197 /* ../lib/standard/kernel.nit:235 */
13198 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13200 /* ../lib/standard/collection/array.nit:280 */
13201 REGB0
= TAG_Bool(0);
13204 if (UNTAG_Bool(REGB2
)) {
13206 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13208 /* ../lib/standard/collection/array.nit:281 */
13209 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13210 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13211 if (UNTAG_Bool(REGB2
)) {
13212 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13214 /* ../lib/standard/collection/array.nit:718 */
13215 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13216 /* ../lib/standard/collection/array.nit:281 */
13218 label372
: while(0);
13219 /* compiling/compiling_icode.nit:856 */
13220 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13221 if (!once_value_373
) {
13222 fra
.me
.REG
[7] = BOX_NativeString(")]");
13223 REGB1
= TAG_Int(2);
13224 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13225 once_value_373
= fra
.me
.REG
[7];
13226 register_static_object(&once_value_373
);
13227 } else fra
.me
.REG
[7] = once_value_373
;
13228 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13230 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13231 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13233 /* compiling/compiling_icode.nit:857 */
13234 if (!once_value_374
) {
13235 if (!once_value_375
) {
13236 fra
.me
.REG
[6] = BOX_NativeString("[]=");
13237 REGB1
= TAG_Int(3);
13238 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13239 once_value_375
= fra
.me
.REG
[6];
13240 register_static_object(&once_value_375
);
13241 } else fra
.me
.REG
[6] = once_value_375
;
13242 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13243 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13244 once_value_374
= fra
.me
.REG
[6];
13245 register_static_object(&once_value_374
);
13246 } else fra
.me
.REG
[6] = once_value_374
;
13247 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13248 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13249 if (UNTAG_Bool(REGB1
)) {
13251 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13254 if (UNTAG_Bool(REGB1
)) {
13255 /* compiling/compiling_icode.nit:858 */
13256 REGB1
= TAG_Int(7);
13257 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13258 if (!once_value_376
) {
13259 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
13260 REGB1
= TAG_Int(18);
13261 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13262 once_value_376
= fra
.me
.REG
[7];
13263 register_static_object(&once_value_376
);
13264 } else fra
.me
.REG
[7] = once_value_376
;
13265 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13267 REGB1
= TAG_Int(0);
13268 /* ../lib/standard/collection/array.nit:278 */
13269 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13270 /* ../lib/standard/collection/array.nit:280 */
13271 REGB2
= TAG_Int(0);
13272 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13273 if (UNTAG_Bool(REGB0
)) {
13275 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13277 /* ../lib/standard/kernel.nit:236 */
13278 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13279 /* ../lib/standard/collection/array.nit:280 */
13280 if (UNTAG_Bool(REGB2
)) {
13281 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13282 if (UNTAG_Bool(REGB2
)) {
13284 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13286 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13287 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13288 if (UNTAG_Bool(REGB0
)) {
13290 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13292 /* ../lib/standard/kernel.nit:235 */
13293 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13295 /* ../lib/standard/collection/array.nit:280 */
13296 REGB0
= TAG_Bool(0);
13299 if (UNTAG_Bool(REGB2
)) {
13301 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13303 /* ../lib/standard/collection/array.nit:281 */
13304 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13305 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13306 if (UNTAG_Bool(REGB2
)) {
13307 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13309 /* ../lib/standard/collection/array.nit:718 */
13310 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13311 /* ../lib/standard/collection/array.nit:281 */
13313 label377
: while(0);
13314 /* compiling/compiling_icode.nit:858 */
13315 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13316 if (!once_value_378
) {
13317 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
13318 REGB1
= TAG_Int(17);
13319 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13320 once_value_378
= fra
.me
.REG
[7];
13321 register_static_object(&once_value_378
);
13322 } else fra
.me
.REG
[7] = once_value_378
;
13323 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13325 REGB1
= TAG_Int(1);
13326 /* ../lib/standard/collection/array.nit:278 */
13327 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13328 /* ../lib/standard/collection/array.nit:280 */
13329 REGB2
= TAG_Int(0);
13330 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13331 if (UNTAG_Bool(REGB0
)) {
13333 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13335 /* ../lib/standard/kernel.nit:236 */
13336 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13337 /* ../lib/standard/collection/array.nit:280 */
13338 if (UNTAG_Bool(REGB2
)) {
13339 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13340 if (UNTAG_Bool(REGB2
)) {
13342 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13344 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13345 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13346 if (UNTAG_Bool(REGB0
)) {
13348 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13350 /* ../lib/standard/kernel.nit:235 */
13351 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13353 /* ../lib/standard/collection/array.nit:280 */
13354 REGB0
= TAG_Bool(0);
13357 if (UNTAG_Bool(REGB2
)) {
13359 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13361 /* ../lib/standard/collection/array.nit:281 */
13362 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13363 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13364 if (UNTAG_Bool(REGB2
)) {
13365 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13367 /* ../lib/standard/collection/array.nit:718 */
13368 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13369 /* ../lib/standard/collection/array.nit:281 */
13371 label379
: while(0);
13372 /* compiling/compiling_icode.nit:858 */
13373 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13374 if (!once_value_380
) {
13375 fra
.me
.REG
[7] = BOX_NativeString(")]=");
13376 REGB1
= TAG_Int(3);
13377 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13378 once_value_380
= fra
.me
.REG
[7];
13379 register_static_object(&once_value_380
);
13380 } else fra
.me
.REG
[7] = once_value_380
;
13381 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13383 REGB1
= TAG_Int(2);
13384 /* ../lib/standard/collection/array.nit:278 */
13385 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13386 /* ../lib/standard/collection/array.nit:280 */
13387 REGB2
= TAG_Int(0);
13388 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13389 if (UNTAG_Bool(REGB0
)) {
13391 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13393 /* ../lib/standard/kernel.nit:236 */
13394 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13395 /* ../lib/standard/collection/array.nit:280 */
13396 if (UNTAG_Bool(REGB2
)) {
13397 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13398 if (UNTAG_Bool(REGB2
)) {
13400 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13402 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13403 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13404 if (UNTAG_Bool(REGB0
)) {
13406 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13408 /* ../lib/standard/kernel.nit:235 */
13409 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13411 /* ../lib/standard/collection/array.nit:280 */
13412 REGB0
= TAG_Bool(0);
13415 if (UNTAG_Bool(REGB2
)) {
13417 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13419 /* ../lib/standard/collection/array.nit:281 */
13420 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13421 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13422 if (UNTAG_Bool(REGB2
)) {
13423 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13425 /* ../lib/standard/collection/array.nit:718 */
13426 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13427 /* ../lib/standard/collection/array.nit:281 */
13429 label381
: while(0);
13430 /* compiling/compiling_icode.nit:858 */
13431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13432 if (!once_value_382
) {
13433 fra
.me
.REG
[7] = BOX_NativeString("");
13434 REGB1
= TAG_Int(0);
13435 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13436 once_value_382
= fra
.me
.REG
[7];
13437 register_static_object(&once_value_382
);
13438 } else fra
.me
.REG
[7] = once_value_382
;
13439 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13441 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13442 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13444 /* compiling/compiling_icode.nit:859 */
13445 if (!once_value_383
) {
13446 if (!once_value_384
) {
13447 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
13448 REGB1
= TAG_Int(7);
13449 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13450 once_value_384
= fra
.me
.REG
[6];
13451 register_static_object(&once_value_384
);
13452 } else fra
.me
.REG
[6] = once_value_384
;
13453 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13454 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13455 once_value_383
= fra
.me
.REG
[6];
13456 register_static_object(&once_value_383
);
13457 } else fra
.me
.REG
[6] = once_value_383
;
13458 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13459 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13460 if (UNTAG_Bool(REGB1
)) {
13462 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13465 if (UNTAG_Bool(REGB1
)) {
13466 /* compiling/compiling_icode.nit:860 */
13467 REGB1
= TAG_Int(7);
13468 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13469 if (!once_value_385
) {
13470 fra
.me
.REG
[7] = BOX_NativeString("(void)memcpy(((Nit_NativeArray )");
13471 REGB1
= TAG_Int(32);
13472 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13473 once_value_385
= fra
.me
.REG
[7];
13474 register_static_object(&once_value_385
);
13475 } else fra
.me
.REG
[7] = once_value_385
;
13476 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13478 REGB1
= TAG_Int(1);
13479 /* ../lib/standard/collection/array.nit:278 */
13480 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13481 /* ../lib/standard/collection/array.nit:280 */
13482 REGB2
= TAG_Int(0);
13483 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13484 if (UNTAG_Bool(REGB0
)) {
13486 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13488 /* ../lib/standard/kernel.nit:236 */
13489 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13490 /* ../lib/standard/collection/array.nit:280 */
13491 if (UNTAG_Bool(REGB2
)) {
13492 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13493 if (UNTAG_Bool(REGB2
)) {
13495 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13497 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13498 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13499 if (UNTAG_Bool(REGB0
)) {
13501 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13503 /* ../lib/standard/kernel.nit:235 */
13504 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13506 /* ../lib/standard/collection/array.nit:280 */
13507 REGB0
= TAG_Bool(0);
13510 if (UNTAG_Bool(REGB2
)) {
13512 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13514 /* ../lib/standard/collection/array.nit:281 */
13515 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13516 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13517 if (UNTAG_Bool(REGB2
)) {
13518 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13520 /* ../lib/standard/collection/array.nit:718 */
13521 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13522 /* ../lib/standard/collection/array.nit:281 */
13524 label386
: while(0);
13525 /* compiling/compiling_icode.nit:860 */
13526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13527 if (!once_value_387
) {
13528 fra
.me
.REG
[7] = BOX_NativeString(")->val, ((Nit_NativeArray)");
13529 REGB1
= TAG_Int(26);
13530 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13531 once_value_387
= fra
.me
.REG
[7];
13532 register_static_object(&once_value_387
);
13533 } else fra
.me
.REG
[7] = once_value_387
;
13534 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13535 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13536 REGB1
= TAG_Int(0);
13537 /* ../lib/standard/collection/array.nit:278 */
13538 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13539 /* ../lib/standard/collection/array.nit:280 */
13540 REGB2
= TAG_Int(0);
13541 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13542 if (UNTAG_Bool(REGB0
)) {
13544 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13546 /* ../lib/standard/kernel.nit:236 */
13547 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13548 /* ../lib/standard/collection/array.nit:280 */
13549 if (UNTAG_Bool(REGB2
)) {
13550 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13551 if (UNTAG_Bool(REGB2
)) {
13553 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13555 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13556 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13557 if (UNTAG_Bool(REGB0
)) {
13559 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13561 /* ../lib/standard/kernel.nit:235 */
13562 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13564 /* ../lib/standard/collection/array.nit:280 */
13565 REGB0
= TAG_Bool(0);
13568 if (UNTAG_Bool(REGB2
)) {
13570 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13572 /* ../lib/standard/collection/array.nit:281 */
13573 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13574 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13575 if (UNTAG_Bool(REGB2
)) {
13576 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13578 /* ../lib/standard/collection/array.nit:718 */
13579 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13580 /* ../lib/standard/collection/array.nit:281 */
13582 label388
: while(0);
13583 /* compiling/compiling_icode.nit:860 */
13584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13585 if (!once_value_389
) {
13586 fra
.me
.REG
[7] = BOX_NativeString(")->val, UNTAG_Int(");
13587 REGB1
= TAG_Int(18);
13588 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13589 once_value_389
= fra
.me
.REG
[7];
13590 register_static_object(&once_value_389
);
13591 } else fra
.me
.REG
[7] = once_value_389
;
13592 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13594 REGB1
= TAG_Int(2);
13595 /* ../lib/standard/collection/array.nit:278 */
13596 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13597 /* ../lib/standard/collection/array.nit:280 */
13598 REGB2
= TAG_Int(0);
13599 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13600 if (UNTAG_Bool(REGB0
)) {
13602 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13604 /* ../lib/standard/kernel.nit:236 */
13605 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13606 /* ../lib/standard/collection/array.nit:280 */
13607 if (UNTAG_Bool(REGB2
)) {
13608 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13609 if (UNTAG_Bool(REGB2
)) {
13611 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13613 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13614 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13615 if (UNTAG_Bool(REGB0
)) {
13617 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13619 /* ../lib/standard/kernel.nit:235 */
13620 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13622 /* ../lib/standard/collection/array.nit:280 */
13623 REGB0
= TAG_Bool(0);
13626 if (UNTAG_Bool(REGB2
)) {
13628 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13630 /* ../lib/standard/collection/array.nit:281 */
13631 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13632 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13633 if (UNTAG_Bool(REGB2
)) {
13634 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13636 /* ../lib/standard/collection/array.nit:718 */
13637 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13638 /* ../lib/standard/collection/array.nit:281 */
13640 label390
: while(0);
13641 /* compiling/compiling_icode.nit:860 */
13642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13643 if (!once_value_391
) {
13644 fra
.me
.REG
[7] = BOX_NativeString(")*sizeof(val_t))");
13645 REGB1
= TAG_Int(16);
13646 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13647 once_value_391
= fra
.me
.REG
[7];
13648 register_static_object(&once_value_391
);
13649 } else fra
.me
.REG
[7] = once_value_391
;
13650 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13652 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13653 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13659 /* compiling/compiling_icode.nit:862 */
13660 if (!once_value_392
) {
13661 if (!once_value_393
) {
13662 fra
.me
.REG
[6] = BOX_NativeString("NativeString");
13663 REGB1
= TAG_Int(12);
13664 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13665 once_value_393
= fra
.me
.REG
[6];
13666 register_static_object(&once_value_393
);
13667 } else fra
.me
.REG
[6] = once_value_393
;
13668 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13669 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13670 once_value_392
= fra
.me
.REG
[6];
13671 register_static_object(&once_value_392
);
13672 } else fra
.me
.REG
[6] = once_value_392
;
13673 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13674 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
13675 if (UNTAG_Bool(REGB1
)) {
13677 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
13680 if (UNTAG_Bool(REGB1
)) {
13681 /* compiling/compiling_icode.nit:863 */
13682 if (!once_value_394
) {
13683 if (!once_value_395
) {
13684 fra
.me
.REG
[6] = BOX_NativeString("object_id");
13685 REGB1
= TAG_Int(9);
13686 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13687 once_value_395
= fra
.me
.REG
[6];
13688 register_static_object(&once_value_395
);
13689 } else fra
.me
.REG
[6] = once_value_395
;
13690 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13691 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13692 once_value_394
= fra
.me
.REG
[6];
13693 register_static_object(&once_value_394
);
13694 } else fra
.me
.REG
[6] = once_value_394
;
13695 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13696 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13697 if (UNTAG_Bool(REGB1
)) {
13699 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13702 if (UNTAG_Bool(REGB1
)) {
13703 /* compiling/compiling_icode.nit:864 */
13704 REGB1
= TAG_Int(3);
13705 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13706 if (!once_value_396
) {
13707 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNBOX_NativeString(");
13708 REGB1
= TAG_Int(27);
13709 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13710 once_value_396
= fra
.me
.REG
[7];
13711 register_static_object(&once_value_396
);
13712 } else fra
.me
.REG
[7] = once_value_396
;
13713 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13715 REGB1
= TAG_Int(0);
13716 /* ../lib/standard/collection/array.nit:278 */
13717 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13718 /* ../lib/standard/collection/array.nit:280 */
13719 REGB2
= TAG_Int(0);
13720 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13721 if (UNTAG_Bool(REGB0
)) {
13723 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13725 /* ../lib/standard/kernel.nit:236 */
13726 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13727 /* ../lib/standard/collection/array.nit:280 */
13728 if (UNTAG_Bool(REGB2
)) {
13729 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13730 if (UNTAG_Bool(REGB2
)) {
13732 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13734 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13735 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13736 if (UNTAG_Bool(REGB0
)) {
13738 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13740 /* ../lib/standard/kernel.nit:235 */
13741 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13743 /* ../lib/standard/collection/array.nit:280 */
13744 REGB0
= TAG_Bool(0);
13747 if (UNTAG_Bool(REGB2
)) {
13749 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13751 /* ../lib/standard/collection/array.nit:281 */
13752 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13753 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13754 if (UNTAG_Bool(REGB2
)) {
13755 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13757 /* ../lib/standard/collection/array.nit:718 */
13758 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13759 /* ../lib/standard/collection/array.nit:281 */
13761 label397
: while(0);
13762 /* compiling/compiling_icode.nit:864 */
13763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13764 if (!once_value_398
) {
13765 fra
.me
.REG
[7] = BOX_NativeString("))");
13766 REGB1
= TAG_Int(2);
13767 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13768 once_value_398
= fra
.me
.REG
[7];
13769 register_static_object(&once_value_398
);
13770 } else fra
.me
.REG
[7] = once_value_398
;
13771 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13773 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13774 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13776 /* compiling/compiling_icode.nit:865 */
13777 if (!once_value_399
) {
13778 if (!once_value_400
) {
13779 fra
.me
.REG
[6] = BOX_NativeString("atoi");
13780 REGB1
= TAG_Int(4);
13781 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13782 once_value_400
= fra
.me
.REG
[6];
13783 register_static_object(&once_value_400
);
13784 } else fra
.me
.REG
[6] = once_value_400
;
13785 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13786 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13787 once_value_399
= fra
.me
.REG
[6];
13788 register_static_object(&once_value_399
);
13789 } else fra
.me
.REG
[6] = once_value_399
;
13790 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13791 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13792 if (UNTAG_Bool(REGB1
)) {
13794 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13797 if (UNTAG_Bool(REGB1
)) {
13798 /* compiling/compiling_icode.nit:866 */
13799 REGB1
= TAG_Int(3);
13800 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13801 if (!once_value_401
) {
13802 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString(");
13803 REGB1
= TAG_Int(32);
13804 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13805 once_value_401
= fra
.me
.REG
[7];
13806 register_static_object(&once_value_401
);
13807 } else fra
.me
.REG
[7] = once_value_401
;
13808 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13810 REGB1
= TAG_Int(0);
13811 /* ../lib/standard/collection/array.nit:278 */
13812 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13813 /* ../lib/standard/collection/array.nit:280 */
13814 REGB2
= TAG_Int(0);
13815 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13816 if (UNTAG_Bool(REGB0
)) {
13818 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13820 /* ../lib/standard/kernel.nit:236 */
13821 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13822 /* ../lib/standard/collection/array.nit:280 */
13823 if (UNTAG_Bool(REGB2
)) {
13824 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13825 if (UNTAG_Bool(REGB2
)) {
13827 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13829 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13830 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13831 if (UNTAG_Bool(REGB0
)) {
13833 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13835 /* ../lib/standard/kernel.nit:235 */
13836 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13838 /* ../lib/standard/collection/array.nit:280 */
13839 REGB0
= TAG_Bool(0);
13842 if (UNTAG_Bool(REGB2
)) {
13844 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13846 /* ../lib/standard/collection/array.nit:281 */
13847 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13848 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13849 if (UNTAG_Bool(REGB2
)) {
13850 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13852 /* ../lib/standard/collection/array.nit:718 */
13853 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13854 /* ../lib/standard/collection/array.nit:281 */
13856 label402
: while(0);
13857 /* compiling/compiling_icode.nit:866 */
13858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13859 if (!once_value_403
) {
13860 fra
.me
.REG
[7] = BOX_NativeString(")))");
13861 REGB1
= TAG_Int(3);
13862 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13863 once_value_403
= fra
.me
.REG
[7];
13864 register_static_object(&once_value_403
);
13865 } else fra
.me
.REG
[7] = once_value_403
;
13866 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13868 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13869 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13871 /* compiling/compiling_icode.nit:867 */
13872 if (!once_value_404
) {
13873 if (!once_value_405
) {
13874 fra
.me
.REG
[6] = BOX_NativeString("[]");
13875 REGB1
= TAG_Int(2);
13876 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
13877 once_value_405
= fra
.me
.REG
[6];
13878 register_static_object(&once_value_405
);
13879 } else fra
.me
.REG
[6] = once_value_405
;
13880 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13881 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13882 once_value_404
= fra
.me
.REG
[6];
13883 register_static_object(&once_value_404
);
13884 } else fra
.me
.REG
[6] = once_value_404
;
13885 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13886 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13887 if (UNTAG_Bool(REGB1
)) {
13889 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13892 if (UNTAG_Bool(REGB1
)) {
13893 /* compiling/compiling_icode.nit:868 */
13894 REGB1
= TAG_Int(5);
13895 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13896 if (!once_value_406
) {
13897 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNBOX_NativeString(");
13898 REGB1
= TAG_Int(28);
13899 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13900 once_value_406
= fra
.me
.REG
[7];
13901 register_static_object(&once_value_406
);
13902 } else fra
.me
.REG
[7] = once_value_406
;
13903 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13905 REGB1
= TAG_Int(0);
13906 /* ../lib/standard/collection/array.nit:278 */
13907 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13908 /* ../lib/standard/collection/array.nit:280 */
13909 REGB2
= TAG_Int(0);
13910 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13911 if (UNTAG_Bool(REGB0
)) {
13913 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13915 /* ../lib/standard/kernel.nit:236 */
13916 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13917 /* ../lib/standard/collection/array.nit:280 */
13918 if (UNTAG_Bool(REGB2
)) {
13919 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13920 if (UNTAG_Bool(REGB2
)) {
13922 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13924 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13925 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13926 if (UNTAG_Bool(REGB0
)) {
13928 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13930 /* ../lib/standard/kernel.nit:235 */
13931 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13933 /* ../lib/standard/collection/array.nit:280 */
13934 REGB0
= TAG_Bool(0);
13937 if (UNTAG_Bool(REGB2
)) {
13939 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13941 /* ../lib/standard/collection/array.nit:281 */
13942 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13943 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13944 if (UNTAG_Bool(REGB2
)) {
13945 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
13947 /* ../lib/standard/collection/array.nit:718 */
13948 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13949 /* ../lib/standard/collection/array.nit:281 */
13951 label407
: while(0);
13952 /* compiling/compiling_icode.nit:868 */
13953 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13954 if (!once_value_408
) {
13955 fra
.me
.REG
[7] = BOX_NativeString(")[UNTAG_Int(");
13956 REGB1
= TAG_Int(12);
13957 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
13958 once_value_408
= fra
.me
.REG
[7];
13959 register_static_object(&once_value_408
);
13960 } else fra
.me
.REG
[7] = once_value_408
;
13961 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13963 REGB1
= TAG_Int(1);
13964 /* ../lib/standard/collection/array.nit:278 */
13965 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13966 /* ../lib/standard/collection/array.nit:280 */
13967 REGB2
= TAG_Int(0);
13968 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13969 if (UNTAG_Bool(REGB0
)) {
13971 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13973 /* ../lib/standard/kernel.nit:236 */
13974 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13975 /* ../lib/standard/collection/array.nit:280 */
13976 if (UNTAG_Bool(REGB2
)) {
13977 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13978 if (UNTAG_Bool(REGB2
)) {
13980 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
13982 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13983 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13984 if (UNTAG_Bool(REGB0
)) {
13986 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13988 /* ../lib/standard/kernel.nit:235 */
13989 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13991 /* ../lib/standard/collection/array.nit:280 */
13992 REGB0
= TAG_Bool(0);
13995 if (UNTAG_Bool(REGB2
)) {
13997 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
13999 /* ../lib/standard/collection/array.nit:281 */
14000 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14001 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14002 if (UNTAG_Bool(REGB2
)) {
14003 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14005 /* ../lib/standard/collection/array.nit:718 */
14006 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14007 /* ../lib/standard/collection/array.nit:281 */
14009 label409
: while(0);
14010 /* compiling/compiling_icode.nit:868 */
14011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14012 if (!once_value_410
) {
14013 fra
.me
.REG
[7] = BOX_NativeString(")])");
14014 REGB1
= TAG_Int(3);
14015 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14016 once_value_410
= fra
.me
.REG
[7];
14017 register_static_object(&once_value_410
);
14018 } else fra
.me
.REG
[7] = once_value_410
;
14019 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14020 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14021 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14022 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14024 /* compiling/compiling_icode.nit:869 */
14025 if (!once_value_411
) {
14026 if (!once_value_412
) {
14027 fra
.me
.REG
[6] = BOX_NativeString("[]=");
14028 REGB1
= TAG_Int(3);
14029 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14030 once_value_412
= fra
.me
.REG
[6];
14031 register_static_object(&once_value_412
);
14032 } else fra
.me
.REG
[6] = once_value_412
;
14033 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14034 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14035 once_value_411
= fra
.me
.REG
[6];
14036 register_static_object(&once_value_411
);
14037 } else fra
.me
.REG
[6] = once_value_411
;
14038 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14039 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14040 if (UNTAG_Bool(REGB1
)) {
14042 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14045 if (UNTAG_Bool(REGB1
)) {
14046 /* compiling/compiling_icode.nit:870 */
14047 REGB1
= TAG_Int(7);
14048 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14049 if (!once_value_413
) {
14050 fra
.me
.REG
[7] = BOX_NativeString("UNBOX_NativeString(");
14051 REGB1
= TAG_Int(19);
14052 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14053 once_value_413
= fra
.me
.REG
[7];
14054 register_static_object(&once_value_413
);
14055 } else fra
.me
.REG
[7] = once_value_413
;
14056 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14058 REGB1
= TAG_Int(0);
14059 /* ../lib/standard/collection/array.nit:278 */
14060 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14061 /* ../lib/standard/collection/array.nit:280 */
14062 REGB2
= TAG_Int(0);
14063 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14064 if (UNTAG_Bool(REGB0
)) {
14066 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14068 /* ../lib/standard/kernel.nit:236 */
14069 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14070 /* ../lib/standard/collection/array.nit:280 */
14071 if (UNTAG_Bool(REGB2
)) {
14072 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14073 if (UNTAG_Bool(REGB2
)) {
14075 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14077 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14078 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14079 if (UNTAG_Bool(REGB0
)) {
14081 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14083 /* ../lib/standard/kernel.nit:235 */
14084 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14086 /* ../lib/standard/collection/array.nit:280 */
14087 REGB0
= TAG_Bool(0);
14090 if (UNTAG_Bool(REGB2
)) {
14092 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14094 /* ../lib/standard/collection/array.nit:281 */
14095 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14096 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14097 if (UNTAG_Bool(REGB2
)) {
14098 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14100 /* ../lib/standard/collection/array.nit:718 */
14101 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14102 /* ../lib/standard/collection/array.nit:281 */
14104 label414
: while(0);
14105 /* compiling/compiling_icode.nit:870 */
14106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14107 if (!once_value_415
) {
14108 fra
.me
.REG
[7] = BOX_NativeString(")[UNTAG_Int(");
14109 REGB1
= TAG_Int(12);
14110 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14111 once_value_415
= fra
.me
.REG
[7];
14112 register_static_object(&once_value_415
);
14113 } else fra
.me
.REG
[7] = once_value_415
;
14114 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14115 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14116 REGB1
= TAG_Int(1);
14117 /* ../lib/standard/collection/array.nit:278 */
14118 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14119 /* ../lib/standard/collection/array.nit:280 */
14120 REGB2
= TAG_Int(0);
14121 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14122 if (UNTAG_Bool(REGB0
)) {
14124 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14126 /* ../lib/standard/kernel.nit:236 */
14127 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14128 /* ../lib/standard/collection/array.nit:280 */
14129 if (UNTAG_Bool(REGB2
)) {
14130 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14131 if (UNTAG_Bool(REGB2
)) {
14133 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14135 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14136 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14137 if (UNTAG_Bool(REGB0
)) {
14139 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14141 /* ../lib/standard/kernel.nit:235 */
14142 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14144 /* ../lib/standard/collection/array.nit:280 */
14145 REGB0
= TAG_Bool(0);
14148 if (UNTAG_Bool(REGB2
)) {
14150 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14152 /* ../lib/standard/collection/array.nit:281 */
14153 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14154 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14155 if (UNTAG_Bool(REGB2
)) {
14156 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14158 /* ../lib/standard/collection/array.nit:718 */
14159 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14160 /* ../lib/standard/collection/array.nit:281 */
14162 label416
: while(0);
14163 /* compiling/compiling_icode.nit:870 */
14164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14165 if (!once_value_417
) {
14166 fra
.me
.REG
[7] = BOX_NativeString(")]=UNTAG_Char(");
14167 REGB1
= TAG_Int(14);
14168 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14169 once_value_417
= fra
.me
.REG
[7];
14170 register_static_object(&once_value_417
);
14171 } else fra
.me
.REG
[7] = once_value_417
;
14172 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14174 REGB1
= TAG_Int(2);
14175 /* ../lib/standard/collection/array.nit:278 */
14176 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14177 /* ../lib/standard/collection/array.nit:280 */
14178 REGB2
= TAG_Int(0);
14179 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14180 if (UNTAG_Bool(REGB0
)) {
14182 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14184 /* ../lib/standard/kernel.nit:236 */
14185 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14186 /* ../lib/standard/collection/array.nit:280 */
14187 if (UNTAG_Bool(REGB2
)) {
14188 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14189 if (UNTAG_Bool(REGB2
)) {
14191 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14193 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14194 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14195 if (UNTAG_Bool(REGB0
)) {
14197 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14199 /* ../lib/standard/kernel.nit:235 */
14200 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14202 /* ../lib/standard/collection/array.nit:280 */
14203 REGB0
= TAG_Bool(0);
14206 if (UNTAG_Bool(REGB2
)) {
14208 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14210 /* ../lib/standard/collection/array.nit:281 */
14211 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14212 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14213 if (UNTAG_Bool(REGB2
)) {
14214 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14216 /* ../lib/standard/collection/array.nit:718 */
14217 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14218 /* ../lib/standard/collection/array.nit:281 */
14220 label418
: while(0);
14221 /* compiling/compiling_icode.nit:870 */
14222 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14223 if (!once_value_419
) {
14224 fra
.me
.REG
[7] = BOX_NativeString(");");
14225 REGB1
= TAG_Int(2);
14226 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14227 once_value_419
= fra
.me
.REG
[7];
14228 register_static_object(&once_value_419
);
14229 } else fra
.me
.REG
[7] = once_value_419
;
14230 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14232 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14233 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14235 /* compiling/compiling_icode.nit:871 */
14236 if (!once_value_420
) {
14237 if (!once_value_421
) {
14238 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
14239 REGB1
= TAG_Int(7);
14240 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14241 once_value_421
= fra
.me
.REG
[6];
14242 register_static_object(&once_value_421
);
14243 } else fra
.me
.REG
[6] = once_value_421
;
14244 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14245 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14246 once_value_420
= fra
.me
.REG
[6];
14247 register_static_object(&once_value_420
);
14248 } else fra
.me
.REG
[6] = once_value_420
;
14249 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14250 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14251 if (UNTAG_Bool(REGB1
)) {
14253 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14256 if (UNTAG_Bool(REGB1
)) {
14257 /* compiling/compiling_icode.nit:872 */
14258 REGB1
= TAG_Int(11);
14259 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14260 if (!once_value_422
) {
14261 fra
.me
.REG
[7] = BOX_NativeString("(void)memcpy(UNBOX_NativeString(");
14262 REGB1
= TAG_Int(32);
14263 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14264 once_value_422
= fra
.me
.REG
[7];
14265 register_static_object(&once_value_422
);
14266 } else fra
.me
.REG
[7] = once_value_422
;
14267 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14269 REGB1
= TAG_Int(1);
14270 /* ../lib/standard/collection/array.nit:278 */
14271 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14272 /* ../lib/standard/collection/array.nit:280 */
14273 REGB2
= TAG_Int(0);
14274 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14275 if (UNTAG_Bool(REGB0
)) {
14277 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14279 /* ../lib/standard/kernel.nit:236 */
14280 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14281 /* ../lib/standard/collection/array.nit:280 */
14282 if (UNTAG_Bool(REGB2
)) {
14283 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14284 if (UNTAG_Bool(REGB2
)) {
14286 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14288 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14289 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14290 if (UNTAG_Bool(REGB0
)) {
14292 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14294 /* ../lib/standard/kernel.nit:235 */
14295 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14297 /* ../lib/standard/collection/array.nit:280 */
14298 REGB0
= TAG_Bool(0);
14301 if (UNTAG_Bool(REGB2
)) {
14303 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14305 /* ../lib/standard/collection/array.nit:281 */
14306 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14307 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14308 if (UNTAG_Bool(REGB2
)) {
14309 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14311 /* ../lib/standard/collection/array.nit:718 */
14312 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14313 /* ../lib/standard/collection/array.nit:281 */
14315 label423
: while(0);
14316 /* compiling/compiling_icode.nit:872 */
14317 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14318 if (!once_value_424
) {
14319 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
14320 REGB1
= TAG_Int(12);
14321 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14322 once_value_424
= fra
.me
.REG
[7];
14323 register_static_object(&once_value_424
);
14324 } else fra
.me
.REG
[7] = once_value_424
;
14325 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14327 REGB1
= TAG_Int(4);
14328 /* ../lib/standard/collection/array.nit:278 */
14329 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14330 /* ../lib/standard/collection/array.nit:280 */
14331 REGB2
= TAG_Int(0);
14332 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14333 if (UNTAG_Bool(REGB0
)) {
14335 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14337 /* ../lib/standard/kernel.nit:236 */
14338 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14339 /* ../lib/standard/collection/array.nit:280 */
14340 if (UNTAG_Bool(REGB2
)) {
14341 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14342 if (UNTAG_Bool(REGB2
)) {
14344 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14346 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14347 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14348 if (UNTAG_Bool(REGB0
)) {
14350 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14352 /* ../lib/standard/kernel.nit:235 */
14353 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14355 /* ../lib/standard/collection/array.nit:280 */
14356 REGB0
= TAG_Bool(0);
14359 if (UNTAG_Bool(REGB2
)) {
14361 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14363 /* ../lib/standard/collection/array.nit:281 */
14364 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14365 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14366 if (UNTAG_Bool(REGB2
)) {
14367 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14369 /* ../lib/standard/collection/array.nit:718 */
14370 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14371 /* ../lib/standard/collection/array.nit:281 */
14373 label425
: while(0);
14374 /* compiling/compiling_icode.nit:872 */
14375 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14376 if (!once_value_426
) {
14377 fra
.me
.REG
[7] = BOX_NativeString("), UNBOX_NativeString(");
14378 REGB1
= TAG_Int(22);
14379 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14380 once_value_426
= fra
.me
.REG
[7];
14381 register_static_object(&once_value_426
);
14382 } else fra
.me
.REG
[7] = once_value_426
;
14383 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14385 REGB1
= TAG_Int(0);
14386 /* ../lib/standard/collection/array.nit:278 */
14387 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14388 /* ../lib/standard/collection/array.nit:280 */
14389 REGB2
= TAG_Int(0);
14390 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14391 if (UNTAG_Bool(REGB0
)) {
14393 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14395 /* ../lib/standard/kernel.nit:236 */
14396 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14397 /* ../lib/standard/collection/array.nit:280 */
14398 if (UNTAG_Bool(REGB2
)) {
14399 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14400 if (UNTAG_Bool(REGB2
)) {
14402 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14404 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14405 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14406 if (UNTAG_Bool(REGB0
)) {
14408 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14410 /* ../lib/standard/kernel.nit:235 */
14411 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14413 /* ../lib/standard/collection/array.nit:280 */
14414 REGB0
= TAG_Bool(0);
14417 if (UNTAG_Bool(REGB2
)) {
14419 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14421 /* ../lib/standard/collection/array.nit:281 */
14422 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14423 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14424 if (UNTAG_Bool(REGB2
)) {
14425 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14427 /* ../lib/standard/collection/array.nit:718 */
14428 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14429 /* ../lib/standard/collection/array.nit:281 */
14431 label427
: while(0);
14432 /* compiling/compiling_icode.nit:872 */
14433 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14434 if (!once_value_428
) {
14435 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
14436 REGB1
= TAG_Int(12);
14437 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14438 once_value_428
= fra
.me
.REG
[7];
14439 register_static_object(&once_value_428
);
14440 } else fra
.me
.REG
[7] = once_value_428
;
14441 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14443 REGB1
= TAG_Int(3);
14444 /* ../lib/standard/collection/array.nit:278 */
14445 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14446 /* ../lib/standard/collection/array.nit:280 */
14447 REGB2
= TAG_Int(0);
14448 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14449 if (UNTAG_Bool(REGB0
)) {
14451 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14453 /* ../lib/standard/kernel.nit:236 */
14454 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14455 /* ../lib/standard/collection/array.nit:280 */
14456 if (UNTAG_Bool(REGB2
)) {
14457 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14458 if (UNTAG_Bool(REGB2
)) {
14460 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14462 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14463 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14464 if (UNTAG_Bool(REGB0
)) {
14466 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14468 /* ../lib/standard/kernel.nit:235 */
14469 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14471 /* ../lib/standard/collection/array.nit:280 */
14472 REGB0
= TAG_Bool(0);
14475 if (UNTAG_Bool(REGB2
)) {
14477 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14479 /* ../lib/standard/collection/array.nit:281 */
14480 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14481 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14482 if (UNTAG_Bool(REGB2
)) {
14483 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14485 /* ../lib/standard/collection/array.nit:718 */
14486 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14487 /* ../lib/standard/collection/array.nit:281 */
14489 label429
: while(0);
14490 /* compiling/compiling_icode.nit:872 */
14491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14492 if (!once_value_430
) {
14493 fra
.me
.REG
[7] = BOX_NativeString("), UNTAG_Int(");
14494 REGB1
= TAG_Int(13);
14495 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14496 once_value_430
= fra
.me
.REG
[7];
14497 register_static_object(&once_value_430
);
14498 } else fra
.me
.REG
[7] = once_value_430
;
14499 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14500 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14501 REGB1
= TAG_Int(2);
14502 /* ../lib/standard/collection/array.nit:278 */
14503 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14504 /* ../lib/standard/collection/array.nit:280 */
14505 REGB2
= TAG_Int(0);
14506 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14507 if (UNTAG_Bool(REGB0
)) {
14509 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14511 /* ../lib/standard/kernel.nit:236 */
14512 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14513 /* ../lib/standard/collection/array.nit:280 */
14514 if (UNTAG_Bool(REGB2
)) {
14515 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14516 if (UNTAG_Bool(REGB2
)) {
14518 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14520 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14521 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14522 if (UNTAG_Bool(REGB0
)) {
14524 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14526 /* ../lib/standard/kernel.nit:235 */
14527 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14529 /* ../lib/standard/collection/array.nit:280 */
14530 REGB0
= TAG_Bool(0);
14533 if (UNTAG_Bool(REGB2
)) {
14535 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14537 /* ../lib/standard/collection/array.nit:281 */
14538 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14539 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14540 if (UNTAG_Bool(REGB2
)) {
14541 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14543 /* ../lib/standard/collection/array.nit:718 */
14544 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14545 /* ../lib/standard/collection/array.nit:281 */
14547 label431
: while(0);
14548 /* compiling/compiling_icode.nit:872 */
14549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14550 if (!once_value_432
) {
14551 fra
.me
.REG
[7] = BOX_NativeString("));");
14552 REGB1
= TAG_Int(3);
14553 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
14554 once_value_432
= fra
.me
.REG
[7];
14555 register_static_object(&once_value_432
);
14556 } else fra
.me
.REG
[7] = once_value_432
;
14557 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14558 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14559 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14560 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14567 /* compiling/compiling_icode.nit:874 */
14568 if (!once_value_433
) {
14569 if (!once_value_434
) {
14570 fra
.me
.REG
[6] = BOX_NativeString("Sys");
14571 REGB1
= TAG_Int(3);
14572 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14573 once_value_434
= fra
.me
.REG
[6];
14574 register_static_object(&once_value_434
);
14575 } else fra
.me
.REG
[6] = once_value_434
;
14576 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14577 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14578 once_value_433
= fra
.me
.REG
[6];
14579 register_static_object(&once_value_433
);
14580 } else fra
.me
.REG
[6] = once_value_433
;
14581 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14582 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
14583 if (UNTAG_Bool(REGB1
)) {
14585 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
14588 if (UNTAG_Bool(REGB1
)) {
14589 /* compiling/compiling_icode.nit:875 */
14590 if (!once_value_435
) {
14591 if (!once_value_436
) {
14592 fra
.me
.REG
[6] = BOX_NativeString("force_garbage_collection");
14593 REGB1
= TAG_Int(24);
14594 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14595 once_value_436
= fra
.me
.REG
[6];
14596 register_static_object(&once_value_436
);
14597 } else fra
.me
.REG
[6] = once_value_436
;
14598 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14599 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14600 once_value_435
= fra
.me
.REG
[6];
14601 register_static_object(&once_value_435
);
14602 } else fra
.me
.REG
[6] = once_value_435
;
14603 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14604 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14605 if (UNTAG_Bool(REGB1
)) {
14607 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14610 if (UNTAG_Bool(REGB1
)) {
14611 /* compiling/compiling_icode.nit:876 */
14612 if (!once_value_437
) {
14613 fra
.me
.REG
[6] = BOX_NativeString("Nit_gc_force_garbage_collection()");
14614 REGB1
= TAG_Int(33);
14615 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14616 once_value_437
= fra
.me
.REG
[6];
14617 register_static_object(&once_value_437
);
14618 } else fra
.me
.REG
[6] = once_value_437
;
14619 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14620 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14623 /* compiling/compiling_icode.nit:878 */
14624 if (!once_value_438
) {
14625 if (!once_value_439
) {
14626 fra
.me
.REG
[6] = BOX_NativeString("object_id");
14627 REGB1
= TAG_Int(9);
14628 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14629 once_value_439
= fra
.me
.REG
[6];
14630 register_static_object(&once_value_439
);
14631 } else fra
.me
.REG
[6] = once_value_439
;
14632 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14633 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14634 once_value_438
= fra
.me
.REG
[6];
14635 register_static_object(&once_value_438
);
14636 } else fra
.me
.REG
[6] = once_value_438
;
14637 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14638 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14639 if (UNTAG_Bool(REGB1
)) {
14641 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14644 if (UNTAG_Bool(REGB1
)) {
14645 /* compiling/compiling_icode.nit:879 */
14646 REGB1
= TAG_Int(3);
14647 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14648 if (!once_value_440
) {
14649 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int((bigint)((obj_t)");
14650 REGB1
= TAG_Int(24);
14651 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14652 once_value_440
= fra
.me
.REG
[2];
14653 register_static_object(&once_value_440
);
14654 } else fra
.me
.REG
[2] = once_value_440
;
14655 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14657 REGB1
= TAG_Int(0);
14658 /* ../lib/standard/collection/array.nit:278 */
14659 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14660 /* ../lib/standard/collection/array.nit:280 */
14661 REGB2
= TAG_Int(0);
14662 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14663 if (UNTAG_Bool(REGB0
)) {
14665 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14667 /* ../lib/standard/kernel.nit:236 */
14668 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14669 /* ../lib/standard/collection/array.nit:280 */
14670 if (UNTAG_Bool(REGB2
)) {
14671 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14672 if (UNTAG_Bool(REGB2
)) {
14674 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14676 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14677 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14678 if (UNTAG_Bool(REGB0
)) {
14680 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14682 /* ../lib/standard/kernel.nit:235 */
14683 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14685 /* ../lib/standard/collection/array.nit:280 */
14686 REGB0
= TAG_Bool(0);
14689 if (UNTAG_Bool(REGB2
)) {
14691 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14693 /* ../lib/standard/collection/array.nit:281 */
14694 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14695 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14696 if (UNTAG_Bool(REGB2
)) {
14697 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14699 /* ../lib/standard/collection/array.nit:718 */
14700 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14701 /* ../lib/standard/collection/array.nit:281 */
14703 label441
: while(0);
14704 /* compiling/compiling_icode.nit:879 */
14705 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14706 if (!once_value_442
) {
14707 fra
.me
.REG
[2] = BOX_NativeString(")[1].object_id)");
14708 REGB1
= TAG_Int(15);
14709 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14710 once_value_442
= fra
.me
.REG
[2];
14711 register_static_object(&once_value_442
);
14712 } else fra
.me
.REG
[2] = once_value_442
;
14713 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14715 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14716 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14718 /* compiling/compiling_icode.nit:880 */
14719 if (!once_value_443
) {
14720 if (!once_value_444
) {
14721 fra
.me
.REG
[6] = BOX_NativeString("sys");
14722 REGB1
= TAG_Int(3);
14723 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14724 once_value_444
= fra
.me
.REG
[6];
14725 register_static_object(&once_value_444
);
14726 } else fra
.me
.REG
[6] = once_value_444
;
14727 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14728 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14729 once_value_443
= fra
.me
.REG
[6];
14730 register_static_object(&once_value_443
);
14731 } else fra
.me
.REG
[6] = once_value_443
;
14732 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14733 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14734 if (UNTAG_Bool(REGB1
)) {
14736 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14739 if (UNTAG_Bool(REGB1
)) {
14740 /* compiling/compiling_icode.nit:881 */
14741 if (!once_value_445
) {
14742 fra
.me
.REG
[6] = BOX_NativeString("(G_sys)");
14743 REGB1
= TAG_Int(7);
14744 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14745 once_value_445
= fra
.me
.REG
[6];
14746 register_static_object(&once_value_445
);
14747 } else fra
.me
.REG
[6] = once_value_445
;
14748 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14749 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14751 /* compiling/compiling_icode.nit:882 */
14752 if (!once_value_446
) {
14753 if (!once_value_447
) {
14754 fra
.me
.REG
[6] = BOX_NativeString("is_same_type");
14755 REGB1
= TAG_Int(12);
14756 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14757 once_value_447
= fra
.me
.REG
[6];
14758 register_static_object(&once_value_447
);
14759 } else fra
.me
.REG
[6] = once_value_447
;
14760 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14761 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14762 once_value_446
= fra
.me
.REG
[6];
14763 register_static_object(&once_value_446
);
14764 } else fra
.me
.REG
[6] = once_value_446
;
14765 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14766 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14767 if (UNTAG_Bool(REGB1
)) {
14769 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14772 if (UNTAG_Bool(REGB1
)) {
14773 /* compiling/compiling_icode.nit:883 */
14774 REGB1
= TAG_Int(5);
14775 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14776 if (!once_value_448
) {
14777 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool((VAL2VFT(");
14778 REGB1
= TAG_Int(18);
14779 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14780 once_value_448
= fra
.me
.REG
[2];
14781 register_static_object(&once_value_448
);
14782 } else fra
.me
.REG
[2] = once_value_448
;
14783 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14785 REGB1
= TAG_Int(0);
14786 /* ../lib/standard/collection/array.nit:278 */
14787 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14788 /* ../lib/standard/collection/array.nit:280 */
14789 REGB2
= TAG_Int(0);
14790 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14791 if (UNTAG_Bool(REGB0
)) {
14793 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14795 /* ../lib/standard/kernel.nit:236 */
14796 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14797 /* ../lib/standard/collection/array.nit:280 */
14798 if (UNTAG_Bool(REGB2
)) {
14799 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14800 if (UNTAG_Bool(REGB2
)) {
14802 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14804 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14805 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14806 if (UNTAG_Bool(REGB0
)) {
14808 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14810 /* ../lib/standard/kernel.nit:235 */
14811 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14813 /* ../lib/standard/collection/array.nit:280 */
14814 REGB0
= TAG_Bool(0);
14817 if (UNTAG_Bool(REGB2
)) {
14819 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14821 /* ../lib/standard/collection/array.nit:281 */
14822 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14823 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14824 if (UNTAG_Bool(REGB2
)) {
14825 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14827 /* ../lib/standard/collection/array.nit:718 */
14828 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14829 /* ../lib/standard/collection/array.nit:281 */
14831 label449
: while(0);
14832 /* compiling/compiling_icode.nit:883 */
14833 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14834 if (!once_value_450
) {
14835 fra
.me
.REG
[2] = BOX_NativeString(")==VAL2VFT(");
14836 REGB1
= TAG_Int(11);
14837 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14838 once_value_450
= fra
.me
.REG
[2];
14839 register_static_object(&once_value_450
);
14840 } else fra
.me
.REG
[2] = once_value_450
;
14841 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14843 REGB1
= TAG_Int(1);
14844 /* ../lib/standard/collection/array.nit:278 */
14845 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14846 /* ../lib/standard/collection/array.nit:280 */
14847 REGB2
= TAG_Int(0);
14848 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14849 if (UNTAG_Bool(REGB0
)) {
14851 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14853 /* ../lib/standard/kernel.nit:236 */
14854 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14855 /* ../lib/standard/collection/array.nit:280 */
14856 if (UNTAG_Bool(REGB2
)) {
14857 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14858 if (UNTAG_Bool(REGB2
)) {
14860 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14862 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14863 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14864 if (UNTAG_Bool(REGB0
)) {
14866 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14868 /* ../lib/standard/kernel.nit:235 */
14869 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14871 /* ../lib/standard/collection/array.nit:280 */
14872 REGB0
= TAG_Bool(0);
14875 if (UNTAG_Bool(REGB2
)) {
14877 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14879 /* ../lib/standard/collection/array.nit:281 */
14880 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14881 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14882 if (UNTAG_Bool(REGB2
)) {
14883 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14885 /* ../lib/standard/collection/array.nit:718 */
14886 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14887 /* ../lib/standard/collection/array.nit:281 */
14889 label451
: while(0);
14890 /* compiling/compiling_icode.nit:883 */
14891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14892 if (!once_value_452
) {
14893 fra
.me
.REG
[2] = BOX_NativeString(")))");
14894 REGB1
= TAG_Int(3);
14895 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14896 once_value_452
= fra
.me
.REG
[2];
14897 register_static_object(&once_value_452
);
14898 } else fra
.me
.REG
[2] = once_value_452
;
14899 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14900 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14901 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14902 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14904 /* compiling/compiling_icode.nit:884 */
14905 if (!once_value_453
) {
14906 if (!once_value_454
) {
14907 fra
.me
.REG
[6] = BOX_NativeString("exit");
14908 REGB1
= TAG_Int(4);
14909 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
14910 once_value_454
= fra
.me
.REG
[6];
14911 register_static_object(&once_value_454
);
14912 } else fra
.me
.REG
[6] = once_value_454
;
14913 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14914 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14915 once_value_453
= fra
.me
.REG
[6];
14916 register_static_object(&once_value_453
);
14917 } else fra
.me
.REG
[6] = once_value_453
;
14918 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14919 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14920 if (UNTAG_Bool(REGB1
)) {
14922 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14925 if (UNTAG_Bool(REGB1
)) {
14926 /* compiling/compiling_icode.nit:885 */
14927 REGB1
= TAG_Int(3);
14928 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14929 if (!once_value_455
) {
14930 fra
.me
.REG
[2] = BOX_NativeString("exit(UNTAG_Int(");
14931 REGB1
= TAG_Int(15);
14932 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14933 once_value_455
= fra
.me
.REG
[2];
14934 register_static_object(&once_value_455
);
14935 } else fra
.me
.REG
[2] = once_value_455
;
14936 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14937 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14938 REGB1
= TAG_Int(1);
14939 /* ../lib/standard/collection/array.nit:278 */
14940 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14941 /* ../lib/standard/collection/array.nit:280 */
14942 REGB2
= TAG_Int(0);
14943 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14944 if (UNTAG_Bool(REGB0
)) {
14946 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14948 /* ../lib/standard/kernel.nit:236 */
14949 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14950 /* ../lib/standard/collection/array.nit:280 */
14951 if (UNTAG_Bool(REGB2
)) {
14952 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14953 if (UNTAG_Bool(REGB2
)) {
14955 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
14957 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14958 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14959 if (UNTAG_Bool(REGB0
)) {
14961 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14963 /* ../lib/standard/kernel.nit:235 */
14964 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14966 /* ../lib/standard/collection/array.nit:280 */
14967 REGB0
= TAG_Bool(0);
14970 if (UNTAG_Bool(REGB2
)) {
14972 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
14974 /* ../lib/standard/collection/array.nit:281 */
14975 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14976 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14977 if (UNTAG_Bool(REGB2
)) {
14978 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
14980 /* ../lib/standard/collection/array.nit:718 */
14981 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14982 /* ../lib/standard/collection/array.nit:281 */
14984 label456
: while(0);
14985 /* compiling/compiling_icode.nit:885 */
14986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14987 if (!once_value_457
) {
14988 fra
.me
.REG
[2] = BOX_NativeString("));");
14989 REGB1
= TAG_Int(3);
14990 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
14991 once_value_457
= fra
.me
.REG
[2];
14992 register_static_object(&once_value_457
);
14993 } else fra
.me
.REG
[2] = once_value_457
;
14994 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14995 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14996 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14997 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14999 /* compiling/compiling_icode.nit:886 */
15000 if (!once_value_458
) {
15001 if (!once_value_459
) {
15002 fra
.me
.REG
[6] = BOX_NativeString("calloc_array");
15003 REGB1
= TAG_Int(12);
15004 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15005 once_value_459
= fra
.me
.REG
[6];
15006 register_static_object(&once_value_459
);
15007 } else fra
.me
.REG
[6] = once_value_459
;
15008 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15009 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15010 once_value_458
= fra
.me
.REG
[6];
15011 register_static_object(&once_value_458
);
15012 } else fra
.me
.REG
[6] = once_value_458
;
15013 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15014 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15015 if (UNTAG_Bool(REGB1
)) {
15017 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15020 if (UNTAG_Bool(REGB1
)) {
15021 /* compiling/compiling_icode.nit:887 */
15022 REGB1
= TAG_Int(3);
15023 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15024 if (!once_value_460
) {
15025 fra
.me
.REG
[2] = BOX_NativeString("NEW_NativeArray(UNTAG_Int(");
15026 REGB1
= TAG_Int(26);
15027 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15028 once_value_460
= fra
.me
.REG
[2];
15029 register_static_object(&once_value_460
);
15030 } else fra
.me
.REG
[2] = once_value_460
;
15031 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15033 REGB1
= TAG_Int(1);
15034 /* ../lib/standard/collection/array.nit:278 */
15035 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15036 /* ../lib/standard/collection/array.nit:280 */
15037 REGB2
= TAG_Int(0);
15038 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15039 if (UNTAG_Bool(REGB0
)) {
15041 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15043 /* ../lib/standard/kernel.nit:236 */
15044 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15045 /* ../lib/standard/collection/array.nit:280 */
15046 if (UNTAG_Bool(REGB2
)) {
15047 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15048 if (UNTAG_Bool(REGB2
)) {
15050 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15052 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15053 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15054 if (UNTAG_Bool(REGB0
)) {
15056 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15058 /* ../lib/standard/kernel.nit:235 */
15059 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15061 /* ../lib/standard/collection/array.nit:280 */
15062 REGB0
= TAG_Bool(0);
15065 if (UNTAG_Bool(REGB2
)) {
15067 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
15069 /* ../lib/standard/collection/array.nit:281 */
15070 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15071 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15072 if (UNTAG_Bool(REGB2
)) {
15073 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15075 /* ../lib/standard/collection/array.nit:718 */
15076 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15077 /* ../lib/standard/collection/array.nit:281 */
15079 label461
: while(0);
15080 /* compiling/compiling_icode.nit:887 */
15081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15082 if (!once_value_462
) {
15083 fra
.me
.REG
[2] = BOX_NativeString("), sizeof(val_t))");
15084 REGB1
= TAG_Int(17);
15085 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15086 once_value_462
= fra
.me
.REG
[2];
15087 register_static_object(&once_value_462
);
15088 } else fra
.me
.REG
[2] = once_value_462
;
15089 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15090 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15091 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15092 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15094 /* compiling/compiling_icode.nit:888 */
15095 if (!once_value_463
) {
15096 if (!once_value_464
) {
15097 fra
.me
.REG
[6] = BOX_NativeString("calloc_string");
15098 REGB1
= TAG_Int(13);
15099 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15100 once_value_464
= fra
.me
.REG
[6];
15101 register_static_object(&once_value_464
);
15102 } else fra
.me
.REG
[6] = once_value_464
;
15103 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15104 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15105 once_value_463
= fra
.me
.REG
[6];
15106 register_static_object(&once_value_463
);
15107 } else fra
.me
.REG
[6] = once_value_463
;
15108 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15109 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15110 if (UNTAG_Bool(REGB1
)) {
15112 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15115 if (UNTAG_Bool(REGB1
)) {
15116 /* compiling/compiling_icode.nit:889 */
15117 REGB1
= TAG_Int(3);
15118 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15119 if (!once_value_465
) {
15120 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString((char*)raw_alloc((UNTAG_Int(");
15121 REGB1
= TAG_Int(45);
15122 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15123 once_value_465
= fra
.me
.REG
[2];
15124 register_static_object(&once_value_465
);
15125 } else fra
.me
.REG
[2] = once_value_465
;
15126 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15127 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15128 REGB1
= TAG_Int(1);
15129 /* ../lib/standard/collection/array.nit:278 */
15130 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15131 /* ../lib/standard/collection/array.nit:280 */
15132 REGB2
= TAG_Int(0);
15133 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15134 if (UNTAG_Bool(REGB0
)) {
15136 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15138 /* ../lib/standard/kernel.nit:236 */
15139 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15140 /* ../lib/standard/collection/array.nit:280 */
15141 if (UNTAG_Bool(REGB2
)) {
15142 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15143 if (UNTAG_Bool(REGB2
)) {
15145 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15147 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15148 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15149 if (UNTAG_Bool(REGB0
)) {
15151 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15153 /* ../lib/standard/kernel.nit:235 */
15154 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15156 /* ../lib/standard/collection/array.nit:280 */
15157 REGB0
= TAG_Bool(0);
15160 if (UNTAG_Bool(REGB2
)) {
15162 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
15164 /* ../lib/standard/collection/array.nit:281 */
15165 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15166 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15167 if (UNTAG_Bool(REGB2
)) {
15168 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15170 /* ../lib/standard/collection/array.nit:718 */
15171 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15172 /* ../lib/standard/collection/array.nit:281 */
15174 label466
: while(0);
15175 /* compiling/compiling_icode.nit:889 */
15176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15177 if (!once_value_467
) {
15178 fra
.me
.REG
[2] = BOX_NativeString(") * sizeof(char))))");
15179 REGB1
= TAG_Int(19);
15180 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15181 once_value_467
= fra
.me
.REG
[2];
15182 register_static_object(&once_value_467
);
15183 } else fra
.me
.REG
[2] = once_value_467
;
15184 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15185 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15186 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15187 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15189 /* compiling/compiling_icode.nit:891 */
15190 if (!once_value_468
) {
15191 if (!once_value_469
) {
15192 fra
.me
.REG
[6] = BOX_NativeString("output_class_name");
15193 REGB1
= TAG_Int(17);
15194 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15195 once_value_469
= fra
.me
.REG
[6];
15196 register_static_object(&once_value_469
);
15197 } else fra
.me
.REG
[6] = once_value_469
;
15198 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15199 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15200 once_value_468
= fra
.me
.REG
[6];
15201 register_static_object(&once_value_468
);
15202 } else fra
.me
.REG
[6] = once_value_468
;
15203 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15204 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15205 if (UNTAG_Bool(REGB1
)) {
15207 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15210 if (UNTAG_Bool(REGB1
)) {
15211 /* compiling/compiling_icode.nit:892 */
15212 REGB1
= TAG_Int(3);
15213 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15214 if (!once_value_470
) {
15215 fra
.me
.REG
[2] = BOX_NativeString("printf(\"%s\\n\", VAL2VFT(");
15216 REGB1
= TAG_Int(23);
15217 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15218 once_value_470
= fra
.me
.REG
[2];
15219 register_static_object(&once_value_470
);
15220 } else fra
.me
.REG
[2] = once_value_470
;
15221 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15222 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15223 REGB1
= TAG_Int(0);
15224 /* ../lib/standard/collection/array.nit:278 */
15225 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15226 /* ../lib/standard/collection/array.nit:280 */
15227 REGB2
= TAG_Int(0);
15228 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15229 if (UNTAG_Bool(REGB0
)) {
15231 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15233 /* ../lib/standard/kernel.nit:236 */
15234 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15235 /* ../lib/standard/collection/array.nit:280 */
15236 if (UNTAG_Bool(REGB2
)) {
15237 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15238 if (UNTAG_Bool(REGB2
)) {
15240 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15242 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15243 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15244 if (UNTAG_Bool(REGB0
)) {
15246 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15248 /* ../lib/standard/kernel.nit:235 */
15249 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15251 /* ../lib/standard/collection/array.nit:280 */
15252 REGB0
= TAG_Bool(0);
15255 if (UNTAG_Bool(REGB2
)) {
15257 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
15259 /* ../lib/standard/collection/array.nit:281 */
15260 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15261 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15262 if (UNTAG_Bool(REGB2
)) {
15263 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15265 /* ../lib/standard/collection/array.nit:718 */
15266 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15267 /* ../lib/standard/collection/array.nit:281 */
15269 label471
: while(0);
15270 /* compiling/compiling_icode.nit:892 */
15271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15272 if (!once_value_472
) {
15273 fra
.me
.REG
[2] = BOX_NativeString(")[2].cname);");
15274 REGB1
= TAG_Int(12);
15275 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15276 once_value_472
= fra
.me
.REG
[2];
15277 register_static_object(&once_value_472
);
15278 } else fra
.me
.REG
[2] = once_value_472
;
15279 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15280 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15281 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15282 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15284 /* compiling/compiling_icode.nit:894 */
15285 if (!once_value_473
) {
15286 if (!once_value_474
) {
15287 fra
.me
.REG
[6] = BOX_NativeString("native_class_name");
15288 REGB1
= TAG_Int(17);
15289 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15290 once_value_474
= fra
.me
.REG
[6];
15291 register_static_object(&once_value_474
);
15292 } else fra
.me
.REG
[6] = once_value_474
;
15293 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15294 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15295 once_value_473
= fra
.me
.REG
[6];
15296 register_static_object(&once_value_473
);
15297 } else fra
.me
.REG
[6] = once_value_473
;
15298 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15299 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15300 if (UNTAG_Bool(REGB1
)) {
15302 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15305 if (UNTAG_Bool(REGB1
)) {
15306 /* compiling/compiling_icode.nit:895 */
15307 REGB1
= TAG_Int(3);
15308 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15309 if (!once_value_475
) {
15310 fra
.me
.REG
[3] = BOX_NativeString("BOX_NativeString(VAL2VFT(");
15311 REGB1
= TAG_Int(25);
15312 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
15313 once_value_475
= fra
.me
.REG
[3];
15314 register_static_object(&once_value_475
);
15315 } else fra
.me
.REG
[3] = once_value_475
;
15316 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15317 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
15318 REGB1
= TAG_Int(0);
15319 /* ../lib/standard/collection/array.nit:280 */
15320 REGB2
= TAG_Int(0);
15321 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15322 if (UNTAG_Bool(REGB0
)) {
15324 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15326 /* ../lib/standard/kernel.nit:236 */
15327 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15328 /* ../lib/standard/collection/array.nit:280 */
15329 if (UNTAG_Bool(REGB2
)) {
15330 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
15331 if (UNTAG_Bool(REGB2
)) {
15333 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15335 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
15336 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15337 if (UNTAG_Bool(REGB0
)) {
15339 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15341 /* ../lib/standard/kernel.nit:235 */
15342 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15344 /* ../lib/standard/collection/array.nit:280 */
15345 REGB0
= TAG_Bool(0);
15348 if (UNTAG_Bool(REGB2
)) {
15350 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
15352 /* ../lib/standard/collection/array.nit:281 */
15353 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
15354 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15355 if (UNTAG_Bool(REGB2
)) {
15356 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15358 /* ../lib/standard/collection/array.nit:718 */
15359 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
15360 /* ../lib/standard/collection/array.nit:281 */
15362 label476
: while(0);
15363 /* compiling/compiling_icode.nit:895 */
15364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
15365 if (!once_value_477
) {
15366 fra
.me
.REG
[4] = BOX_NativeString(")[2].cname);");
15367 REGB1
= TAG_Int(12);
15368 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15369 once_value_477
= fra
.me
.REG
[4];
15370 register_static_object(&once_value_477
);
15371 } else fra
.me
.REG
[4] = once_value_477
;
15372 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15373 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
15374 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15375 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15391 /* compiling/compiling_icode.nit:898 */
15392 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
15393 if (UNTAG_Bool(REGB1
)) {
15395 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
15396 if (UNTAG_Bool(REGB2
)) {
15397 REGB2
= TAG_Bool(0);
15400 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
15404 if (UNTAG_Bool(REGB1
)) {
15405 /* compiling/compiling_icode.nit:899 */
15406 fra
.me
.REG
[6] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15407 /* compiling/compiling_icode.nit:900 */
15408 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15409 if (UNTAG_Bool(REGB1
)) {
15411 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15412 if (UNTAG_Bool(REGB2
)) {
15413 REGB2
= TAG_Bool(0);
15416 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
15420 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
15421 if (UNTAG_Bool(REGB1
)) {
15422 REGB1
= TAG_Int(3);
15423 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15424 if (!once_value_478
) {
15425 fra
.me
.REG
[3] = BOX_NativeString("fprintf(stderr, \"");
15426 REGB1
= TAG_Int(17);
15427 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
15428 once_value_478
= fra
.me
.REG
[3];
15429 register_static_object(&once_value_478
);
15430 } else fra
.me
.REG
[3] = once_value_478
;
15431 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
15433 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15434 if (UNTAG_Bool(REGB1
)) {
15435 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 900);
15437 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15439 if (!once_value_479
) {
15440 fra
.me
.REG
[6] = BOX_NativeString(": \");");
15441 REGB1
= TAG_Int(5);
15442 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15443 once_value_479
= fra
.me
.REG
[6];
15444 register_static_object(&once_value_479
);
15445 } else fra
.me
.REG
[6] = once_value_479
;
15446 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15448 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15449 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15451 /* compiling/compiling_icode.nit:901 */
15452 REGB1
= TAG_Int(3);
15453 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15454 if (!once_value_480
) {
15455 fra
.me
.REG
[6] = BOX_NativeString("fprintf(stderr, \"Fatal error: unknown intern method ");
15456 REGB1
= TAG_Int(52);
15457 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15458 once_value_480
= fra
.me
.REG
[6];
15459 register_static_object(&once_value_480
);
15460 } else fra
.me
.REG
[6] = once_value_480
;
15461 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15463 fra
.me
.REG
[6] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15464 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15465 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15466 if (!once_value_481
) {
15467 fra
.me
.REG
[6] = BOX_NativeString(".\\n\");");
15468 REGB1
= TAG_Int(6);
15469 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15470 once_value_481
= fra
.me
.REG
[6];
15471 register_static_object(&once_value_481
);
15472 } else fra
.me
.REG
[6] = once_value_481
;
15473 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15475 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15476 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15477 /* compiling/compiling_icode.nit:902 */
15478 if (!once_value_482
) {
15479 fra
.me
.REG
[4] = BOX_NativeString("nit_exit(1);");
15480 REGB1
= TAG_Int(12);
15481 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15482 once_value_482
= fra
.me
.REG
[4];
15483 register_static_object(&once_value_482
);
15484 } else fra
.me
.REG
[4] = once_value_482
;
15485 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15486 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15487 /* compiling/compiling_icode.nit:903 */
15488 if (!once_value_483
) {
15489 fra
.me
.REG
[4] = BOX_NativeString("NIT_NULL");
15490 REGB1
= TAG_Int(8);
15491 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
15492 once_value_483
= fra
.me
.REG
[4];
15493 register_static_object(&once_value_483
);
15494 } else fra
.me
.REG
[4] = once_value_483
;
15495 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15496 fra
.me
.REG
[5] = fra
.me
.REG
[4];
15498 /* compiling/compiling_icode.nit:905 */
15499 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15500 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15501 if (UNTAG_Bool(REGB1
)) {
15503 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15504 if (UNTAG_Bool(REGB2
)) {
15505 REGB2
= TAG_Bool(0);
15508 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
15512 if (UNTAG_Bool(REGB1
)) {
15513 /* compiling/compiling_icode.nit:906 */
15514 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15515 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15516 if (!once_value_484
) {
15517 fra
.me
.REG
[6] = BOX_NativeString(";\n");
15518 REGB1
= TAG_Int(2);
15519 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
15520 once_value_484
= fra
.me
.REG
[6];
15521 register_static_object(&once_value_484
);
15522 } else fra
.me
.REG
[6] = once_value_484
;
15523 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15524 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15526 /* compiling/compiling_icode.nit:907 */
15527 REGB1
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15528 if (UNTAG_Bool(REGB1
)) {
15529 /* compiling/compiling_icode.nit:908 */
15530 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15531 /* compiling/compiling_icode.nit:909 */
15532 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
15535 stack_frame_head
= fra
.me
.prev
;
15538 static const char LOCATE_compiling___compiling_icode___IIntValue___compile_to_c
[] = "compiling_icode::IIntValue::(compiling_icode::ICode::compile_to_c)";
15539 void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0
, val_t p1
){
15540 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15543 static val_t once_value_1
; /* Once value */
15544 static val_t once_value_2
; /* Once value */
15545 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15546 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15548 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIntValue___compile_to_c
;
15549 fra
.me
.has_broke
= 0;
15550 fra
.me
.REG_size
= 3;
15551 fra
.me
.nitni_local_ref_head
= NULL
;
15552 fra
.me
.REG
[0] = NIT_NULL
;
15553 fra
.me
.REG
[1] = NIT_NULL
;
15554 fra
.me
.REG
[2] = NIT_NULL
;
15555 fra
.me
.REG
[0] = p0
;
15556 fra
.me
.REG
[1] = p1
;
15557 /* compiling/compiling_icode.nit:917 */
15558 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15559 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15560 /* compiling/compiling_icode.nit:918 */
15561 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15562 /* compiling/compiling_icode.nit:919 */
15563 if (!once_value_1
) {
15564 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(");
15565 REGB0
= TAG_Int(8);
15566 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15567 once_value_1
= fra
.me
.REG
[2];
15568 register_static_object(&once_value_1
);
15569 } else fra
.me
.REG
[2] = once_value_1
;
15570 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15571 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15572 fra
.me
.REG
[0] = CALL_icode___icode_base___IIntValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15573 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15574 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15575 if (!once_value_2
) {
15576 fra
.me
.REG
[2] = BOX_NativeString(")");
15577 REGB0
= TAG_Int(1);
15578 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15579 once_value_2
= fra
.me
.REG
[2];
15580 register_static_object(&once_value_2
);
15581 } else fra
.me
.REG
[2] = once_value_2
;
15582 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15583 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15584 stack_frame_head
= fra
.me
.prev
;
15587 static const char LOCATE_compiling___compiling_icode___IBoolValue___compile_to_c
[] = "compiling_icode::IBoolValue::(compiling_icode::ICode::compile_to_c)";
15588 void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0
, val_t p1
){
15589 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15592 static val_t once_value_1
; /* Once value */
15593 static val_t once_value_2
; /* Once value */
15594 static val_t once_value_3
; /* Once value */
15595 static val_t once_value_4
; /* Once value */
15596 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15597 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15599 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IBoolValue___compile_to_c
;
15600 fra
.me
.has_broke
= 0;
15601 fra
.me
.REG_size
= 3;
15602 fra
.me
.nitni_local_ref_head
= NULL
;
15603 fra
.me
.REG
[0] = NIT_NULL
;
15604 fra
.me
.REG
[1] = NIT_NULL
;
15605 fra
.me
.REG
[2] = NIT_NULL
;
15606 fra
.me
.REG
[0] = p0
;
15607 fra
.me
.REG
[1] = p1
;
15608 /* compiling/compiling_icode.nit:926 */
15609 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15610 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15611 /* compiling/compiling_icode.nit:927 */
15612 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15613 /* compiling/compiling_icode.nit:928 */
15614 if (!once_value_1
) {
15615 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool(");
15616 REGB0
= TAG_Int(9);
15617 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15618 once_value_1
= fra
.me
.REG
[2];
15619 register_static_object(&once_value_1
);
15620 } else fra
.me
.REG
[2] = once_value_1
;
15621 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15622 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15623 /* compiling/compiling_icode.nit:929 */
15624 REGB0
= CALL_icode___icode_base___IBoolValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15625 if (UNTAG_Bool(REGB0
)) {
15626 if (!once_value_2
) {
15627 fra
.me
.REG
[0] = BOX_NativeString("1");
15628 REGB0
= TAG_Int(1);
15629 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15630 once_value_2
= fra
.me
.REG
[0];
15631 register_static_object(&once_value_2
);
15632 } else fra
.me
.REG
[0] = once_value_2
;
15633 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15634 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15636 if (!once_value_3
) {
15637 fra
.me
.REG
[0] = BOX_NativeString("0");
15638 REGB0
= TAG_Int(1);
15639 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15640 once_value_3
= fra
.me
.REG
[0];
15641 register_static_object(&once_value_3
);
15642 } else fra
.me
.REG
[0] = once_value_3
;
15643 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15644 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15646 /* compiling/compiling_icode.nit:930 */
15647 if (!once_value_4
) {
15648 fra
.me
.REG
[0] = BOX_NativeString(")");
15649 REGB0
= TAG_Int(1);
15650 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
15651 once_value_4
= fra
.me
.REG
[0];
15652 register_static_object(&once_value_4
);
15653 } else fra
.me
.REG
[0] = once_value_4
;
15654 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15655 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15656 stack_frame_head
= fra
.me
.prev
;
15659 static const char LOCATE_compiling___compiling_icode___ICharValue___compile_to_c
[] = "compiling_icode::ICharValue::(compiling_icode::ICode::compile_to_c)";
15660 void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0
, val_t p1
){
15661 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15664 static val_t once_value_1
; /* Once value */
15665 static val_t once_value_2
; /* Once value */
15666 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15667 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15669 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICharValue___compile_to_c
;
15670 fra
.me
.has_broke
= 0;
15671 fra
.me
.REG_size
= 3;
15672 fra
.me
.nitni_local_ref_head
= NULL
;
15673 fra
.me
.REG
[0] = NIT_NULL
;
15674 fra
.me
.REG
[1] = NIT_NULL
;
15675 fra
.me
.REG
[2] = NIT_NULL
;
15676 fra
.me
.REG
[0] = p0
;
15677 fra
.me
.REG
[1] = p1
;
15678 /* compiling/compiling_icode.nit:937 */
15679 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15680 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15681 /* compiling/compiling_icode.nit:938 */
15682 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15683 /* compiling/compiling_icode.nit:939 */
15684 if (!once_value_1
) {
15685 fra
.me
.REG
[2] = BOX_NativeString("TAG_Char(");
15686 REGB0
= TAG_Int(9);
15687 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15688 once_value_1
= fra
.me
.REG
[2];
15689 register_static_object(&once_value_1
);
15690 } else fra
.me
.REG
[2] = once_value_1
;
15691 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15692 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15693 fra
.me
.REG
[0] = CALL_icode___icode_base___ICharValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15694 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15695 if (!once_value_2
) {
15696 fra
.me
.REG
[2] = BOX_NativeString(")");
15697 REGB0
= TAG_Int(1);
15698 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15699 once_value_2
= fra
.me
.REG
[2];
15700 register_static_object(&once_value_2
);
15701 } else fra
.me
.REG
[2] = once_value_2
;
15702 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15703 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15704 stack_frame_head
= fra
.me
.prev
;
15707 static const char LOCATE_compiling___compiling_icode___IFloatValue___compile_to_c
[] = "compiling_icode::IFloatValue::(compiling_icode::ICode::compile_to_c)";
15708 void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0
, val_t p1
){
15709 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15712 static val_t once_value_1
; /* Once value */
15713 static val_t once_value_2
; /* Once value */
15714 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15715 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15717 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IFloatValue___compile_to_c
;
15718 fra
.me
.has_broke
= 0;
15719 fra
.me
.REG_size
= 3;
15720 fra
.me
.nitni_local_ref_head
= NULL
;
15721 fra
.me
.REG
[0] = NIT_NULL
;
15722 fra
.me
.REG
[1] = NIT_NULL
;
15723 fra
.me
.REG
[2] = NIT_NULL
;
15724 fra
.me
.REG
[0] = p0
;
15725 fra
.me
.REG
[1] = p1
;
15726 /* compiling/compiling_icode.nit:946 */
15727 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15728 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15729 /* compiling/compiling_icode.nit:947 */
15730 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15731 /* compiling/compiling_icode.nit:948 */
15732 if (!once_value_1
) {
15733 fra
.me
.REG
[2] = BOX_NativeString("BOX_Float(");
15734 REGB0
= TAG_Int(10);
15735 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15736 once_value_1
= fra
.me
.REG
[2];
15737 register_static_object(&once_value_1
);
15738 } else fra
.me
.REG
[2] = once_value_1
;
15739 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15740 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15741 fra
.me
.REG
[0] = CALL_icode___icode_base___IFloatValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15742 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15743 if (!once_value_2
) {
15744 fra
.me
.REG
[2] = BOX_NativeString(")");
15745 REGB0
= TAG_Int(1);
15746 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15747 once_value_2
= fra
.me
.REG
[2];
15748 register_static_object(&once_value_2
);
15749 } else fra
.me
.REG
[2] = once_value_2
;
15750 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15751 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15752 stack_frame_head
= fra
.me
.prev
;
15755 static const char LOCATE_compiling___compiling_icode___IStringValue___compile_to_c
[] = "compiling_icode::IStringValue::(compiling_icode::ICode::compile_to_c)";
15756 void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0
, val_t p1
){
15757 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15760 static val_t once_value_1
; /* Once value */
15761 static val_t once_value_2
; /* Once value */
15762 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15763 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15765 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IStringValue___compile_to_c
;
15766 fra
.me
.has_broke
= 0;
15767 fra
.me
.REG_size
= 3;
15768 fra
.me
.nitni_local_ref_head
= NULL
;
15769 fra
.me
.REG
[0] = NIT_NULL
;
15770 fra
.me
.REG
[1] = NIT_NULL
;
15771 fra
.me
.REG
[2] = NIT_NULL
;
15772 fra
.me
.REG
[0] = p0
;
15773 fra
.me
.REG
[1] = p1
;
15774 /* compiling/compiling_icode.nit:955 */
15775 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15776 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15777 /* compiling/compiling_icode.nit:956 */
15778 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15779 /* compiling/compiling_icode.nit:957 */
15780 if (!once_value_1
) {
15781 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString(\"");
15782 REGB0
= TAG_Int(18);
15783 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15784 once_value_1
= fra
.me
.REG
[2];
15785 register_static_object(&once_value_1
);
15786 } else fra
.me
.REG
[2] = once_value_1
;
15787 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15788 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15789 fra
.me
.REG
[0] = CALL_icode___icode_base___IStringValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15790 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15791 if (!once_value_2
) {
15792 fra
.me
.REG
[2] = BOX_NativeString("\")");
15793 REGB0
= TAG_Int(2);
15794 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15795 once_value_2
= fra
.me
.REG
[2];
15796 register_static_object(&once_value_2
);
15797 } else fra
.me
.REG
[2] = once_value_2
;
15798 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15799 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15800 stack_frame_head
= fra
.me
.prev
;
15803 static const char LOCATE_compiling___compiling_icode___IAbort___compile_to_c
[] = "compiling_icode::IAbort::(compiling_icode::ICode::compile_to_c)";
15804 void compiling___compiling_icode___IAbort___compile_to_c(val_t p0
, val_t p1
){
15805 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15810 static val_t once_value_1
; /* Once value */
15811 static val_t once_value_3
; /* Once value */
15812 static val_t once_value_5
; /* Once value */
15813 static val_t once_value_6
; /* Once value */
15814 static val_t once_value_7
; /* Once value */
15815 static val_t once_value_8
; /* Once value */
15816 static val_t once_value_9
; /* Once value */
15817 static val_t once_value_10
; /* Once value */
15818 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15819 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15821 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbort___compile_to_c
;
15822 fra
.me
.has_broke
= 0;
15823 fra
.me
.REG_size
= 3;
15824 fra
.me
.nitni_local_ref_head
= NULL
;
15825 fra
.me
.REG
[0] = NIT_NULL
;
15826 fra
.me
.REG
[1] = NIT_NULL
;
15827 fra
.me
.REG
[2] = NIT_NULL
;
15828 fra
.me
.REG
[0] = p0
;
15829 fra
.me
.REG
[1] = p1
;
15830 /* compiling/compiling_icode.nit:964 */
15831 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15832 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15833 /* compiling/compiling_icode.nit:965 */
15834 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15835 /* compiling/compiling_icode.nit:966 */
15836 if (!once_value_1
) {
15837 fra
.me
.REG
[2] = BOX_NativeString("nit_abort(\"");
15838 REGB0
= TAG_Int(11);
15839 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
15840 once_value_1
= fra
.me
.REG
[2];
15841 register_static_object(&once_value_1
);
15842 } else fra
.me
.REG
[2] = once_value_1
;
15843 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15844 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15845 /* compiling/compiling_icode.nit:967 */
15846 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15847 REGB0
= TAG_Int(0);
15848 /* ../lib/standard/collection/array.nit:280 */
15849 REGB1
= TAG_Int(0);
15850 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15851 if (UNTAG_Bool(REGB2
)) {
15853 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15855 /* ../lib/standard/kernel.nit:236 */
15856 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
15857 /* ../lib/standard/collection/array.nit:280 */
15858 if (UNTAG_Bool(REGB1
)) {
15859 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15860 if (UNTAG_Bool(REGB1
)) {
15862 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15864 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15865 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15866 if (UNTAG_Bool(REGB2
)) {
15868 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15870 /* ../lib/standard/kernel.nit:235 */
15871 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
15873 /* ../lib/standard/collection/array.nit:280 */
15874 REGB2
= TAG_Bool(0);
15877 if (UNTAG_Bool(REGB1
)) {
15879 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
15881 /* ../lib/standard/collection/array.nit:281 */
15882 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15883 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15884 if (UNTAG_Bool(REGB1
)) {
15885 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15887 /* ../lib/standard/collection/array.nit:718 */
15888 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
15889 /* ../lib/standard/collection/array.nit:281 */
15892 /* compiling/compiling_icode.nit:967 */
15893 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15894 /* compiling/compiling_icode.nit:968 */
15895 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15896 /* ../lib/standard/collection/array.nit:24 */
15897 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15898 if (UNTAG_Bool(REGB0
)) {
15900 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
15902 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15903 /* compiling/compiling_icode.nit:968 */
15904 REGB1
= TAG_Int(1);
15905 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15906 if (UNTAG_Bool(REGB2
)) {
15908 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15910 /* ../lib/standard/kernel.nit:237 */
15911 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
15912 /* compiling/compiling_icode.nit:968 */
15913 if (UNTAG_Bool(REGB1
)) {
15914 /* compiling/compiling_icode.nit:969 */
15915 if (!once_value_3
) {
15916 fra
.me
.REG
[2] = BOX_NativeString("\", \"");
15917 REGB1
= TAG_Int(4);
15918 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15919 once_value_3
= fra
.me
.REG
[2];
15920 register_static_object(&once_value_3
);
15921 } else fra
.me
.REG
[2] = once_value_3
;
15922 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15923 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15924 /* compiling/compiling_icode.nit:970 */
15925 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15926 REGB1
= TAG_Int(1);
15927 /* ../lib/standard/collection/array.nit:280 */
15928 REGB0
= TAG_Int(0);
15929 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15930 if (UNTAG_Bool(REGB2
)) {
15932 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15934 /* ../lib/standard/kernel.nit:236 */
15935 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
15936 /* ../lib/standard/collection/array.nit:280 */
15937 if (UNTAG_Bool(REGB0
)) {
15938 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15939 if (UNTAG_Bool(REGB0
)) {
15941 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
15943 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15944 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15945 if (UNTAG_Bool(REGB2
)) {
15947 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15949 /* ../lib/standard/kernel.nit:235 */
15950 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
15952 /* ../lib/standard/collection/array.nit:280 */
15953 REGB2
= TAG_Bool(0);
15956 if (UNTAG_Bool(REGB0
)) {
15958 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
15960 /* ../lib/standard/collection/array.nit:281 */
15961 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15962 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15963 if (UNTAG_Bool(REGB0
)) {
15964 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
15966 /* ../lib/standard/collection/array.nit:718 */
15967 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15968 /* ../lib/standard/collection/array.nit:281 */
15971 /* compiling/compiling_icode.nit:970 */
15972 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15973 /* compiling/compiling_icode.nit:971 */
15974 if (!once_value_5
) {
15975 fra
.me
.REG
[2] = BOX_NativeString("\"");
15976 REGB1
= TAG_Int(1);
15977 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15978 once_value_5
= fra
.me
.REG
[2];
15979 register_static_object(&once_value_5
);
15980 } else fra
.me
.REG
[2] = once_value_5
;
15981 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15982 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15984 /* compiling/compiling_icode.nit:973 */
15985 if (!once_value_6
) {
15986 fra
.me
.REG
[2] = BOX_NativeString("\", NULL");
15987 REGB1
= TAG_Int(7);
15988 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
15989 once_value_6
= fra
.me
.REG
[2];
15990 register_static_object(&once_value_6
);
15991 } else fra
.me
.REG
[2] = once_value_6
;
15992 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15993 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15995 /* compiling/compiling_icode.nit:975 */
15996 if (!once_value_7
) {
15997 fra
.me
.REG
[2] = BOX_NativeString(", LOCATE_");
15998 REGB1
= TAG_Int(9);
15999 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
16000 once_value_7
= fra
.me
.REG
[2];
16001 register_static_object(&once_value_7
);
16002 } else fra
.me
.REG
[2] = once_value_7
;
16003 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16004 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16005 /* compiling/compiling_icode.nit:976 */
16006 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___module_location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16007 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16008 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16009 /* compiling/compiling_icode.nit:977 */
16010 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16011 /* compiling/compiling_icode.nit:978 */
16012 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
16013 if (UNTAG_Bool(REGB1
)) {
16015 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
16016 if (UNTAG_Bool(REGB0
)) {
16017 REGB0
= TAG_Bool(0);
16020 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
16024 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
16025 if (UNTAG_Bool(REGB1
)) {
16026 /* compiling/compiling_icode.nit:979 */
16027 if (!once_value_8
) {
16028 fra
.me
.REG
[2] = BOX_NativeString(", ");
16029 REGB1
= TAG_Int(2);
16030 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
16031 once_value_8
= fra
.me
.REG
[2];
16032 register_static_object(&once_value_8
);
16033 } else fra
.me
.REG
[2] = once_value_8
;
16034 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16035 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16036 /* compiling/compiling_icode.nit:980 */
16037 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
16038 if (UNTAG_Bool(REGB1
)) {
16039 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 980);
16041 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16042 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
16043 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16045 /* compiling/compiling_icode.nit:982 */
16046 if (!once_value_9
) {
16047 fra
.me
.REG
[0] = BOX_NativeString(", 0");
16048 REGB1
= TAG_Int(3);
16049 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
16050 once_value_9
= fra
.me
.REG
[0];
16051 register_static_object(&once_value_9
);
16052 } else fra
.me
.REG
[0] = once_value_9
;
16053 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16054 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16056 /* compiling/compiling_icode.nit:984 */
16057 if (!once_value_10
) {
16058 fra
.me
.REG
[0] = BOX_NativeString(");\n");
16059 REGB1
= TAG_Int(3);
16060 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
16061 once_value_10
= fra
.me
.REG
[0];
16062 register_static_object(&once_value_10
);
16063 } else fra
.me
.REG
[0] = once_value_10
;
16064 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16065 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16066 stack_frame_head
= fra
.me
.prev
;
16069 static const char LOCATE_compiling___compiling_icode___IMove___compile_to_c
[] = "compiling_icode::IMove::(compiling_icode::ICode::compile_to_c)";
16070 void compiling___compiling_icode___IMove___compile_to_c(val_t p0
, val_t p1
){
16071 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
16075 static val_t once_value_2
; /* Once value */
16076 static val_t once_value_3
; /* Once value */
16077 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16078 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16080 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IMove___compile_to_c
;
16081 fra
.me
.has_broke
= 0;
16082 fra
.me
.REG_size
= 5;
16083 fra
.me
.nitni_local_ref_head
= NULL
;
16084 fra
.me
.REG
[0] = NIT_NULL
;
16085 fra
.me
.REG
[1] = NIT_NULL
;
16086 fra
.me
.REG
[2] = NIT_NULL
;
16087 fra
.me
.REG
[3] = NIT_NULL
;
16088 fra
.me
.REG
[4] = NIT_NULL
;
16089 fra
.me
.REG
[0] = p0
;
16090 fra
.me
.REG
[1] = p1
;
16091 /* compiling/compiling_icode.nit:989 */
16092 fra
.me
.REG
[2] = fra
.me
.REG
[0];
16093 /* compiling/compiling_icode.nit:991 */
16094 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16095 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16096 if (UNTAG_Bool(REGB0
)) {
16099 /* compiling/compiling_icode.nit:992 */
16100 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16101 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16102 /* compiling/compiling_icode.nit:993 */
16103 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16104 REGB0
= TAG_Bool((fra
.me
.REG
[4]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[4], COLOR_icode___icode_base___IRegister
, ID_icode___icode_base___IRegister
)) /*cast IRegister*/;
16105 if (UNTAG_Bool(REGB0
)) {
16107 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 993);
16109 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16110 /* compiling/compiling_icode.nit:994 */
16111 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
16112 if (UNTAG_Bool(REGB0
)) {
16114 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16117 if (UNTAG_Bool(REGB0
)) {
16120 /* compiling/compiling_icode.nit:995 */
16121 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16122 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16123 /* compiling/compiling_icode.nit:996 */
16124 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16125 /* compiling/compiling_icode.nit:997 */
16126 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16127 /* compiling/compiling_icode.nit:998 */
16128 if (!once_value_2
) {
16129 fra
.me
.REG
[4] = BOX_NativeString(" = ");
16130 REGB0
= TAG_Int(3);
16131 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16132 once_value_2
= fra
.me
.REG
[4];
16133 register_static_object(&once_value_2
);
16134 } else fra
.me
.REG
[4] = once_value_2
;
16135 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16136 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16137 /* compiling/compiling_icode.nit:999 */
16138 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16139 /* compiling/compiling_icode.nit:1000 */
16140 if (!once_value_3
) {
16141 fra
.me
.REG
[3] = BOX_NativeString(";\n");
16142 REGB0
= TAG_Int(2);
16143 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16144 once_value_3
= fra
.me
.REG
[3];
16145 register_static_object(&once_value_3
);
16146 } else fra
.me
.REG
[3] = once_value_3
;
16147 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16148 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16150 stack_frame_head
= fra
.me
.prev
;
16153 static const char LOCATE_compiling___compiling_icode___IAttrRead___compile_to_c
[] = "compiling_icode::IAttrRead::(compiling_icode::ICode::compile_to_c)";
16154 void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0
, val_t p1
){
16155 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16158 static val_t once_value_2
; /* Once value */
16159 static val_t once_value_3
; /* Once value */
16160 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16161 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16162 fra
.me
.line
= 1005;
16163 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrRead___compile_to_c
;
16164 fra
.me
.has_broke
= 0;
16165 fra
.me
.REG_size
= 4;
16166 fra
.me
.nitni_local_ref_head
= NULL
;
16167 fra
.me
.REG
[0] = NIT_NULL
;
16168 fra
.me
.REG
[1] = NIT_NULL
;
16169 fra
.me
.REG
[2] = NIT_NULL
;
16170 fra
.me
.REG
[3] = NIT_NULL
;
16171 fra
.me
.REG
[0] = p0
;
16172 fra
.me
.REG
[1] = p1
;
16173 /* compiling/compiling_icode.nit:1007 */
16174 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16175 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16176 if (UNTAG_Bool(REGB0
)) {
16179 /* compiling/compiling_icode.nit:1008 */
16180 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16181 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16182 /* compiling/compiling_icode.nit:1009 */
16183 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16184 /* compiling/compiling_icode.nit:1010 */
16185 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrRead___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16186 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16187 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16188 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16189 /* compiling/compiling_icode.nit:1011 */
16190 if (!once_value_2
) {
16191 fra
.me
.REG
[3] = BOX_NativeString("(");
16192 REGB0
= TAG_Int(1);
16193 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16194 once_value_2
= fra
.me
.REG
[3];
16195 register_static_object(&once_value_2
);
16196 } else fra
.me
.REG
[3] = once_value_2
;
16197 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16198 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16199 /* compiling/compiling_icode.nit:1012 */
16200 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16201 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16202 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16203 /* compiling/compiling_icode.nit:1013 */
16204 if (!once_value_3
) {
16205 fra
.me
.REG
[0] = BOX_NativeString(")");
16206 REGB0
= TAG_Int(1);
16207 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16208 once_value_3
= fra
.me
.REG
[0];
16209 register_static_object(&once_value_3
);
16210 } else fra
.me
.REG
[0] = once_value_3
;
16211 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16212 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16214 stack_frame_head
= fra
.me
.prev
;
16217 static const char LOCATE_compiling___compiling_icode___IAttrIsset___compile_to_c
[] = "compiling_icode::IAttrIsset::(compiling_icode::ICode::compile_to_c)";
16218 void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0
, val_t p1
){
16219 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16222 static val_t once_value_2
; /* Once value */
16223 static val_t once_value_3
; /* Once value */
16224 static val_t once_value_4
; /* Once value */
16225 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16226 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16227 fra
.me
.line
= 1018;
16228 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrIsset___compile_to_c
;
16229 fra
.me
.has_broke
= 0;
16230 fra
.me
.REG_size
= 4;
16231 fra
.me
.nitni_local_ref_head
= NULL
;
16232 fra
.me
.REG
[0] = NIT_NULL
;
16233 fra
.me
.REG
[1] = NIT_NULL
;
16234 fra
.me
.REG
[2] = NIT_NULL
;
16235 fra
.me
.REG
[3] = NIT_NULL
;
16236 fra
.me
.REG
[0] = p0
;
16237 fra
.me
.REG
[1] = p1
;
16238 /* compiling/compiling_icode.nit:1020 */
16239 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16240 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16241 if (UNTAG_Bool(REGB0
)) {
16244 /* compiling/compiling_icode.nit:1021 */
16245 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16246 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16247 /* compiling/compiling_icode.nit:1022 */
16248 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16249 /* compiling/compiling_icode.nit:1023 */
16250 if (!once_value_2
) {
16251 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
16252 REGB0
= TAG_Int(9);
16253 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16254 once_value_2
= fra
.me
.REG
[3];
16255 register_static_object(&once_value_2
);
16256 } else fra
.me
.REG
[3] = once_value_2
;
16257 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16258 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16259 /* compiling/compiling_icode.nit:1024 */
16260 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrIsset___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16261 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16262 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16263 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16264 /* compiling/compiling_icode.nit:1025 */
16265 if (!once_value_3
) {
16266 fra
.me
.REG
[3] = BOX_NativeString("(");
16267 REGB0
= TAG_Int(1);
16268 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16269 once_value_3
= fra
.me
.REG
[3];
16270 register_static_object(&once_value_3
);
16271 } else fra
.me
.REG
[3] = once_value_3
;
16272 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16273 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16274 /* compiling/compiling_icode.nit:1026 */
16275 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16276 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16277 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16278 /* compiling/compiling_icode.nit:1027 */
16279 if (!once_value_4
) {
16280 fra
.me
.REG
[0] = BOX_NativeString(")!=NIT_NULL)");
16281 REGB0
= TAG_Int(12);
16282 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16283 once_value_4
= fra
.me
.REG
[0];
16284 register_static_object(&once_value_4
);
16285 } else fra
.me
.REG
[0] = once_value_4
;
16286 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16287 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16289 stack_frame_head
= fra
.me
.prev
;
16292 static const char LOCATE_compiling___compiling_icode___IAttrWrite___compile_to_c
[] = "compiling_icode::IAttrWrite::(compiling_icode::ICode::compile_to_c)";
16293 void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0
, val_t p1
){
16294 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16297 static val_t once_value_1
; /* Once value */
16298 static val_t once_value_2
; /* Once value */
16299 static val_t once_value_3
; /* Once value */
16300 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16301 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16302 fra
.me
.line
= 1032;
16303 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrWrite___compile_to_c
;
16304 fra
.me
.has_broke
= 0;
16305 fra
.me
.REG_size
= 4;
16306 fra
.me
.nitni_local_ref_head
= NULL
;
16307 fra
.me
.REG
[0] = NIT_NULL
;
16308 fra
.me
.REG
[1] = NIT_NULL
;
16309 fra
.me
.REG
[2] = NIT_NULL
;
16310 fra
.me
.REG
[3] = NIT_NULL
;
16311 fra
.me
.REG
[0] = p0
;
16312 fra
.me
.REG
[1] = p1
;
16313 /* compiling/compiling_icode.nit:1034 */
16314 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16315 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16316 /* compiling/compiling_icode.nit:1035 */
16317 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16318 /* compiling/compiling_icode.nit:1036 */
16319 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrWrite___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16320 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16321 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16322 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16323 /* compiling/compiling_icode.nit:1037 */
16324 if (!once_value_1
) {
16325 fra
.me
.REG
[3] = BOX_NativeString("(");
16326 REGB0
= TAG_Int(1);
16327 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16328 once_value_1
= fra
.me
.REG
[3];
16329 register_static_object(&once_value_1
);
16330 } else fra
.me
.REG
[3] = once_value_1
;
16331 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16332 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16333 /* compiling/compiling_icode.nit:1038 */
16334 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16335 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16336 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16337 /* compiling/compiling_icode.nit:1039 */
16338 if (!once_value_2
) {
16339 fra
.me
.REG
[3] = BOX_NativeString(") = ");
16340 REGB0
= TAG_Int(4);
16341 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16342 once_value_2
= fra
.me
.REG
[3];
16343 register_static_object(&once_value_2
);
16344 } else fra
.me
.REG
[3] = once_value_2
;
16345 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16346 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16347 /* compiling/compiling_icode.nit:1040 */
16348 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16349 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16350 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16351 /* compiling/compiling_icode.nit:1041 */
16352 if (!once_value_3
) {
16353 fra
.me
.REG
[0] = BOX_NativeString(";\n");
16354 REGB0
= TAG_Int(2);
16355 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16356 once_value_3
= fra
.me
.REG
[0];
16357 register_static_object(&once_value_3
);
16358 } else fra
.me
.REG
[0] = once_value_3
;
16359 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16360 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16361 stack_frame_head
= fra
.me
.prev
;
16364 static const char LOCATE_compiling___compiling_icode___ITypeCheck___compile_to_c
[] = "compiling_icode::ITypeCheck::(compiling_icode::ICode::compile_to_c)";
16365 void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0
, val_t p1
){
16366 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16370 static val_t once_value_2
; /* Once value */
16371 static val_t once_value_3
; /* Once value */
16372 static val_t once_value_4
; /* Once value */
16373 static val_t once_value_5
; /* Once value */
16374 static val_t once_value_6
; /* Once value */
16375 static val_t once_value_7
; /* Once value */
16376 static val_t once_value_8
; /* Once value */
16377 static val_t once_value_9
; /* Once value */
16378 static val_t once_value_10
; /* Once value */
16379 static val_t once_value_11
; /* Once value */
16380 static val_t once_value_12
; /* Once value */
16381 static val_t once_value_13
; /* Once value */
16382 static val_t once_value_14
; /* Once value */
16383 static val_t once_value_15
; /* Once value */
16384 static val_t once_value_16
; /* Once value */
16385 static val_t once_value_17
; /* Once value */
16386 static val_t once_value_18
; /* Once value */
16387 static val_t once_value_19
; /* Once value */
16388 static val_t once_value_20
; /* Once value */
16389 static val_t once_value_21
; /* Once value */
16390 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16391 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16392 fra
.me
.line
= 1046;
16393 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ITypeCheck___compile_to_c
;
16394 fra
.me
.has_broke
= 0;
16395 fra
.me
.REG_size
= 6;
16396 fra
.me
.nitni_local_ref_head
= NULL
;
16397 fra
.me
.REG
[0] = NIT_NULL
;
16398 fra
.me
.REG
[1] = NIT_NULL
;
16399 fra
.me
.REG
[2] = NIT_NULL
;
16400 fra
.me
.REG
[3] = NIT_NULL
;
16401 fra
.me
.REG
[4] = NIT_NULL
;
16402 fra
.me
.REG
[5] = NIT_NULL
;
16403 fra
.me
.REG
[0] = p0
;
16404 fra
.me
.REG
[1] = p1
;
16405 /* compiling/compiling_icode.nit:1048 */
16406 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16407 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16408 if (UNTAG_Bool(REGB0
)) {
16411 /* compiling/compiling_icode.nit:1049 */
16412 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16413 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16414 /* compiling/compiling_icode.nit:1050 */
16415 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16416 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16417 /* compiling/compiling_icode.nit:1051 */
16418 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16419 /* compiling/compiling_icode.nit:1052 */
16420 if (!once_value_2
) {
16421 fra
.me
.REG
[4] = BOX_NativeString("TAG_Bool(");
16422 REGB0
= TAG_Int(9);
16423 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16424 once_value_2
= fra
.me
.REG
[4];
16425 register_static_object(&once_value_2
);
16426 } else fra
.me
.REG
[4] = once_value_2
;
16427 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16428 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16429 /* compiling/compiling_icode.nit:1053 */
16430 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16431 fra
.me
.REG
[4] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16432 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16433 if (UNTAG_Bool(REGB0
)) {
16434 /* compiling/compiling_icode.nit:1054 */
16435 fra
.me
.REG
[4] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16436 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16437 if (UNTAG_Bool(REGB0
)) {
16438 /* compiling/compiling_icode.nit:1055 */
16439 if (!once_value_3
) {
16440 fra
.me
.REG
[4] = BOX_NativeString("(");
16441 REGB0
= TAG_Int(1);
16442 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16443 once_value_3
= fra
.me
.REG
[4];
16444 register_static_object(&once_value_3
);
16445 } else fra
.me
.REG
[4] = once_value_3
;
16446 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16447 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16448 /* compiling/compiling_icode.nit:1056 */
16449 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16450 /* compiling/compiling_icode.nit:1057 */
16451 if (!once_value_4
) {
16452 fra
.me
.REG
[4] = BOX_NativeString("==NIT_NULL) || ");
16453 REGB0
= TAG_Int(15);
16454 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16455 once_value_4
= fra
.me
.REG
[4];
16456 register_static_object(&once_value_4
);
16457 } else fra
.me
.REG
[4] = once_value_4
;
16458 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16459 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16461 /* compiling/compiling_icode.nit:1058 */
16462 fra
.me
.REG
[4] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16463 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16464 fra
.me
.REG
[5] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16465 fra
.me
.REG
[5] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16466 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[5]));
16467 if (UNTAG_Bool(REGB0
)) {
16469 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
16472 if (UNTAG_Bool(REGB0
)) {
16473 /* compiling/compiling_icode.nit:1059 */
16474 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16475 /* compiling/compiling_icode.nit:1060 */
16476 if (!once_value_5
) {
16477 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL)");
16478 REGB0
= TAG_Int(11);
16479 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16480 once_value_5
= fra
.me
.REG
[5];
16481 register_static_object(&once_value_5
);
16482 } else fra
.me
.REG
[5] = once_value_5
;
16483 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16484 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16485 /* compiling/compiling_icode.nit:1061 */
16488 /* compiling/compiling_icode.nit:1063 */
16489 if (!once_value_6
) {
16490 fra
.me
.REG
[5] = BOX_NativeString("(");
16491 REGB0
= TAG_Int(1);
16492 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16493 once_value_6
= fra
.me
.REG
[5];
16494 register_static_object(&once_value_6
);
16495 } else fra
.me
.REG
[5] = once_value_6
;
16496 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16497 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16498 /* compiling/compiling_icode.nit:1064 */
16499 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16500 /* compiling/compiling_icode.nit:1065 */
16501 if (!once_value_7
) {
16502 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL) && ");
16503 REGB0
= TAG_Int(15);
16504 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16505 once_value_7
= fra
.me
.REG
[5];
16506 register_static_object(&once_value_7
);
16507 } else fra
.me
.REG
[5] = once_value_7
;
16508 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16509 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16513 /* compiling/compiling_icode.nit:1069 */
16514 fra
.me
.REG
[5] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16515 /* compiling/compiling_icode.nit:1070 */
16516 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[5], COLOR_metamodel___virtualtype___MMVirtualType
, ID_metamodel___virtualtype___MMVirtualType
)) /*cast MMVirtualType*/;
16517 if (UNTAG_Bool(REGB0
)) {
16518 /* compiling/compiling_icode.nit:1071 */
16519 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16520 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16521 /* compiling/compiling_icode.nit:1072 */
16522 fra
.me
.REG
[1] = CALL_metamodel___virtualtype___MMVirtualType___property(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16523 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16524 /* compiling/compiling_icode.nit:1073 */
16525 if (!once_value_8
) {
16526 fra
.me
.REG
[4] = BOX_NativeString("VAL_ISA(");
16527 REGB0
= TAG_Int(8);
16528 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16529 once_value_8
= fra
.me
.REG
[4];
16530 register_static_object(&once_value_8
);
16531 } else fra
.me
.REG
[4] = once_value_8
;
16532 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16533 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16534 /* compiling/compiling_icode.nit:1074 */
16535 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16536 /* compiling/compiling_icode.nit:1075 */
16537 if (!once_value_9
) {
16538 fra
.me
.REG
[4] = BOX_NativeString(", ");
16539 REGB0
= TAG_Int(2);
16540 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16541 once_value_9
= fra
.me
.REG
[4];
16542 register_static_object(&once_value_9
);
16543 } else fra
.me
.REG
[4] = once_value_9
;
16544 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16545 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16546 /* compiling/compiling_icode.nit:1076 */
16547 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_color(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16548 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16549 /* compiling/compiling_icode.nit:1077 */
16550 if (!once_value_10
) {
16551 fra
.me
.REG
[4] = BOX_NativeString("(");
16552 REGB0
= TAG_Int(1);
16553 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16554 once_value_10
= fra
.me
.REG
[4];
16555 register_static_object(&once_value_10
);
16556 } else fra
.me
.REG
[4] = once_value_10
;
16557 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16558 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16559 /* compiling/compiling_icode.nit:1078 */
16560 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16561 /* compiling/compiling_icode.nit:1079 */
16562 if (!once_value_11
) {
16563 fra
.me
.REG
[4] = BOX_NativeString(")");
16564 REGB0
= TAG_Int(1);
16565 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16566 once_value_11
= fra
.me
.REG
[4];
16567 register_static_object(&once_value_11
);
16568 } else fra
.me
.REG
[4] = once_value_11
;
16569 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16570 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16571 /* compiling/compiling_icode.nit:1080 */
16572 if (!once_value_12
) {
16573 fra
.me
.REG
[4] = BOX_NativeString(", ");
16574 REGB0
= TAG_Int(2);
16575 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16576 once_value_12
= fra
.me
.REG
[4];
16577 register_static_object(&once_value_12
);
16578 } else fra
.me
.REG
[4] = once_value_12
;
16579 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16580 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16581 /* compiling/compiling_icode.nit:1081 */
16582 fra
.me
.REG
[1] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16583 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16584 /* compiling/compiling_icode.nit:1082 */
16585 if (!once_value_13
) {
16586 fra
.me
.REG
[1] = BOX_NativeString("(");
16587 REGB0
= TAG_Int(1);
16588 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
16589 once_value_13
= fra
.me
.REG
[1];
16590 register_static_object(&once_value_13
);
16591 } else fra
.me
.REG
[1] = once_value_13
;
16592 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16593 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16594 /* compiling/compiling_icode.nit:1083 */
16595 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16596 /* compiling/compiling_icode.nit:1084 */
16597 if (!once_value_14
) {
16598 fra
.me
.REG
[0] = BOX_NativeString(")");
16599 REGB0
= TAG_Int(1);
16600 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16601 once_value_14
= fra
.me
.REG
[0];
16602 register_static_object(&once_value_14
);
16603 } else fra
.me
.REG
[0] = once_value_14
;
16604 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16605 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16606 /* compiling/compiling_icode.nit:1085 */
16607 if (!once_value_15
) {
16608 fra
.me
.REG
[0] = BOX_NativeString(")) /*cast ");
16609 REGB0
= TAG_Int(10);
16610 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16611 once_value_15
= fra
.me
.REG
[0];
16612 register_static_object(&once_value_15
);
16613 } else fra
.me
.REG
[0] = once_value_15
;
16614 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16615 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16616 /* compiling/compiling_icode.nit:1086 */
16617 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16618 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16619 /* compiling/compiling_icode.nit:1087 */
16620 if (!once_value_16
) {
16621 fra
.me
.REG
[0] = BOX_NativeString("*/");
16622 REGB0
= TAG_Int(2);
16623 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16624 once_value_16
= fra
.me
.REG
[0];
16625 register_static_object(&once_value_16
);
16626 } else fra
.me
.REG
[0] = once_value_16
;
16627 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16628 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16630 /* compiling/compiling_icode.nit:1089 */
16631 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16632 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16633 /* compiling/compiling_icode.nit:1090 */
16634 if (!once_value_17
) {
16635 fra
.me
.REG
[1] = BOX_NativeString("VAL_ISA(");
16636 REGB0
= TAG_Int(8);
16637 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
16638 once_value_17
= fra
.me
.REG
[1];
16639 register_static_object(&once_value_17
);
16640 } else fra
.me
.REG
[1] = once_value_17
;
16641 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16642 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16643 /* compiling/compiling_icode.nit:1091 */
16644 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16645 /* compiling/compiling_icode.nit:1092 */
16646 if (!once_value_18
) {
16647 fra
.me
.REG
[2] = BOX_NativeString(", ");
16648 REGB0
= TAG_Int(2);
16649 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
16650 once_value_18
= fra
.me
.REG
[2];
16651 register_static_object(&once_value_18
);
16652 } else fra
.me
.REG
[2] = once_value_18
;
16653 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16654 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16655 /* compiling/compiling_icode.nit:1093 */
16656 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16657 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16658 /* compiling/compiling_icode.nit:1094 */
16659 if (!once_value_19
) {
16660 fra
.me
.REG
[2] = BOX_NativeString(", ");
16661 REGB0
= TAG_Int(2);
16662 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
16663 once_value_19
= fra
.me
.REG
[2];
16664 register_static_object(&once_value_19
);
16665 } else fra
.me
.REG
[2] = once_value_19
;
16666 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16667 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16668 /* compiling/compiling_icode.nit:1095 */
16669 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16670 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16671 /* compiling/compiling_icode.nit:1096 */
16672 if (!once_value_20
) {
16673 fra
.me
.REG
[0] = BOX_NativeString(")) /*cast ");
16674 REGB0
= TAG_Int(10);
16675 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16676 once_value_20
= fra
.me
.REG
[0];
16677 register_static_object(&once_value_20
);
16678 } else fra
.me
.REG
[0] = once_value_20
;
16679 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16680 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16681 /* compiling/compiling_icode.nit:1097 */
16682 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16683 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16684 /* compiling/compiling_icode.nit:1098 */
16685 if (!once_value_21
) {
16686 fra
.me
.REG
[5] = BOX_NativeString("*/");
16687 REGB0
= TAG_Int(2);
16688 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16689 once_value_21
= fra
.me
.REG
[5];
16690 register_static_object(&once_value_21
);
16691 } else fra
.me
.REG
[5] = once_value_21
;
16692 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16693 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16696 stack_frame_head
= fra
.me
.prev
;
16699 static const char LOCATE_compiling___compiling_icode___IIs___compile_to_c
[] = "compiling_icode::IIs::(compiling_icode::ICode::compile_to_c)";
16700 void compiling___compiling_icode___IIs___compile_to_c(val_t p0
, val_t p1
){
16701 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16704 static val_t once_value_2
; /* Once value */
16705 static val_t once_value_3
; /* Once value */
16706 static val_t once_value_4
; /* Once value */
16707 static val_t once_value_5
; /* Once value */
16708 static val_t once_value_6
; /* Once value */
16709 static val_t once_value_7
; /* Once value */
16710 static val_t once_value_8
; /* Once value */
16711 static val_t once_value_9
; /* Once value */
16712 static val_t once_value_10
; /* Once value */
16713 static val_t once_value_11
; /* Once value */
16714 static val_t once_value_12
; /* Once value */
16715 static val_t once_value_13
; /* Once value */
16716 static val_t once_value_14
; /* Once value */
16717 static val_t once_value_15
; /* Once value */
16718 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16719 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16720 fra
.me
.line
= 1104;
16721 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIs___compile_to_c
;
16722 fra
.me
.has_broke
= 0;
16723 fra
.me
.REG_size
= 6;
16724 fra
.me
.nitni_local_ref_head
= NULL
;
16725 fra
.me
.REG
[0] = NIT_NULL
;
16726 fra
.me
.REG
[1] = NIT_NULL
;
16727 fra
.me
.REG
[2] = NIT_NULL
;
16728 fra
.me
.REG
[3] = NIT_NULL
;
16729 fra
.me
.REG
[4] = NIT_NULL
;
16730 fra
.me
.REG
[5] = NIT_NULL
;
16731 fra
.me
.REG
[0] = p0
;
16732 fra
.me
.REG
[1] = p1
;
16733 /* compiling/compiling_icode.nit:1106 */
16734 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16735 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16736 if (UNTAG_Bool(REGB0
)) {
16739 /* compiling/compiling_icode.nit:1107 */
16740 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16741 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16742 /* compiling/compiling_icode.nit:1108 */
16743 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16744 /* compiling/compiling_icode.nit:1109 */
16745 if (!once_value_2
) {
16746 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
16747 REGB0
= TAG_Int(9);
16748 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16749 once_value_2
= fra
.me
.REG
[3];
16750 register_static_object(&once_value_2
);
16751 } else fra
.me
.REG
[3] = once_value_2
;
16752 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16753 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16754 /* compiling/compiling_icode.nit:1110 */
16755 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16756 fra
.me
.REG
[3] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16757 /* compiling/compiling_icode.nit:1111 */
16758 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16759 fra
.me
.REG
[4] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16760 /* compiling/compiling_icode.nit:1112 */
16761 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16762 if (UNTAG_Bool(REGB0
)) {
16763 /* compiling/compiling_icode.nit:1113 */
16764 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16765 if (UNTAG_Bool(REGB0
)) {
16766 /* compiling/compiling_icode.nit:1114 */
16767 if (!once_value_3
) {
16768 fra
.me
.REG
[5] = BOX_NativeString("1)");
16769 REGB0
= TAG_Int(2);
16770 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16771 once_value_3
= fra
.me
.REG
[5];
16772 register_static_object(&once_value_3
);
16773 } else fra
.me
.REG
[5] = once_value_3
;
16774 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16775 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16776 /* compiling/compiling_icode.nit:1115 */
16779 /* compiling/compiling_icode.nit:1116 */
16780 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16781 if (UNTAG_Bool(REGB0
)) {
16782 /* compiling/compiling_icode.nit:1117 */
16783 fra
.me
.REG
[5] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16784 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
16785 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16786 /* compiling/compiling_icode.nit:1118 */
16787 if (!once_value_4
) {
16788 fra
.me
.REG
[5] = BOX_NativeString("==NIT_NULL)");
16789 REGB0
= TAG_Int(11);
16790 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16791 once_value_4
= fra
.me
.REG
[5];
16792 register_static_object(&once_value_4
);
16793 } else fra
.me
.REG
[5] = once_value_4
;
16794 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16795 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16796 /* compiling/compiling_icode.nit:1119 */
16799 /* compiling/compiling_icode.nit:1121 */
16800 if (!once_value_5
) {
16801 fra
.me
.REG
[5] = BOX_NativeString("0)");
16802 REGB0
= TAG_Int(2);
16803 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
16804 once_value_5
= fra
.me
.REG
[5];
16805 register_static_object(&once_value_5
);
16806 } else fra
.me
.REG
[5] = once_value_5
;
16807 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16808 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16809 /* compiling/compiling_icode.nit:1122 */
16814 /* compiling/compiling_icode.nit:1124 */
16815 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16816 if (UNTAG_Bool(REGB0
)) {
16817 /* compiling/compiling_icode.nit:1125 */
16818 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16819 if (UNTAG_Bool(REGB0
)) {
16820 /* compiling/compiling_icode.nit:1126 */
16821 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16822 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16823 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16824 /* compiling/compiling_icode.nit:1127 */
16825 if (!once_value_6
) {
16826 fra
.me
.REG
[3] = BOX_NativeString("==NIT_NULL)");
16827 REGB0
= TAG_Int(11);
16828 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16829 once_value_6
= fra
.me
.REG
[3];
16830 register_static_object(&once_value_6
);
16831 } else fra
.me
.REG
[3] = once_value_6
;
16832 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16833 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16834 /* compiling/compiling_icode.nit:1128 */
16837 /* compiling/compiling_icode.nit:1129 */
16838 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16839 if (UNTAG_Bool(REGB0
)) {
16840 /* compiling/compiling_icode.nit:1130 */
16841 if (!once_value_7
) {
16842 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_NN(");
16843 REGB0
= TAG_Int(12);
16844 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16845 once_value_7
= fra
.me
.REG
[3];
16846 register_static_object(&once_value_7
);
16847 } else fra
.me
.REG
[3] = once_value_7
;
16848 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16849 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16851 /* compiling/compiling_icode.nit:1132 */
16852 if (!once_value_8
) {
16853 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_ON(");
16854 REGB0
= TAG_Int(12);
16855 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16856 once_value_8
= fra
.me
.REG
[3];
16857 register_static_object(&once_value_8
);
16858 } else fra
.me
.REG
[3] = once_value_8
;
16859 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16860 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16861 /* compiling/compiling_icode.nit:1133 */
16862 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16863 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16864 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16865 /* compiling/compiling_icode.nit:1134 */
16866 if (!once_value_9
) {
16867 fra
.me
.REG
[3] = BOX_NativeString(",");
16868 REGB0
= TAG_Int(1);
16869 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16870 once_value_9
= fra
.me
.REG
[3];
16871 register_static_object(&once_value_9
);
16872 } else fra
.me
.REG
[3] = once_value_9
;
16873 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16874 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16875 /* compiling/compiling_icode.nit:1135 */
16876 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16877 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16878 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16879 /* compiling/compiling_icode.nit:1136 */
16880 if (!once_value_10
) {
16881 fra
.me
.REG
[3] = BOX_NativeString("))");
16882 REGB0
= TAG_Int(2);
16883 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16884 once_value_10
= fra
.me
.REG
[3];
16885 register_static_object(&once_value_10
);
16886 } else fra
.me
.REG
[3] = once_value_10
;
16887 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16888 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16889 /* compiling/compiling_icode.nit:1137 */
16894 /* compiling/compiling_icode.nit:1140 */
16895 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16896 if (UNTAG_Bool(REGB0
)) {
16897 /* compiling/compiling_icode.nit:1141 */
16898 if (!once_value_11
) {
16899 fra
.me
.REG
[3] = BOX_NativeString("0)");
16900 REGB0
= TAG_Int(2);
16901 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
16902 once_value_11
= fra
.me
.REG
[3];
16903 register_static_object(&once_value_11
);
16904 } else fra
.me
.REG
[3] = once_value_11
;
16905 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16906 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16907 /* compiling/compiling_icode.nit:1142 */
16910 /* compiling/compiling_icode.nit:1143 */
16911 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16912 if (UNTAG_Bool(REGB0
)) {
16913 /* compiling/compiling_icode.nit:1144 */
16914 if (!once_value_12
) {
16915 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_ON(");
16916 REGB0
= TAG_Int(12);
16917 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16918 once_value_12
= fra
.me
.REG
[4];
16919 register_static_object(&once_value_12
);
16920 } else fra
.me
.REG
[4] = once_value_12
;
16921 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16922 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16924 /* compiling/compiling_icode.nit:1146 */
16925 if (!once_value_13
) {
16926 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_OO(");
16927 REGB0
= TAG_Int(12);
16928 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16929 once_value_13
= fra
.me
.REG
[4];
16930 register_static_object(&once_value_13
);
16931 } else fra
.me
.REG
[4] = once_value_13
;
16932 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16933 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16938 /* compiling/compiling_icode.nit:1149 */
16939 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16940 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16941 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16942 /* compiling/compiling_icode.nit:1150 */
16943 if (!once_value_14
) {
16944 fra
.me
.REG
[4] = BOX_NativeString(",");
16945 REGB0
= TAG_Int(1);
16946 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
16947 once_value_14
= fra
.me
.REG
[4];
16948 register_static_object(&once_value_14
);
16949 } else fra
.me
.REG
[4] = once_value_14
;
16950 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16951 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
16952 /* compiling/compiling_icode.nit:1151 */
16953 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16954 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16955 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16956 /* compiling/compiling_icode.nit:1152 */
16957 if (!once_value_15
) {
16958 fra
.me
.REG
[0] = BOX_NativeString("))");
16959 REGB0
= TAG_Int(2);
16960 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
16961 once_value_15
= fra
.me
.REG
[0];
16962 register_static_object(&once_value_15
);
16963 } else fra
.me
.REG
[0] = once_value_15
;
16964 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16965 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16967 stack_frame_head
= fra
.me
.prev
;
16970 static const char LOCATE_compiling___compiling_icode___INot___compile_to_c
[] = "compiling_icode::INot::(compiling_icode::ICode::compile_to_c)";
16971 void compiling___compiling_icode___INot___compile_to_c(val_t p0
, val_t p1
){
16972 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16975 static val_t once_value_2
; /* Once value */
16976 static val_t once_value_3
; /* Once value */
16977 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16978 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16979 fra
.me
.line
= 1157;
16980 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INot___compile_to_c
;
16981 fra
.me
.has_broke
= 0;
16982 fra
.me
.REG_size
= 4;
16983 fra
.me
.nitni_local_ref_head
= NULL
;
16984 fra
.me
.REG
[0] = NIT_NULL
;
16985 fra
.me
.REG
[1] = NIT_NULL
;
16986 fra
.me
.REG
[2] = NIT_NULL
;
16987 fra
.me
.REG
[3] = NIT_NULL
;
16988 fra
.me
.REG
[0] = p0
;
16989 fra
.me
.REG
[1] = p1
;
16990 /* compiling/compiling_icode.nit:1159 */
16991 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16992 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16993 if (UNTAG_Bool(REGB0
)) {
16996 /* compiling/compiling_icode.nit:1160 */
16997 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16998 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16999 /* compiling/compiling_icode.nit:1161 */
17000 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17001 /* compiling/compiling_icode.nit:1162 */
17002 if (!once_value_2
) {
17003 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(!UNTAG_Bool(");
17004 REGB0
= TAG_Int(21);
17005 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17006 once_value_2
= fra
.me
.REG
[3];
17007 register_static_object(&once_value_2
);
17008 } else fra
.me
.REG
[3] = once_value_2
;
17009 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17010 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17011 /* compiling/compiling_icode.nit:1163 */
17012 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17013 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17014 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17015 /* compiling/compiling_icode.nit:1164 */
17016 if (!once_value_3
) {
17017 fra
.me
.REG
[0] = BOX_NativeString("))");
17018 REGB0
= TAG_Int(2);
17019 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17020 once_value_3
= fra
.me
.REG
[0];
17021 register_static_object(&once_value_3
);
17022 } else fra
.me
.REG
[0] = once_value_3
;
17023 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17024 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17026 stack_frame_head
= fra
.me
.prev
;
17029 static const char LOCATE_compiling___compiling_icode___IOnce___compile_to_c
[] = "compiling_icode::IOnce::(compiling_icode::ICode::compile_to_c)";
17030 void compiling___compiling_icode___IOnce___compile_to_c(val_t p0
, val_t p1
){
17031 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
17035 static val_t once_value_1
; /* Once value */
17036 static val_t once_value_2
; /* Once value */
17037 static val_t once_value_3
; /* Once value */
17038 static val_t once_value_4
; /* Once value */
17039 static val_t once_value_5
; /* Once value */
17040 static val_t once_value_6
; /* Once value */
17041 static val_t once_value_7
; /* Once value */
17042 static val_t once_value_8
; /* Once value */
17043 static val_t once_value_9
; /* Once value */
17044 static val_t once_value_10
; /* Once value */
17045 static val_t once_value_11
; /* Once value */
17046 static val_t once_value_12
; /* Once value */
17047 static val_t once_value_13
; /* Once value */
17048 static val_t once_value_14
; /* Once value */
17049 static val_t once_value_15
; /* Once value */
17050 static val_t once_value_16
; /* Once value */
17051 static val_t once_value_17
; /* Once value */
17052 static val_t once_value_18
; /* Once value */
17053 static val_t once_value_19
; /* Once value */
17054 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17055 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17056 fra
.me
.line
= 1169;
17057 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IOnce___compile_to_c
;
17058 fra
.me
.has_broke
= 0;
17059 fra
.me
.REG_size
= 6;
17060 fra
.me
.nitni_local_ref_head
= NULL
;
17061 fra
.me
.REG
[0] = NIT_NULL
;
17062 fra
.me
.REG
[1] = NIT_NULL
;
17063 fra
.me
.REG
[2] = NIT_NULL
;
17064 fra
.me
.REG
[3] = NIT_NULL
;
17065 fra
.me
.REG
[4] = NIT_NULL
;
17066 fra
.me
.REG
[5] = NIT_NULL
;
17067 fra
.me
.REG
[0] = p0
;
17068 fra
.me
.REG
[1] = p1
;
17069 /* compiling/compiling_icode.nit:1169 */
17070 fra
.me
.REG
[2] = fra
.me
.REG
[0];
17071 /* compiling/compiling_icode.nit:1171 */
17072 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17073 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17074 /* compiling/compiling_icode.nit:1172 */
17075 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17076 /* compiling/compiling_icode.nit:1173 */
17077 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17078 REGB1
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_icode___icode_base___IRegister
, ID_icode___icode_base___IRegister
)) /*cast IRegister*/;
17079 if (UNTAG_Bool(REGB1
)) {
17081 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 1173);
17083 /* compiling/compiling_icode.nit:1174 */
17084 fra
.me
.REG
[0] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17085 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17086 if (UNTAG_Bool(REGB1
)) {
17087 /* compiling/compiling_icode.nit:1175 */
17088 REGB1
= TAG_Int(5);
17089 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17090 if (!once_value_1
) {
17091 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
17092 REGB1
= TAG_Int(24);
17093 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17094 once_value_1
= fra
.me
.REG
[4];
17095 register_static_object(&once_value_1
);
17096 } else fra
.me
.REG
[4] = once_value_1
;
17097 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17098 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17099 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17100 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17101 if (!once_value_2
) {
17102 fra
.me
.REG
[4] = BOX_NativeString("; static int once_bool_");
17103 REGB1
= TAG_Int(23);
17104 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17105 once_value_2
= fra
.me
.REG
[4];
17106 register_static_object(&once_value_2
);
17107 } else fra
.me
.REG
[4] = once_value_2
;
17108 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17110 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17112 if (!once_value_3
) {
17113 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
17114 REGB1
= TAG_Int(18);
17115 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17116 once_value_3
= fra
.me
.REG
[4];
17117 register_static_object(&once_value_3
);
17118 } else fra
.me
.REG
[4] = once_value_3
;
17119 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17120 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17121 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17122 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17123 /* compiling/compiling_icode.nit:1176 */
17124 REGB1
= TAG_Int(3);
17125 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17126 if (!once_value_4
) {
17127 fra
.me
.REG
[4] = BOX_NativeString("if (!once_bool_");
17128 REGB1
= TAG_Int(15);
17129 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17130 once_value_4
= fra
.me
.REG
[4];
17131 register_static_object(&once_value_4
);
17132 } else fra
.me
.REG
[4] = once_value_4
;
17133 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17135 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17137 if (!once_value_5
) {
17138 fra
.me
.REG
[4] = BOX_NativeString(") {");
17139 REGB1
= TAG_Int(3);
17140 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17141 once_value_5
= fra
.me
.REG
[4];
17142 register_static_object(&once_value_5
);
17143 } else fra
.me
.REG
[4] = once_value_5
;
17144 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17145 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17146 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17147 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17149 /* compiling/compiling_icode.nit:1179 */
17150 REGB1
= TAG_Int(3);
17151 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17152 if (!once_value_6
) {
17153 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
17154 REGB1
= TAG_Int(24);
17155 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17156 once_value_6
= fra
.me
.REG
[4];
17157 register_static_object(&once_value_6
);
17158 } else fra
.me
.REG
[4] = once_value_6
;
17159 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17160 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17161 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17163 if (!once_value_7
) {
17164 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
17165 REGB1
= TAG_Int(18);
17166 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17167 once_value_7
= fra
.me
.REG
[4];
17168 register_static_object(&once_value_7
);
17169 } else fra
.me
.REG
[4] = once_value_7
;
17170 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17172 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17173 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17174 /* compiling/compiling_icode.nit:1180 */
17175 REGB1
= TAG_Int(3);
17176 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17177 if (!once_value_8
) {
17178 fra
.me
.REG
[4] = BOX_NativeString("if (!once_value_");
17179 REGB1
= TAG_Int(16);
17180 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17181 once_value_8
= fra
.me
.REG
[4];
17182 register_static_object(&once_value_8
);
17183 } else fra
.me
.REG
[4] = once_value_8
;
17184 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17185 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17186 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17188 if (!once_value_9
) {
17189 fra
.me
.REG
[4] = BOX_NativeString(") {");
17190 REGB1
= TAG_Int(3);
17191 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17192 once_value_9
= fra
.me
.REG
[4];
17193 register_static_object(&once_value_9
);
17194 } else fra
.me
.REG
[4] = once_value_9
;
17195 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17197 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17198 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17200 /* compiling/compiling_icode.nit:1182 */
17201 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17202 /* compiling/compiling_icode.nit:1183 */
17203 fra
.me
.REG
[0] = CALL_icode___icode_base___IOnce___body(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17204 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17205 /* compiling/compiling_icode.nit:1184 */
17206 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17207 /* compiling/compiling_icode.nit:1185 */
17208 REGB1
= TAG_Int(5);
17209 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17210 if (!once_value_10
) {
17211 fra
.me
.REG
[5] = BOX_NativeString("once_value_");
17212 REGB1
= TAG_Int(11);
17213 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17214 once_value_10
= fra
.me
.REG
[5];
17215 register_static_object(&once_value_10
);
17216 } else fra
.me
.REG
[5] = once_value_10
;
17217 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17218 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17219 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17220 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17221 if (!once_value_11
) {
17222 fra
.me
.REG
[5] = BOX_NativeString(" = ");
17223 REGB1
= TAG_Int(3);
17224 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17225 once_value_11
= fra
.me
.REG
[5];
17226 register_static_object(&once_value_11
);
17227 } else fra
.me
.REG
[5] = once_value_11
;
17228 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17230 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
17231 if (!once_value_12
) {
17232 fra
.me
.REG
[5] = BOX_NativeString(";");
17233 REGB1
= TAG_Int(1);
17234 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17235 once_value_12
= fra
.me
.REG
[5];
17236 register_static_object(&once_value_12
);
17237 } else fra
.me
.REG
[5] = once_value_12
;
17238 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17240 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17241 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17242 /* compiling/compiling_icode.nit:1186 */
17243 REGB1
= TAG_Int(3);
17244 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17245 if (!once_value_13
) {
17246 fra
.me
.REG
[5] = BOX_NativeString("register_static_object(&once_value_");
17247 REGB1
= TAG_Int(35);
17248 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17249 once_value_13
= fra
.me
.REG
[5];
17250 register_static_object(&once_value_13
);
17251 } else fra
.me
.REG
[5] = once_value_13
;
17252 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17253 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17254 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17256 if (!once_value_14
) {
17257 fra
.me
.REG
[5] = BOX_NativeString(");");
17258 REGB1
= TAG_Int(2);
17259 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
17260 once_value_14
= fra
.me
.REG
[5];
17261 register_static_object(&once_value_14
);
17262 } else fra
.me
.REG
[5] = once_value_14
;
17263 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17265 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17266 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17267 /* compiling/compiling_icode.nit:1187 */
17268 fra
.me
.REG
[3] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17269 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17270 if (UNTAG_Bool(REGB1
)) {
17271 REGB1
= TAG_Int(3);
17272 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17273 if (!once_value_15
) {
17274 fra
.me
.REG
[4] = BOX_NativeString("once_bool_");
17275 REGB1
= TAG_Int(10);
17276 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17277 once_value_15
= fra
.me
.REG
[4];
17278 register_static_object(&once_value_15
);
17279 } else fra
.me
.REG
[4] = once_value_15
;
17280 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17282 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17283 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17284 if (!once_value_16
) {
17285 fra
.me
.REG
[4] = BOX_NativeString(" = true;");
17286 REGB1
= TAG_Int(8);
17287 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17288 once_value_16
= fra
.me
.REG
[4];
17289 register_static_object(&once_value_16
);
17290 } else fra
.me
.REG
[4] = once_value_16
;
17291 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17292 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17293 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17294 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17296 /* compiling/compiling_icode.nit:1188 */
17297 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17298 /* compiling/compiling_icode.nit:1189 */
17299 REGB1
= TAG_Int(5);
17300 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17301 if (!once_value_17
) {
17302 fra
.me
.REG
[4] = BOX_NativeString("} else ");
17303 REGB1
= TAG_Int(7);
17304 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17305 once_value_17
= fra
.me
.REG
[4];
17306 register_static_object(&once_value_17
);
17307 } else fra
.me
.REG
[4] = once_value_17
;
17308 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17310 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
17311 if (!once_value_18
) {
17312 fra
.me
.REG
[4] = BOX_NativeString(" = once_value_");
17313 REGB1
= TAG_Int(14);
17314 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
17315 once_value_18
= fra
.me
.REG
[4];
17316 register_static_object(&once_value_18
);
17317 } else fra
.me
.REG
[4] = once_value_18
;
17318 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17320 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17322 if (!once_value_19
) {
17323 fra
.me
.REG
[4] = BOX_NativeString(";");
17324 REGB0
= TAG_Int(1);
17325 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17326 once_value_19
= fra
.me
.REG
[4];
17327 register_static_object(&once_value_19
);
17328 } else fra
.me
.REG
[4] = once_value_19
;
17329 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17330 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17331 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17332 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17333 /* compiling/compiling_icode.nit:1190 */
17334 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
17335 /* compiling/compiling_icode.nit:1191 */
17336 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17337 stack_frame_head
= fra
.me
.prev
;
17340 static const char LOCATE_compiling___compiling_icode___IClosCall___compile_to_c
[] = "compiling_icode::IClosCall::(compiling_icode::ICode::compile_to_c)";
17341 void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0
, val_t p1
){
17342 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
17346 static val_t once_value_1
; /* Once value */
17347 static val_t once_value_2
; /* Once value */
17348 static val_t once_value_3
; /* Once value */
17349 static val_t once_value_4
; /* Once value */
17350 static val_t once_value_5
; /* Once value */
17351 static val_t once_value_6
; /* Once value */
17352 static val_t once_value_7
; /* Once value */
17353 static val_t once_value_8
; /* Once value */
17354 static val_t once_value_9
; /* Once value */
17355 static val_t once_value_10
; /* Once value */
17356 static val_t once_value_11
; /* Once value */
17357 static val_t once_value_12
; /* Once value */
17358 static val_t once_value_13
; /* Once value */
17359 static val_t once_value_14
; /* Once value */
17360 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17361 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17362 fra
.me
.line
= 1196;
17363 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IClosCall___compile_to_c
;
17364 fra
.me
.has_broke
= 0;
17365 fra
.me
.REG_size
= 7;
17366 fra
.me
.nitni_local_ref_head
= NULL
;
17367 fra
.me
.REG
[0] = NIT_NULL
;
17368 fra
.me
.REG
[1] = NIT_NULL
;
17369 fra
.me
.REG
[2] = NIT_NULL
;
17370 fra
.me
.REG
[3] = NIT_NULL
;
17371 fra
.me
.REG
[4] = NIT_NULL
;
17372 fra
.me
.REG
[5] = NIT_NULL
;
17373 fra
.me
.REG
[6] = NIT_NULL
;
17374 fra
.me
.REG
[0] = p0
;
17375 fra
.me
.REG
[1] = p1
;
17376 /* compiling/compiling_icode.nit:1198 */
17377 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17378 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17379 /* compiling/compiling_icode.nit:1201 */
17380 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17381 if (UNTAG_Bool(REGB0
)) {
17382 /* compiling/compiling_icode.nit:1202 */
17383 REGB0
= TAG_Int(3);
17384 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17385 if (!once_value_1
) {
17386 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
17387 REGB0
= TAG_Int(22);
17388 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17389 once_value_1
= fra
.me
.REG
[3];
17390 register_static_object(&once_value_1
);
17391 } else fra
.me
.REG
[3] = once_value_1
;
17392 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17393 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17394 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17395 fra
.me
.REG
[4] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17396 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17397 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17398 if (!once_value_2
) {
17399 fra
.me
.REG
[4] = BOX_NativeString("]");
17400 REGB0
= TAG_Int(1);
17401 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17402 once_value_2
= fra
.me
.REG
[4];
17403 register_static_object(&once_value_2
);
17404 } else fra
.me
.REG
[4] = once_value_2
;
17405 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17407 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17408 /* compiling/compiling_icode.nit:1203 */
17409 REGB0
= TAG_Int(1);
17410 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17411 if (!once_value_3
) {
17412 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_ctx");
17413 REGB0
= TAG_Int(20);
17414 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17415 once_value_3
= fra
.me
.REG
[3];
17416 register_static_object(&once_value_3
);
17417 } else fra
.me
.REG
[3] = once_value_3
;
17418 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
17421 /* compiling/compiling_icode.nit:1205 */
17422 REGB0
= TAG_Int(3);
17423 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17424 if (!once_value_4
) {
17425 fra
.me
.REG
[5] = BOX_NativeString("CREG[");
17426 REGB0
= TAG_Int(5);
17427 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
17428 once_value_4
= fra
.me
.REG
[5];
17429 register_static_object(&once_value_4
);
17430 } else fra
.me
.REG
[5] = once_value_4
;
17431 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17433 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17434 fra
.me
.REG
[6] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17435 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
17436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17437 if (!once_value_5
) {
17438 fra
.me
.REG
[6] = BOX_NativeString("]");
17439 REGB0
= TAG_Int(1);
17440 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17441 once_value_5
= fra
.me
.REG
[6];
17442 register_static_object(&once_value_5
);
17443 } else fra
.me
.REG
[6] = once_value_5
;
17444 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17445 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17446 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17447 fra
.me
.REG
[2] = fra
.me
.REG
[3];
17448 /* compiling/compiling_icode.nit:1206 */
17449 REGB0
= TAG_Int(1);
17450 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17451 if (!once_value_6
) {
17452 fra
.me
.REG
[6] = BOX_NativeString("closctx_param");
17453 REGB0
= TAG_Int(13);
17454 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17455 once_value_6
= fra
.me
.REG
[6];
17456 register_static_object(&once_value_6
);
17457 } else fra
.me
.REG
[6] = once_value_6
;
17458 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17459 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17460 fra
.me
.REG
[4] = fra
.me
.REG
[3];
17462 /* compiling/compiling_icode.nit:1208 */
17463 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17464 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17465 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
17466 /* compiling/compiling_icode.nit:1210 */
17467 REGB0
= TAG_Int(7);
17468 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17469 if (!once_value_7
) {
17470 fra
.me
.REG
[6] = BOX_NativeString("((");
17471 REGB0
= TAG_Int(2);
17472 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17473 once_value_7
= fra
.me
.REG
[6];
17474 register_static_object(&once_value_7
);
17475 } else fra
.me
.REG
[6] = once_value_7
;
17476 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17478 fra
.me
.REG
[6] = CALL_compiling___compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17479 fra
.me
.REG
[5] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17480 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
17481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17482 if (!once_value_8
) {
17483 fra
.me
.REG
[5] = BOX_NativeString(")(");
17484 REGB0
= TAG_Int(2);
17485 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
17486 once_value_8
= fra
.me
.REG
[5];
17487 register_static_object(&once_value_8
);
17488 } else fra
.me
.REG
[5] = once_value_8
;
17489 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17490 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17492 if (!once_value_9
) {
17493 fra
.me
.REG
[2] = BOX_NativeString("))(");
17494 REGB0
= TAG_Int(3);
17495 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17496 once_value_9
= fra
.me
.REG
[2];
17497 register_static_object(&once_value_9
);
17498 } else fra
.me
.REG
[2] = once_value_9
;
17499 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17500 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17501 if (!once_value_10
) {
17502 fra
.me
.REG
[2] = BOX_NativeString(", ");
17503 REGB0
= TAG_Int(2);
17504 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17505 once_value_10
= fra
.me
.REG
[2];
17506 register_static_object(&once_value_10
);
17507 } else fra
.me
.REG
[2] = once_value_10
;
17508 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17509 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
17510 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17511 if (!once_value_11
) {
17512 fra
.me
.REG
[2] = BOX_NativeString(")");
17513 REGB0
= TAG_Int(1);
17514 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
17515 once_value_11
= fra
.me
.REG
[2];
17516 register_static_object(&once_value_11
);
17517 } else fra
.me
.REG
[2] = once_value_11
;
17518 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17520 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17521 /* compiling/compiling_icode.nit:1211 */
17522 fra
.me
.REG
[2] = NEW_Writer_compiling_writer___Writer___init();
17523 /* compiling/compiling_icode.nit:1212 */
17524 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17525 /* compiling/compiling_icode.nit:1213 */
17526 CALL_compiling___compiling_icode___ICode___store_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
17527 /* compiling/compiling_icode.nit:1216 */
17528 REGB0
= TAG_Int(3);
17529 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17530 if (!once_value_12
) {
17531 fra
.me
.REG
[3] = BOX_NativeString("if (");
17532 REGB0
= TAG_Int(4);
17533 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17534 once_value_12
= fra
.me
.REG
[3];
17535 register_static_object(&once_value_12
);
17536 } else fra
.me
.REG
[3] = once_value_12
;
17537 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17538 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17539 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17540 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17541 if (!once_value_13
) {
17542 fra
.me
.REG
[4] = BOX_NativeString("->has_broke) {");
17543 REGB0
= TAG_Int(14);
17544 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17545 once_value_13
= fra
.me
.REG
[4];
17546 register_static_object(&once_value_13
);
17547 } else fra
.me
.REG
[4] = once_value_13
;
17548 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17550 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17551 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17552 /* compiling/compiling_icode.nit:1217 */
17553 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17554 /* compiling/compiling_icode.nit:1218 */
17555 fra
.me
.REG
[0] = CALL_icode___icode_base___IClosCall___break_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17556 /* compiling/compiling_icode.nit:1219 */
17557 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17558 if (UNTAG_Bool(REGB0
)) {
17560 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17561 if (UNTAG_Bool(REGB1
)) {
17562 REGB1
= TAG_Bool(0);
17565 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
17569 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17570 if (UNTAG_Bool(REGB0
)) {
17571 /* compiling/compiling_icode.nit:1220 */
17572 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17573 if (UNTAG_Bool(REGB0
)) {
17574 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 1220);
17576 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17578 /* compiling/compiling_icode.nit:1222 */
17579 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___iroutine(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17580 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17581 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17582 /* compiling/compiling_icode.nit:1223 */
17583 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17584 /* compiling/compiling_icode.nit:1224 */
17585 if (!once_value_14
) {
17586 fra
.me
.REG
[0] = BOX_NativeString("}");
17587 REGB0
= TAG_Int(1);
17588 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17589 once_value_14
= fra
.me
.REG
[0];
17590 register_static_object(&once_value_14
);
17591 } else fra
.me
.REG
[0] = once_value_14
;
17592 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17593 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17594 stack_frame_head
= fra
.me
.prev
;
17597 static const char LOCATE_compiling___compiling_icode___IHasClos___compile_to_c
[] = "compiling_icode::IHasClos::(compiling_icode::ICode::compile_to_c)";
17598 void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0
, val_t p1
){
17599 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
17602 static val_t once_value_2
; /* Once value */
17603 static val_t once_value_3
; /* Once value */
17604 static val_t once_value_4
; /* Once value */
17605 static val_t once_value_5
; /* Once value */
17606 static val_t once_value_6
; /* Once value */
17607 static val_t once_value_7
; /* Once value */
17608 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17609 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17610 fra
.me
.line
= 1229;
17611 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IHasClos___compile_to_c
;
17612 fra
.me
.has_broke
= 0;
17613 fra
.me
.REG_size
= 5;
17614 fra
.me
.nitni_local_ref_head
= NULL
;
17615 fra
.me
.REG
[0] = NIT_NULL
;
17616 fra
.me
.REG
[1] = NIT_NULL
;
17617 fra
.me
.REG
[2] = NIT_NULL
;
17618 fra
.me
.REG
[3] = NIT_NULL
;
17619 fra
.me
.REG
[4] = NIT_NULL
;
17620 fra
.me
.REG
[0] = p0
;
17621 fra
.me
.REG
[1] = p1
;
17622 /* compiling/compiling_icode.nit:1231 */
17623 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17624 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17625 if (UNTAG_Bool(REGB0
)) {
17628 /* compiling/compiling_icode.nit:1232 */
17629 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17630 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17631 /* compiling/compiling_icode.nit:1233 */
17632 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17633 /* compiling/compiling_icode.nit:1234 */
17634 if (!once_value_2
) {
17635 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
17636 REGB0
= TAG_Int(9);
17637 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17638 once_value_2
= fra
.me
.REG
[3];
17639 register_static_object(&once_value_2
);
17640 } else fra
.me
.REG
[3] = once_value_2
;
17641 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17642 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17643 /* compiling/compiling_icode.nit:1235 */
17644 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17645 if (UNTAG_Bool(REGB0
)) {
17646 /* compiling/compiling_icode.nit:1236 */
17647 if (!once_value_3
) {
17648 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
17649 REGB0
= TAG_Int(22);
17650 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
17651 once_value_3
= fra
.me
.REG
[3];
17652 register_static_object(&once_value_3
);
17653 } else fra
.me
.REG
[3] = once_value_3
;
17654 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17655 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17656 /* compiling/compiling_icode.nit:1237 */
17657 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17658 fra
.me
.REG
[4] = CALL_icode___icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17659 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17660 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17661 /* compiling/compiling_icode.nit:1238 */
17662 if (!once_value_4
) {
17663 fra
.me
.REG
[4] = BOX_NativeString("]");
17664 REGB0
= TAG_Int(1);
17665 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17666 once_value_4
= fra
.me
.REG
[4];
17667 register_static_object(&once_value_4
);
17668 } else fra
.me
.REG
[4] = once_value_4
;
17669 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17670 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17672 /* compiling/compiling_icode.nit:1240 */
17673 if (!once_value_5
) {
17674 fra
.me
.REG
[4] = BOX_NativeString("CREG[");
17675 REGB0
= TAG_Int(5);
17676 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
17677 once_value_5
= fra
.me
.REG
[4];
17678 register_static_object(&once_value_5
);
17679 } else fra
.me
.REG
[4] = once_value_5
;
17680 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17681 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17682 /* compiling/compiling_icode.nit:1241 */
17683 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17684 fra
.me
.REG
[0] = CALL_icode___icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17685 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17686 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17687 /* compiling/compiling_icode.nit:1242 */
17688 if (!once_value_6
) {
17689 fra
.me
.REG
[0] = BOX_NativeString("]");
17690 REGB0
= TAG_Int(1);
17691 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17692 once_value_6
= fra
.me
.REG
[0];
17693 register_static_object(&once_value_6
);
17694 } else fra
.me
.REG
[0] = once_value_6
;
17695 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17696 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17698 /* compiling/compiling_icode.nit:1244 */
17699 if (!once_value_7
) {
17700 fra
.me
.REG
[0] = BOX_NativeString(" != NULL)");
17701 REGB0
= TAG_Int(9);
17702 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
17703 once_value_7
= fra
.me
.REG
[0];
17704 register_static_object(&once_value_7
);
17705 } else fra
.me
.REG
[0] = once_value_7
;
17706 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17707 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17709 stack_frame_head
= fra
.me
.prev
;
17712 static const char LOCATE_compiling___compiling_icode___IClosureDef___compile_closure
[] = "compiling_icode::IClosureDef::compile_closure";
17713 val_t
compiling___compiling_icode___IClosureDef___compile_closure(val_t p0
, val_t p1
){
17714 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
17719 static val_t once_value_1
; /* Once value */
17720 static val_t once_value_2
; /* Once value */
17721 static val_t once_value_3
; /* Once value */
17722 static val_t once_value_4
; /* Once value */
17723 static val_t once_value_5
; /* Once value */
17724 static val_t once_value_6
; /* Once value */
17725 static val_t once_value_7
; /* Once value */
17726 static val_t once_value_8
; /* Once value */
17727 static val_t once_value_9
; /* Once value */
17728 static val_t once_value_10
; /* Once value */
17729 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17730 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17731 fra
.me
.line
= 1249;
17732 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IClosureDef___compile_closure
;
17733 fra
.me
.has_broke
= 0;
17734 fra
.me
.REG_size
= 9;
17735 fra
.me
.nitni_local_ref_head
= NULL
;
17736 fra
.me
.REG
[0] = NIT_NULL
;
17737 fra
.me
.REG
[1] = NIT_NULL
;
17738 fra
.me
.REG
[2] = NIT_NULL
;
17739 fra
.me
.REG
[3] = NIT_NULL
;
17740 fra
.me
.REG
[4] = NIT_NULL
;
17741 fra
.me
.REG
[5] = NIT_NULL
;
17742 fra
.me
.REG
[6] = NIT_NULL
;
17743 fra
.me
.REG
[7] = NIT_NULL
;
17744 fra
.me
.REG
[8] = NIT_NULL
;
17745 fra
.me
.REG
[0] = p0
;
17746 fra
.me
.REG
[1] = p1
;
17747 /* compiling/compiling_icode.nit:1253 */
17748 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17749 /* compiling/compiling_icode.nit:1256 */
17750 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17751 /* compiling/compiling_icode.nit:1257 */
17752 REGB1
= TAG_Bool(1);
17753 CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
17754 /* compiling/compiling_icode.nit:1260 */
17755 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17756 /* compiling/compiling_icode.nit:1261 */
17757 fra
.me
.REG
[4] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
17758 CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17759 /* compiling/compiling_icode.nit:1264 */
17760 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17761 /* compiling/compiling_icode.nit:1265 */
17762 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17763 /* compiling/compiling_icode.nit:1266 */
17764 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___top_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17765 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17766 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
17767 /* compiling/compiling_icode.nit:1267 */
17768 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17769 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17770 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
17771 /* compiling/compiling_icode.nit:1270 */
17772 REGB1
= TAG_Int(5);
17773 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17774 if (!once_value_1
) {
17775 fra
.me
.REG
[7] = BOX_NativeString("OC_");
17776 REGB1
= TAG_Int(3);
17777 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17778 once_value_1
= fra
.me
.REG
[7];
17779 register_static_object(&once_value_1
);
17780 } else fra
.me
.REG
[7] = once_value_1
;
17781 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17783 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17785 if (!once_value_2
) {
17786 fra
.me
.REG
[7] = BOX_NativeString("_");
17787 REGB1
= TAG_Int(1);
17788 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17789 once_value_2
= fra
.me
.REG
[7];
17790 register_static_object(&once_value_2
);
17791 } else fra
.me
.REG
[7] = once_value_2
;
17792 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17793 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17794 REGB1
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17795 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
17796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17797 if (!once_value_3
) {
17798 fra
.me
.REG
[7] = BOX_NativeString("");
17799 REGB1
= TAG_Int(0);
17800 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17801 once_value_3
= fra
.me
.REG
[7];
17802 register_static_object(&once_value_3
);
17803 } else fra
.me
.REG
[7] = once_value_3
;
17804 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17806 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17807 /* compiling/compiling_icode.nit:1271 */
17808 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17809 if (!once_value_4
) {
17810 fra
.me
.REG
[8] = BOX_NativeString("struct stack_frame_t *closctx");
17811 REGB1
= TAG_Int(29);
17812 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
17813 once_value_4
= fra
.me
.REG
[8];
17814 register_static_object(&once_value_4
);
17815 } else fra
.me
.REG
[8] = once_value_4
;
17816 fra
.me
.REG
[8] = fra
.me
.REG
[8];
17817 fra
.me
.REG
[8] = CALL_compiling___compiling_icode___IRoutine___compile_signature_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7], fra
.me
.REG
[6], NIT_NULL
, fra
.me
.REG
[8], NIT_NULL
);
17818 /* compiling/compiling_icode.nit:1272 */
17819 fra
.me
.REG
[7] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17820 fra
.me
.REG
[7] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
17821 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
17822 /* compiling/compiling_icode.nit:1274 */
17823 fra
.me
.REG
[8] = CALL_compiling___compiling_icode___IRoutine___compile_inside_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[8]);
17824 /* compiling/compiling_icode.nit:1275 */
17825 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
17826 if (UNTAG_Bool(REGB1
)) {
17828 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
17829 if (UNTAG_Bool(REGB2
)) {
17830 REGB2
= TAG_Bool(0);
17833 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
17837 if (UNTAG_Bool(REGB1
)) {
17838 /* compiling/compiling_icode.nit:1276 */
17839 if (!once_value_5
) {
17840 fra
.me
.REG
[0] = BOX_NativeString("return;");
17841 REGB1
= TAG_Int(7);
17842 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
17843 once_value_5
= fra
.me
.REG
[0];
17844 register_static_object(&once_value_5
);
17845 } else fra
.me
.REG
[0] = once_value_5
;
17846 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17847 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17849 /* compiling/compiling_icode.nit:1278 */
17850 REGB1
= TAG_Int(3);
17851 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17852 if (!once_value_6
) {
17853 fra
.me
.REG
[7] = BOX_NativeString("return ");
17854 REGB1
= TAG_Int(7);
17855 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
17856 once_value_6
= fra
.me
.REG
[7];
17857 register_static_object(&once_value_6
);
17858 } else fra
.me
.REG
[7] = once_value_6
;
17859 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
17861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
17862 if (!once_value_7
) {
17863 fra
.me
.REG
[8] = BOX_NativeString(";");
17864 REGB1
= TAG_Int(1);
17865 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
17866 once_value_7
= fra
.me
.REG
[8];
17867 register_static_object(&once_value_7
);
17868 } else fra
.me
.REG
[8] = once_value_7
;
17869 fra
.me
.REG
[8] = fra
.me
.REG
[8];
17870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
17871 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17872 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17874 /* compiling/compiling_icode.nit:1280 */
17875 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17876 /* compiling/compiling_icode.nit:1281 */
17877 if (!once_value_8
) {
17878 fra
.me
.REG
[0] = BOX_NativeString("}");
17879 REGB1
= TAG_Int(1);
17880 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
17881 once_value_8
= fra
.me
.REG
[0];
17882 register_static_object(&once_value_8
);
17883 } else fra
.me
.REG
[0] = once_value_8
;
17884 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17885 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17886 /* compiling/compiling_icode.nit:1284 */
17887 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
17888 /* compiling/compiling_icode.nit:1285 */
17889 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17890 /* compiling/compiling_icode.nit:1286 */
17891 CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
17892 /* compiling/compiling_icode.nit:1287 */
17893 CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17894 /* compiling/compiling_icode.nit:1288 */
17895 REGB0
= TAG_Int(3);
17896 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17897 if (!once_value_9
) {
17898 fra
.me
.REG
[1] = BOX_NativeString("((fun_t)");
17899 REGB0
= TAG_Int(8);
17900 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
17901 once_value_9
= fra
.me
.REG
[1];
17902 register_static_object(&once_value_9
);
17903 } else fra
.me
.REG
[1] = once_value_9
;
17904 fra
.me
.REG
[1] = fra
.me
.REG
[1];
17905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
17906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17907 if (!once_value_10
) {
17908 fra
.me
.REG
[6] = BOX_NativeString(")");
17909 REGB0
= TAG_Int(1);
17910 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
17911 once_value_10
= fra
.me
.REG
[6];
17912 register_static_object(&once_value_10
);
17913 } else fra
.me
.REG
[6] = once_value_10
;
17914 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17916 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17919 stack_frame_head
= fra
.me
.prev
;
17920 return fra
.me
.REG
[3];