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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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:237 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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:245 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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:245 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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:237 */
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:404 */
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:242 */
1484 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1485 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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:406 */
1541 /* ../lib/standard/kernel.nit:245 */
1542 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1543 /* ../lib/standard/kernel.nit:406 */
1546 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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:404 */
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:242 */
1593 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1594 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(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:404 */
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:242 */
1668 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1669 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(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:406 */
1683 /* ../lib/standard/kernel.nit:245 */
1684 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
1685 /* ../lib/standard/kernel.nit:406 */
1688 /* ../lib/standard/kernel.nit:404 */
1693 /* compiling/compiling_icode.nit:254 */
1694 if (!once_value_13
) {
1695 fra
.me
.REG
[10] = BOX_NativeString("void");
1697 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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:406 */
1833 /* ../lib/standard/kernel.nit:245 */
1834 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1835 /* ../lib/standard/kernel.nit:406 */
1838 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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:244 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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:247 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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:404 */
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:242 */
2401 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2402 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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:406 */
2433 /* ../lib/standard/kernel.nit:245 */
2434 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2435 /* ../lib/standard/kernel.nit:406 */
2438 /* ../lib/standard/kernel.nit:404 */
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:404 */
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:242 */
2454 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2455 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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:406 */
2486 /* ../lib/standard/kernel.nit:245 */
2487 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2488 /* ../lib/standard/kernel.nit:406 */
2491 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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:404 */
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:242 */
2600 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2601 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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:245 */
2637 REGB3
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB2
));
2638 /* ../lib/standard/collection/array.nit:279 */
2639 fra
.me
.REG
[6] = fra
.me
.REG
[2];
2640 /* ../lib/standard/collection/array.nit:281 */
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:243 */
2648 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
2649 /* ../lib/standard/collection/array.nit:281 */
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
, 281);
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:242 */
2663 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
2665 /* ../lib/standard/collection/array.nit:281 */
2666 REGB5
= TAG_Bool(0);
2669 if (UNTAG_Bool(REGB4
)) {
2671 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
2673 /* ../lib/standard/collection/array.nit:282 */
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
, 282);
2679 /* ../lib/standard/collection/array.nit:725 */
2680 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB3
)];
2681 /* ../lib/standard/collection/array.nit:282 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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:404 */
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:242 */
2727 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
2728 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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:406 */
2743 /* ../lib/standard/kernel.nit:245 */
2744 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
2745 /* ../lib/standard/kernel.nit:406 */
2748 /* ../lib/standard/kernel.nit:404 */
2753 /* compiling/compiling_icode.nit:332 */
2754 if (!once_value_34
) {
2755 fra
.me
.REG
[7] = BOX_NativeString("void");
2757 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[9])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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:406 */
2834 /* ../lib/standard/kernel.nit:245 */
2835 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2836 /* ../lib/standard/kernel.nit:406 */
2839 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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:237 */
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:279 */
2944 fra
.me
.REG
[1] = closctx
->REG
[2];
2945 REGB0
= closctx
->REG
[4];
2946 /* ../lib/standard/collection/array.nit:281 */
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:243 */
2954 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2955 /* ../lib/standard/collection/array.nit:281 */
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
, 281);
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:242 */
2969 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2971 /* ../lib/standard/collection/array.nit:281 */
2972 REGB2
= TAG_Bool(0);
2975 if (UNTAG_Bool(REGB1
)) {
2977 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
2979 /* ../lib/standard/collection/array.nit:282 */
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
, 282);
2985 /* ../lib/standard/collection/array.nit:725 */
2986 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
2987 /* ../lib/standard/collection/array.nit:282 */
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:245 */
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:237 */
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:237 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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:237 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[9])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[9])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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:245 */
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:237 */
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:279 */
4842 fra
.me
.REG
[6] = fra
.me
.REG
[3];
4843 /* ../lib/standard/collection/array.nit:281 */
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:243 */
4851 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
4852 /* ../lib/standard/collection/array.nit:281 */
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
, 281);
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:242 */
4866 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4868 /* ../lib/standard/collection/array.nit:281 */
4869 REGB0
= TAG_Bool(0);
4872 if (UNTAG_Bool(REGB2
)) {
4874 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
4876 /* ../lib/standard/collection/array.nit:282 */
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
, 282);
4882 /* ../lib/standard/collection/array.nit:725 */
4883 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
4884 /* ../lib/standard/collection/array.nit:282 */
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:404 */
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:242 */
4904 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
4905 /* ../lib/standard/kernel.nit:404 */
4906 if (UNTAG_Bool(REGB0
)) {
4907 /* compiling/compiling_icode.nit:712 */
4909 /* compiling/compiling_icode.nit:713 */
4911 /* ../lib/standard/kernel.nit:245 */
4912 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
4913 /* ../lib/standard/collection/array.nit:279 */
4914 fra
.me
.REG
[4] = fra
.me
.REG
[3];
4915 /* ../lib/standard/collection/array.nit:281 */
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:243 */
4923 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB0
));
4924 /* ../lib/standard/collection/array.nit:281 */
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
, 281);
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:242 */
4938 REGB0
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB0
));
4940 /* ../lib/standard/collection/array.nit:281 */
4941 REGB4
= TAG_Bool(0);
4944 if (UNTAG_Bool(REGB0
)) {
4946 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
4948 /* ../lib/standard/collection/array.nit:282 */
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
, 282);
4954 /* ../lib/standard/collection/array.nit:725 */
4955 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB3
)];
4956 /* ../lib/standard/collection/array.nit:282 */
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:406 */
4963 /* ../lib/standard/kernel.nit:245 */
4964 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
4965 /* ../lib/standard/kernel.nit:406 */
4968 /* ../lib/standard/kernel.nit:404 */
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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(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_441
; /* Once value */
5362 static val_t once_value_442
; /* Once value */
5363 static val_t once_value_443
; /* 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_451
; /* Once value */
5370 static val_t once_value_452
; /* Once value */
5371 static val_t once_value_453
; /* Once value */
5372 static val_t once_value_454
; /* Once value */
5373 static val_t once_value_455
; /* Once value */
5374 static val_t once_value_456
; /* Once value */
5375 static val_t once_value_458
; /* Once value */
5376 static val_t once_value_460
; /* Once value */
5377 static val_t once_value_461
; /* Once value */
5378 static val_t once_value_462
; /* Once value */
5379 static val_t once_value_463
; /* Once value */
5380 static val_t once_value_465
; /* Once value */
5381 static val_t once_value_466
; /* Once value */
5382 static val_t once_value_467
; /* Once value */
5383 static val_t once_value_468
; /* Once value */
5384 static val_t once_value_470
; /* Once value */
5385 static val_t once_value_471
; /* Once value */
5386 static val_t once_value_472
; /* Once value */
5387 static val_t once_value_473
; /* Once value */
5388 static val_t once_value_475
; /* Once value */
5389 static val_t once_value_476
; /* Once value */
5390 static val_t once_value_477
; /* Once value */
5391 static val_t once_value_478
; /* 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_485
; /* Once value */
5397 static val_t once_value_486
; /* Once value */
5398 static val_t once_value_487
; /* Once value */
5399 static val_t once_value_488
; /* Once value */
5400 static val_t once_value_489
; /* Once value */
5401 static val_t once_value_490
; /* Once value */
5402 static val_t once_value_491
; /* Once value */
5403 static val_t once_value_492
; /* Once value */
5404 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5405 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
5407 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INative___compile_intern_method_to_c
;
5408 fra
.me
.has_broke
= 0;
5409 fra
.me
.REG_size
= 8;
5410 fra
.me
.nitni_local_ref_head
= NULL
;
5411 fra
.me
.REG
[0] = NIT_NULL
;
5412 fra
.me
.REG
[1] = NIT_NULL
;
5413 fra
.me
.REG
[2] = NIT_NULL
;
5414 fra
.me
.REG
[3] = NIT_NULL
;
5415 fra
.me
.REG
[4] = NIT_NULL
;
5416 fra
.me
.REG
[5] = NIT_NULL
;
5417 fra
.me
.REG
[6] = NIT_NULL
;
5418 fra
.me
.REG
[7] = NIT_NULL
;
5421 /* compiling/compiling_icode.nit:724 */
5422 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5423 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5424 /* compiling/compiling_icode.nit:725 */
5425 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5426 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5427 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5428 if (UNTAG_Bool(REGB1
)) {
5429 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 725);
5431 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5433 /* ../lib/standard/kernel.nit:245 */
5434 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
5435 /* compiling/compiling_icode.nit:725 */
5436 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
5437 if (UNTAG_Bool(REGB1
)) {
5439 /* ../lib/standard/kernel.nit:237 */
5440 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
5441 /* compiling/compiling_icode.nit:725 */
5444 if (UNTAG_Bool(REGB1
)) {
5446 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_icode
, 725);
5448 /* compiling/compiling_icode.nit:726 */
5449 fra
.me
.REG
[2] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5450 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5451 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5452 /* compiling/compiling_icode.nit:727 */
5453 fra
.me
.REG
[3] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5454 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5455 /* compiling/compiling_icode.nit:728 */
5456 fra
.me
.REG
[4] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5457 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5458 /* compiling/compiling_icode.nit:729 */
5459 fra
.me
.REG
[5] = NIT_NULL
;
5460 /* compiling/compiling_icode.nit:730 */
5461 if (!once_value_1
) {
5462 if (!once_value_2
) {
5463 fra
.me
.REG
[6] = BOX_NativeString("Int");
5465 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
5466 once_value_2
= fra
.me
.REG
[6];
5467 register_static_object(&once_value_2
);
5468 } else fra
.me
.REG
[6] = once_value_2
;
5469 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5470 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5471 once_value_1
= fra
.me
.REG
[6];
5472 register_static_object(&once_value_1
);
5473 } else fra
.me
.REG
[6] = once_value_1
;
5474 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5475 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
5476 if (UNTAG_Bool(REGB1
)) {
5478 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
5481 if (UNTAG_Bool(REGB1
)) {
5482 /* compiling/compiling_icode.nit:731 */
5483 if (!once_value_3
) {
5484 if (!once_value_4
) {
5485 fra
.me
.REG
[6] = BOX_NativeString("object_id");
5487 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
5488 once_value_4
= fra
.me
.REG
[6];
5489 register_static_object(&once_value_4
);
5490 } else fra
.me
.REG
[6] = once_value_4
;
5491 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5492 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5493 once_value_3
= fra
.me
.REG
[6];
5494 register_static_object(&once_value_3
);
5495 } else fra
.me
.REG
[6] = once_value_3
;
5496 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5497 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5498 if (UNTAG_Bool(REGB1
)) {
5500 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5503 if (UNTAG_Bool(REGB1
)) {
5504 /* compiling/compiling_icode.nit:732 */
5506 /* ../lib/standard/collection/array.nit:279 */
5507 fra
.me
.REG
[6] = fra
.me
.REG
[4];
5508 /* ../lib/standard/collection/array.nit:281 */
5510 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5511 if (UNTAG_Bool(REGB0
)) {
5513 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5515 /* ../lib/standard/kernel.nit:243 */
5516 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5517 /* ../lib/standard/collection/array.nit:281 */
5518 if (UNTAG_Bool(REGB2
)) {
5519 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
5520 if (UNTAG_Bool(REGB2
)) {
5522 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
5524 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
5525 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5526 if (UNTAG_Bool(REGB0
)) {
5528 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5530 /* ../lib/standard/kernel.nit:242 */
5531 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5533 /* ../lib/standard/collection/array.nit:281 */
5534 REGB0
= TAG_Bool(0);
5537 if (UNTAG_Bool(REGB2
)) {
5539 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
5541 /* ../lib/standard/collection/array.nit:282 */
5542 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
5543 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5544 if (UNTAG_Bool(REGB2
)) {
5545 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
5547 /* ../lib/standard/collection/array.nit:725 */
5548 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
5549 /* ../lib/standard/collection/array.nit:282 */
5552 /* compiling/compiling_icode.nit:732 */
5553 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5555 /* compiling/compiling_icode.nit:733 */
5556 if (!once_value_6
) {
5557 if (!once_value_7
) {
5558 fra
.me
.REG
[6] = BOX_NativeString("unary -");
5560 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
5561 once_value_7
= fra
.me
.REG
[6];
5562 register_static_object(&once_value_7
);
5563 } else fra
.me
.REG
[6] = once_value_7
;
5564 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5565 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5566 once_value_6
= fra
.me
.REG
[6];
5567 register_static_object(&once_value_6
);
5568 } else fra
.me
.REG
[6] = once_value_6
;
5569 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5570 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5571 if (UNTAG_Bool(REGB1
)) {
5573 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5576 if (UNTAG_Bool(REGB1
)) {
5577 /* compiling/compiling_icode.nit:734 */
5579 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5580 if (!once_value_8
) {
5581 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(-UNTAG_Int(");
5582 REGB1
= TAG_Int(19);
5583 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5584 once_value_8
= fra
.me
.REG
[7];
5585 register_static_object(&once_value_8
);
5586 } else fra
.me
.REG
[7] = once_value_8
;
5587 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5588 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5590 /* ../lib/standard/collection/array.nit:279 */
5591 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5592 /* ../lib/standard/collection/array.nit:281 */
5594 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5595 if (UNTAG_Bool(REGB0
)) {
5597 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5599 /* ../lib/standard/kernel.nit:243 */
5600 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5601 /* ../lib/standard/collection/array.nit:281 */
5602 if (UNTAG_Bool(REGB2
)) {
5603 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5604 if (UNTAG_Bool(REGB2
)) {
5606 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
5608 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5609 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5610 if (UNTAG_Bool(REGB0
)) {
5612 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5614 /* ../lib/standard/kernel.nit:242 */
5615 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5617 /* ../lib/standard/collection/array.nit:281 */
5618 REGB0
= TAG_Bool(0);
5621 if (UNTAG_Bool(REGB2
)) {
5623 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
5625 /* ../lib/standard/collection/array.nit:282 */
5626 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5627 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5628 if (UNTAG_Bool(REGB2
)) {
5629 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
5631 /* ../lib/standard/collection/array.nit:725 */
5632 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5633 /* ../lib/standard/collection/array.nit:282 */
5636 /* compiling/compiling_icode.nit:734 */
5637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5638 if (!once_value_10
) {
5639 fra
.me
.REG
[7] = BOX_NativeString("))");
5641 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5642 once_value_10
= fra
.me
.REG
[7];
5643 register_static_object(&once_value_10
);
5644 } else fra
.me
.REG
[7] = once_value_10
;
5645 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5647 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5648 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5650 /* compiling/compiling_icode.nit:735 */
5651 if (!once_value_11
) {
5652 if (!once_value_12
) {
5653 fra
.me
.REG
[6] = BOX_NativeString("output");
5655 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
5656 once_value_12
= fra
.me
.REG
[6];
5657 register_static_object(&once_value_12
);
5658 } else fra
.me
.REG
[6] = once_value_12
;
5659 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5660 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5661 once_value_11
= fra
.me
.REG
[6];
5662 register_static_object(&once_value_11
);
5663 } else fra
.me
.REG
[6] = once_value_11
;
5664 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5665 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5666 if (UNTAG_Bool(REGB1
)) {
5668 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5671 if (UNTAG_Bool(REGB1
)) {
5672 /* compiling/compiling_icode.nit:736 */
5674 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5675 if (!once_value_13
) {
5676 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%ld\\n\", UNTAG_Int(");
5677 REGB1
= TAG_Int(26);
5678 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5679 once_value_13
= fra
.me
.REG
[7];
5680 register_static_object(&once_value_13
);
5681 } else fra
.me
.REG
[7] = once_value_13
;
5682 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5685 /* ../lib/standard/collection/array.nit:279 */
5686 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5687 /* ../lib/standard/collection/array.nit:281 */
5689 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5690 if (UNTAG_Bool(REGB0
)) {
5692 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5694 /* ../lib/standard/kernel.nit:243 */
5695 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5696 /* ../lib/standard/collection/array.nit:281 */
5697 if (UNTAG_Bool(REGB2
)) {
5698 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5699 if (UNTAG_Bool(REGB2
)) {
5701 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
5703 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5704 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5705 if (UNTAG_Bool(REGB0
)) {
5707 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5709 /* ../lib/standard/kernel.nit:242 */
5710 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5712 /* ../lib/standard/collection/array.nit:281 */
5713 REGB0
= TAG_Bool(0);
5716 if (UNTAG_Bool(REGB2
)) {
5718 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
5720 /* ../lib/standard/collection/array.nit:282 */
5721 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5722 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5723 if (UNTAG_Bool(REGB2
)) {
5724 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
5726 /* ../lib/standard/collection/array.nit:725 */
5727 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5728 /* ../lib/standard/collection/array.nit:282 */
5731 /* compiling/compiling_icode.nit:736 */
5732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5733 if (!once_value_15
) {
5734 fra
.me
.REG
[7] = BOX_NativeString("));");
5736 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5737 once_value_15
= fra
.me
.REG
[7];
5738 register_static_object(&once_value_15
);
5739 } else fra
.me
.REG
[7] = once_value_15
;
5740 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5742 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5743 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5745 /* compiling/compiling_icode.nit:737 */
5746 if (!once_value_16
) {
5747 if (!once_value_17
) {
5748 fra
.me
.REG
[6] = BOX_NativeString("ascii");
5750 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
5751 once_value_17
= fra
.me
.REG
[6];
5752 register_static_object(&once_value_17
);
5753 } else fra
.me
.REG
[6] = once_value_17
;
5754 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5755 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5756 once_value_16
= fra
.me
.REG
[6];
5757 register_static_object(&once_value_16
);
5758 } else fra
.me
.REG
[6] = once_value_16
;
5759 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5760 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5761 if (UNTAG_Bool(REGB1
)) {
5763 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5766 if (UNTAG_Bool(REGB1
)) {
5767 /* compiling/compiling_icode.nit:738 */
5769 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5770 if (!once_value_18
) {
5771 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Int(");
5772 REGB1
= TAG_Int(19);
5773 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5774 once_value_18
= fra
.me
.REG
[7];
5775 register_static_object(&once_value_18
);
5776 } else fra
.me
.REG
[7] = once_value_18
;
5777 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5780 /* ../lib/standard/collection/array.nit:279 */
5781 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5782 /* ../lib/standard/collection/array.nit:281 */
5784 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5785 if (UNTAG_Bool(REGB0
)) {
5787 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5789 /* ../lib/standard/kernel.nit:243 */
5790 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5791 /* ../lib/standard/collection/array.nit:281 */
5792 if (UNTAG_Bool(REGB2
)) {
5793 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5794 if (UNTAG_Bool(REGB2
)) {
5796 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
5798 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5799 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5800 if (UNTAG_Bool(REGB0
)) {
5802 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5804 /* ../lib/standard/kernel.nit:242 */
5805 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5807 /* ../lib/standard/collection/array.nit:281 */
5808 REGB0
= TAG_Bool(0);
5811 if (UNTAG_Bool(REGB2
)) {
5813 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
5815 /* ../lib/standard/collection/array.nit:282 */
5816 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5817 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5818 if (UNTAG_Bool(REGB2
)) {
5819 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
5821 /* ../lib/standard/collection/array.nit:725 */
5822 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5823 /* ../lib/standard/collection/array.nit:282 */
5826 /* compiling/compiling_icode.nit:738 */
5827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5828 if (!once_value_20
) {
5829 fra
.me
.REG
[7] = BOX_NativeString("))");
5831 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5832 once_value_20
= fra
.me
.REG
[7];
5833 register_static_object(&once_value_20
);
5834 } else fra
.me
.REG
[7] = once_value_20
;
5835 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5837 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5838 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5840 /* compiling/compiling_icode.nit:739 */
5841 if (!once_value_21
) {
5842 if (!once_value_22
) {
5843 fra
.me
.REG
[6] = BOX_NativeString("succ");
5845 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
5846 once_value_22
= fra
.me
.REG
[6];
5847 register_static_object(&once_value_22
);
5848 } else fra
.me
.REG
[6] = once_value_22
;
5849 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5850 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5851 once_value_21
= fra
.me
.REG
[6];
5852 register_static_object(&once_value_21
);
5853 } else fra
.me
.REG
[6] = once_value_21
;
5854 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5855 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5856 if (UNTAG_Bool(REGB1
)) {
5858 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5861 if (UNTAG_Bool(REGB1
)) {
5862 /* compiling/compiling_icode.nit:740 */
5864 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5865 if (!once_value_23
) {
5866 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5867 REGB1
= TAG_Int(18);
5868 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5869 once_value_23
= fra
.me
.REG
[7];
5870 register_static_object(&once_value_23
);
5871 } else fra
.me
.REG
[7] = once_value_23
;
5872 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5873 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5875 /* ../lib/standard/collection/array.nit:279 */
5876 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5877 /* ../lib/standard/collection/array.nit:281 */
5879 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5880 if (UNTAG_Bool(REGB0
)) {
5882 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5884 /* ../lib/standard/kernel.nit:243 */
5885 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5886 /* ../lib/standard/collection/array.nit:281 */
5887 if (UNTAG_Bool(REGB2
)) {
5888 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5889 if (UNTAG_Bool(REGB2
)) {
5891 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
5893 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5894 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5895 if (UNTAG_Bool(REGB0
)) {
5897 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5899 /* ../lib/standard/kernel.nit:242 */
5900 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5902 /* ../lib/standard/collection/array.nit:281 */
5903 REGB0
= TAG_Bool(0);
5906 if (UNTAG_Bool(REGB2
)) {
5908 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
5910 /* ../lib/standard/collection/array.nit:282 */
5911 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
5912 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5913 if (UNTAG_Bool(REGB2
)) {
5914 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
5916 /* ../lib/standard/collection/array.nit:725 */
5917 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
5918 /* ../lib/standard/collection/array.nit:282 */
5921 /* compiling/compiling_icode.nit:740 */
5922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5923 if (!once_value_25
) {
5924 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
5926 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5927 once_value_25
= fra
.me
.REG
[7];
5928 register_static_object(&once_value_25
);
5929 } else fra
.me
.REG
[7] = once_value_25
;
5930 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5932 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5933 fra
.me
.REG
[5] = fra
.me
.REG
[6];
5935 /* compiling/compiling_icode.nit:741 */
5936 if (!once_value_26
) {
5937 if (!once_value_27
) {
5938 fra
.me
.REG
[6] = BOX_NativeString("prec");
5940 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
5941 once_value_27
= fra
.me
.REG
[6];
5942 register_static_object(&once_value_27
);
5943 } else fra
.me
.REG
[6] = once_value_27
;
5944 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5945 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5946 once_value_26
= fra
.me
.REG
[6];
5947 register_static_object(&once_value_26
);
5948 } else fra
.me
.REG
[6] = once_value_26
;
5949 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5950 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
5951 if (UNTAG_Bool(REGB1
)) {
5953 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
5956 if (UNTAG_Bool(REGB1
)) {
5957 /* compiling/compiling_icode.nit:742 */
5959 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5960 if (!once_value_28
) {
5961 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
5962 REGB1
= TAG_Int(18);
5963 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
5964 once_value_28
= fra
.me
.REG
[7];
5965 register_static_object(&once_value_28
);
5966 } else fra
.me
.REG
[7] = once_value_28
;
5967 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
5970 /* ../lib/standard/collection/array.nit:279 */
5971 fra
.me
.REG
[7] = fra
.me
.REG
[4];
5972 /* ../lib/standard/collection/array.nit:281 */
5974 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5975 if (UNTAG_Bool(REGB0
)) {
5977 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5979 /* ../lib/standard/kernel.nit:243 */
5980 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
5981 /* ../lib/standard/collection/array.nit:281 */
5982 if (UNTAG_Bool(REGB2
)) {
5983 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5984 if (UNTAG_Bool(REGB2
)) {
5986 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
5988 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5989 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5990 if (UNTAG_Bool(REGB0
)) {
5992 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5994 /* ../lib/standard/kernel.nit:242 */
5995 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
5997 /* ../lib/standard/collection/array.nit:281 */
5998 REGB0
= TAG_Bool(0);
6001 if (UNTAG_Bool(REGB2
)) {
6003 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6005 /* ../lib/standard/collection/array.nit:282 */
6006 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6007 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6008 if (UNTAG_Bool(REGB2
)) {
6009 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6011 /* ../lib/standard/collection/array.nit:725 */
6012 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6013 /* ../lib/standard/collection/array.nit:282 */
6016 /* compiling/compiling_icode.nit:742 */
6017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6018 if (!once_value_30
) {
6019 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
6021 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6022 once_value_30
= fra
.me
.REG
[7];
6023 register_static_object(&once_value_30
);
6024 } else fra
.me
.REG
[7] = once_value_30
;
6025 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6027 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6028 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6030 /* compiling/compiling_icode.nit:743 */
6031 if (!once_value_31
) {
6032 if (!once_value_32
) {
6033 fra
.me
.REG
[6] = BOX_NativeString("to_f");
6035 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
6036 once_value_32
= fra
.me
.REG
[6];
6037 register_static_object(&once_value_32
);
6038 } else fra
.me
.REG
[6] = once_value_32
;
6039 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6040 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6041 once_value_31
= fra
.me
.REG
[6];
6042 register_static_object(&once_value_31
);
6043 } else fra
.me
.REG
[6] = once_value_31
;
6044 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6045 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6046 if (UNTAG_Bool(REGB1
)) {
6048 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6051 if (UNTAG_Bool(REGB1
)) {
6052 /* compiling/compiling_icode.nit:744 */
6054 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6055 if (!once_value_33
) {
6056 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float((float)UNTAG_Int(");
6057 REGB1
= TAG_Int(27);
6058 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6059 once_value_33
= fra
.me
.REG
[7];
6060 register_static_object(&once_value_33
);
6061 } else fra
.me
.REG
[7] = once_value_33
;
6062 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6063 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6065 /* ../lib/standard/collection/array.nit:279 */
6066 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6067 /* ../lib/standard/collection/array.nit:281 */
6069 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6070 if (UNTAG_Bool(REGB0
)) {
6072 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6074 /* ../lib/standard/kernel.nit:243 */
6075 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6076 /* ../lib/standard/collection/array.nit:281 */
6077 if (UNTAG_Bool(REGB2
)) {
6078 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6079 if (UNTAG_Bool(REGB2
)) {
6081 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6083 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6084 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6085 if (UNTAG_Bool(REGB0
)) {
6087 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6089 /* ../lib/standard/kernel.nit:242 */
6090 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6092 /* ../lib/standard/collection/array.nit:281 */
6093 REGB0
= TAG_Bool(0);
6096 if (UNTAG_Bool(REGB2
)) {
6098 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6100 /* ../lib/standard/collection/array.nit:282 */
6101 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6102 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6103 if (UNTAG_Bool(REGB2
)) {
6104 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6106 /* ../lib/standard/collection/array.nit:725 */
6107 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6108 /* ../lib/standard/collection/array.nit:282 */
6111 /* compiling/compiling_icode.nit:744 */
6112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6113 if (!once_value_35
) {
6114 fra
.me
.REG
[7] = BOX_NativeString("))");
6116 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6117 once_value_35
= fra
.me
.REG
[7];
6118 register_static_object(&once_value_35
);
6119 } else fra
.me
.REG
[7] = once_value_35
;
6120 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6122 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6123 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6125 /* compiling/compiling_icode.nit:745 */
6126 if (!once_value_36
) {
6127 if (!once_value_37
) {
6128 fra
.me
.REG
[6] = BOX_NativeString("+");
6130 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
6131 once_value_37
= fra
.me
.REG
[6];
6132 register_static_object(&once_value_37
);
6133 } else fra
.me
.REG
[6] = once_value_37
;
6134 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6135 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6136 once_value_36
= fra
.me
.REG
[6];
6137 register_static_object(&once_value_36
);
6138 } else fra
.me
.REG
[6] = once_value_36
;
6139 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6140 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6141 if (UNTAG_Bool(REGB1
)) {
6143 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6146 if (UNTAG_Bool(REGB1
)) {
6147 /* compiling/compiling_icode.nit:746 */
6149 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6150 if (!once_value_38
) {
6151 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6152 REGB1
= TAG_Int(18);
6153 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6154 once_value_38
= fra
.me
.REG
[7];
6155 register_static_object(&once_value_38
);
6156 } else fra
.me
.REG
[7] = once_value_38
;
6157 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6158 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6160 /* ../lib/standard/collection/array.nit:279 */
6161 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6162 /* ../lib/standard/collection/array.nit:281 */
6164 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6165 if (UNTAG_Bool(REGB0
)) {
6167 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6169 /* ../lib/standard/kernel.nit:243 */
6170 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6171 /* ../lib/standard/collection/array.nit:281 */
6172 if (UNTAG_Bool(REGB2
)) {
6173 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6174 if (UNTAG_Bool(REGB2
)) {
6176 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6178 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6179 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6180 if (UNTAG_Bool(REGB0
)) {
6182 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6184 /* ../lib/standard/kernel.nit:242 */
6185 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6187 /* ../lib/standard/collection/array.nit:281 */
6188 REGB0
= TAG_Bool(0);
6191 if (UNTAG_Bool(REGB2
)) {
6193 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6195 /* ../lib/standard/collection/array.nit:282 */
6196 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6197 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6198 if (UNTAG_Bool(REGB2
)) {
6199 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6201 /* ../lib/standard/collection/array.nit:725 */
6202 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6203 /* ../lib/standard/collection/array.nit:282 */
6206 /* compiling/compiling_icode.nit:746 */
6207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6208 if (!once_value_40
) {
6209 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
6210 REGB1
= TAG_Int(12);
6211 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6212 once_value_40
= fra
.me
.REG
[7];
6213 register_static_object(&once_value_40
);
6214 } else fra
.me
.REG
[7] = once_value_40
;
6215 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6218 /* ../lib/standard/collection/array.nit:279 */
6219 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6220 /* ../lib/standard/collection/array.nit:281 */
6222 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6223 if (UNTAG_Bool(REGB0
)) {
6225 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6227 /* ../lib/standard/kernel.nit:243 */
6228 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6229 /* ../lib/standard/collection/array.nit:281 */
6230 if (UNTAG_Bool(REGB2
)) {
6231 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6232 if (UNTAG_Bool(REGB2
)) {
6234 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6236 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6237 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6238 if (UNTAG_Bool(REGB0
)) {
6240 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6242 /* ../lib/standard/kernel.nit:242 */
6243 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6245 /* ../lib/standard/collection/array.nit:281 */
6246 REGB0
= TAG_Bool(0);
6249 if (UNTAG_Bool(REGB2
)) {
6251 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6253 /* ../lib/standard/collection/array.nit:282 */
6254 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6255 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6256 if (UNTAG_Bool(REGB2
)) {
6257 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6259 /* ../lib/standard/collection/array.nit:725 */
6260 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6261 /* ../lib/standard/collection/array.nit:282 */
6264 /* compiling/compiling_icode.nit:746 */
6265 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6266 if (!once_value_42
) {
6267 fra
.me
.REG
[7] = BOX_NativeString("))");
6269 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6270 once_value_42
= fra
.me
.REG
[7];
6271 register_static_object(&once_value_42
);
6272 } else fra
.me
.REG
[7] = once_value_42
;
6273 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6275 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6276 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6278 /* compiling/compiling_icode.nit:747 */
6279 if (!once_value_43
) {
6280 if (!once_value_44
) {
6281 fra
.me
.REG
[6] = BOX_NativeString("-");
6283 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
6284 once_value_44
= fra
.me
.REG
[6];
6285 register_static_object(&once_value_44
);
6286 } else fra
.me
.REG
[6] = once_value_44
;
6287 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6288 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6289 once_value_43
= fra
.me
.REG
[6];
6290 register_static_object(&once_value_43
);
6291 } else fra
.me
.REG
[6] = once_value_43
;
6292 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6293 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6294 if (UNTAG_Bool(REGB1
)) {
6296 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6299 if (UNTAG_Bool(REGB1
)) {
6300 /* compiling/compiling_icode.nit:748 */
6302 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6303 if (!once_value_45
) {
6304 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6305 REGB1
= TAG_Int(18);
6306 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6307 once_value_45
= fra
.me
.REG
[7];
6308 register_static_object(&once_value_45
);
6309 } else fra
.me
.REG
[7] = once_value_45
;
6310 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6313 /* ../lib/standard/collection/array.nit:279 */
6314 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6315 /* ../lib/standard/collection/array.nit:281 */
6317 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6318 if (UNTAG_Bool(REGB0
)) {
6320 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6322 /* ../lib/standard/kernel.nit:243 */
6323 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6324 /* ../lib/standard/collection/array.nit:281 */
6325 if (UNTAG_Bool(REGB2
)) {
6326 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6327 if (UNTAG_Bool(REGB2
)) {
6329 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6331 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6332 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6333 if (UNTAG_Bool(REGB0
)) {
6335 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6337 /* ../lib/standard/kernel.nit:242 */
6338 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6340 /* ../lib/standard/collection/array.nit:281 */
6341 REGB0
= TAG_Bool(0);
6344 if (UNTAG_Bool(REGB2
)) {
6346 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6348 /* ../lib/standard/collection/array.nit:282 */
6349 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6350 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6351 if (UNTAG_Bool(REGB2
)) {
6352 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6354 /* ../lib/standard/collection/array.nit:725 */
6355 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6356 /* ../lib/standard/collection/array.nit:282 */
6359 /* compiling/compiling_icode.nit:748 */
6360 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6361 if (!once_value_47
) {
6362 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Int(");
6363 REGB1
= TAG_Int(12);
6364 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6365 once_value_47
= fra
.me
.REG
[7];
6366 register_static_object(&once_value_47
);
6367 } else fra
.me
.REG
[7] = once_value_47
;
6368 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6371 /* ../lib/standard/collection/array.nit:279 */
6372 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6373 /* ../lib/standard/collection/array.nit:281 */
6375 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6376 if (UNTAG_Bool(REGB0
)) {
6378 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6380 /* ../lib/standard/kernel.nit:243 */
6381 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6382 /* ../lib/standard/collection/array.nit:281 */
6383 if (UNTAG_Bool(REGB2
)) {
6384 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6385 if (UNTAG_Bool(REGB2
)) {
6387 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6389 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6390 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6391 if (UNTAG_Bool(REGB0
)) {
6393 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6395 /* ../lib/standard/kernel.nit:242 */
6396 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6398 /* ../lib/standard/collection/array.nit:281 */
6399 REGB0
= TAG_Bool(0);
6402 if (UNTAG_Bool(REGB2
)) {
6404 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6406 /* ../lib/standard/collection/array.nit:282 */
6407 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6408 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6409 if (UNTAG_Bool(REGB2
)) {
6410 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6412 /* ../lib/standard/collection/array.nit:725 */
6413 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6414 /* ../lib/standard/collection/array.nit:282 */
6417 /* compiling/compiling_icode.nit:748 */
6418 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6419 if (!once_value_49
) {
6420 fra
.me
.REG
[7] = BOX_NativeString("))");
6422 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6423 once_value_49
= fra
.me
.REG
[7];
6424 register_static_object(&once_value_49
);
6425 } else fra
.me
.REG
[7] = once_value_49
;
6426 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6427 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6428 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6429 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6431 /* compiling/compiling_icode.nit:749 */
6432 if (!once_value_50
) {
6433 if (!once_value_51
) {
6434 fra
.me
.REG
[6] = BOX_NativeString("*");
6436 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
6437 once_value_51
= fra
.me
.REG
[6];
6438 register_static_object(&once_value_51
);
6439 } else fra
.me
.REG
[6] = once_value_51
;
6440 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6441 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6442 once_value_50
= fra
.me
.REG
[6];
6443 register_static_object(&once_value_50
);
6444 } else fra
.me
.REG
[6] = once_value_50
;
6445 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6446 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6447 if (UNTAG_Bool(REGB1
)) {
6449 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6452 if (UNTAG_Bool(REGB1
)) {
6453 /* compiling/compiling_icode.nit:750 */
6455 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6456 if (!once_value_52
) {
6457 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6458 REGB1
= TAG_Int(18);
6459 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6460 once_value_52
= fra
.me
.REG
[7];
6461 register_static_object(&once_value_52
);
6462 } else fra
.me
.REG
[7] = once_value_52
;
6463 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6464 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6466 /* ../lib/standard/collection/array.nit:279 */
6467 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6468 /* ../lib/standard/collection/array.nit:281 */
6470 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6471 if (UNTAG_Bool(REGB0
)) {
6473 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6475 /* ../lib/standard/kernel.nit:243 */
6476 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6477 /* ../lib/standard/collection/array.nit:281 */
6478 if (UNTAG_Bool(REGB2
)) {
6479 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6480 if (UNTAG_Bool(REGB2
)) {
6482 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6484 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6485 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6486 if (UNTAG_Bool(REGB0
)) {
6488 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6490 /* ../lib/standard/kernel.nit:242 */
6491 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6493 /* ../lib/standard/collection/array.nit:281 */
6494 REGB0
= TAG_Bool(0);
6497 if (UNTAG_Bool(REGB2
)) {
6499 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6501 /* ../lib/standard/collection/array.nit:282 */
6502 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6503 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6504 if (UNTAG_Bool(REGB2
)) {
6505 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6507 /* ../lib/standard/collection/array.nit:725 */
6508 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6509 /* ../lib/standard/collection/array.nit:282 */
6512 /* compiling/compiling_icode.nit:750 */
6513 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6514 if (!once_value_54
) {
6515 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Int(");
6516 REGB1
= TAG_Int(12);
6517 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6518 once_value_54
= fra
.me
.REG
[7];
6519 register_static_object(&once_value_54
);
6520 } else fra
.me
.REG
[7] = once_value_54
;
6521 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6524 /* ../lib/standard/collection/array.nit:279 */
6525 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6526 /* ../lib/standard/collection/array.nit:281 */
6528 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6529 if (UNTAG_Bool(REGB0
)) {
6531 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6533 /* ../lib/standard/kernel.nit:243 */
6534 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6535 /* ../lib/standard/collection/array.nit:281 */
6536 if (UNTAG_Bool(REGB2
)) {
6537 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6538 if (UNTAG_Bool(REGB2
)) {
6540 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6542 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6543 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6544 if (UNTAG_Bool(REGB0
)) {
6546 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6548 /* ../lib/standard/kernel.nit:242 */
6549 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6551 /* ../lib/standard/collection/array.nit:281 */
6552 REGB0
= TAG_Bool(0);
6555 if (UNTAG_Bool(REGB2
)) {
6557 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6559 /* ../lib/standard/collection/array.nit:282 */
6560 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6561 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6562 if (UNTAG_Bool(REGB2
)) {
6563 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6565 /* ../lib/standard/collection/array.nit:725 */
6566 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6567 /* ../lib/standard/collection/array.nit:282 */
6570 /* compiling/compiling_icode.nit:750 */
6571 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6572 if (!once_value_56
) {
6573 fra
.me
.REG
[7] = BOX_NativeString("))");
6575 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6576 once_value_56
= fra
.me
.REG
[7];
6577 register_static_object(&once_value_56
);
6578 } else fra
.me
.REG
[7] = once_value_56
;
6579 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6580 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6581 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6582 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6584 /* compiling/compiling_icode.nit:751 */
6585 if (!once_value_57
) {
6586 if (!once_value_58
) {
6587 fra
.me
.REG
[6] = BOX_NativeString("/");
6589 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
6590 once_value_58
= fra
.me
.REG
[6];
6591 register_static_object(&once_value_58
);
6592 } else fra
.me
.REG
[6] = once_value_58
;
6593 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6594 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6595 once_value_57
= fra
.me
.REG
[6];
6596 register_static_object(&once_value_57
);
6597 } else fra
.me
.REG
[6] = once_value_57
;
6598 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6599 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6600 if (UNTAG_Bool(REGB1
)) {
6602 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6605 if (UNTAG_Bool(REGB1
)) {
6606 /* compiling/compiling_icode.nit:752 */
6608 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6609 if (!once_value_59
) {
6610 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6611 REGB1
= TAG_Int(18);
6612 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6613 once_value_59
= fra
.me
.REG
[7];
6614 register_static_object(&once_value_59
);
6615 } else fra
.me
.REG
[7] = once_value_59
;
6616 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6619 /* ../lib/standard/collection/array.nit:279 */
6620 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6621 /* ../lib/standard/collection/array.nit:281 */
6623 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6624 if (UNTAG_Bool(REGB0
)) {
6626 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6628 /* ../lib/standard/kernel.nit:243 */
6629 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6630 /* ../lib/standard/collection/array.nit:281 */
6631 if (UNTAG_Bool(REGB2
)) {
6632 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6633 if (UNTAG_Bool(REGB2
)) {
6635 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6637 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6638 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6639 if (UNTAG_Bool(REGB0
)) {
6641 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6643 /* ../lib/standard/kernel.nit:242 */
6644 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6646 /* ../lib/standard/collection/array.nit:281 */
6647 REGB0
= TAG_Bool(0);
6650 if (UNTAG_Bool(REGB2
)) {
6652 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6654 /* ../lib/standard/collection/array.nit:282 */
6655 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6656 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6657 if (UNTAG_Bool(REGB2
)) {
6658 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6660 /* ../lib/standard/collection/array.nit:725 */
6661 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6662 /* ../lib/standard/collection/array.nit:282 */
6665 /* compiling/compiling_icode.nit:752 */
6666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6667 if (!once_value_61
) {
6668 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Int(");
6669 REGB1
= TAG_Int(12);
6670 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6671 once_value_61
= fra
.me
.REG
[7];
6672 register_static_object(&once_value_61
);
6673 } else fra
.me
.REG
[7] = once_value_61
;
6674 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6675 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6677 /* ../lib/standard/collection/array.nit:279 */
6678 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6679 /* ../lib/standard/collection/array.nit:281 */
6681 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6682 if (UNTAG_Bool(REGB0
)) {
6684 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6686 /* ../lib/standard/kernel.nit:243 */
6687 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6688 /* ../lib/standard/collection/array.nit:281 */
6689 if (UNTAG_Bool(REGB2
)) {
6690 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6691 if (UNTAG_Bool(REGB2
)) {
6693 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6695 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6696 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6697 if (UNTAG_Bool(REGB0
)) {
6699 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6701 /* ../lib/standard/kernel.nit:242 */
6702 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6704 /* ../lib/standard/collection/array.nit:281 */
6705 REGB0
= TAG_Bool(0);
6708 if (UNTAG_Bool(REGB2
)) {
6710 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6712 /* ../lib/standard/collection/array.nit:282 */
6713 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6714 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6715 if (UNTAG_Bool(REGB2
)) {
6716 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6718 /* ../lib/standard/collection/array.nit:725 */
6719 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6720 /* ../lib/standard/collection/array.nit:282 */
6723 /* compiling/compiling_icode.nit:752 */
6724 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6725 if (!once_value_63
) {
6726 fra
.me
.REG
[7] = BOX_NativeString("))");
6728 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6729 once_value_63
= fra
.me
.REG
[7];
6730 register_static_object(&once_value_63
);
6731 } else fra
.me
.REG
[7] = once_value_63
;
6732 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6733 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6734 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6735 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6737 /* compiling/compiling_icode.nit:753 */
6738 if (!once_value_64
) {
6739 if (!once_value_65
) {
6740 fra
.me
.REG
[6] = BOX_NativeString("%");
6742 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
6743 once_value_65
= fra
.me
.REG
[6];
6744 register_static_object(&once_value_65
);
6745 } else fra
.me
.REG
[6] = once_value_65
;
6746 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6747 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6748 once_value_64
= fra
.me
.REG
[6];
6749 register_static_object(&once_value_64
);
6750 } else fra
.me
.REG
[6] = once_value_64
;
6751 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6752 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6753 if (UNTAG_Bool(REGB1
)) {
6755 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6758 if (UNTAG_Bool(REGB1
)) {
6759 /* compiling/compiling_icode.nit:754 */
6761 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6762 if (!once_value_66
) {
6763 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
6764 REGB1
= TAG_Int(18);
6765 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6766 once_value_66
= fra
.me
.REG
[7];
6767 register_static_object(&once_value_66
);
6768 } else fra
.me
.REG
[7] = once_value_66
;
6769 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6770 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6772 /* ../lib/standard/collection/array.nit:279 */
6773 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6774 /* ../lib/standard/collection/array.nit:281 */
6776 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6777 if (UNTAG_Bool(REGB0
)) {
6779 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6781 /* ../lib/standard/kernel.nit:243 */
6782 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6783 /* ../lib/standard/collection/array.nit:281 */
6784 if (UNTAG_Bool(REGB2
)) {
6785 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6786 if (UNTAG_Bool(REGB2
)) {
6788 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6790 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6791 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6792 if (UNTAG_Bool(REGB0
)) {
6794 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6796 /* ../lib/standard/kernel.nit:242 */
6797 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6799 /* ../lib/standard/collection/array.nit:281 */
6800 REGB0
= TAG_Bool(0);
6803 if (UNTAG_Bool(REGB2
)) {
6805 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6807 /* ../lib/standard/collection/array.nit:282 */
6808 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6809 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6810 if (UNTAG_Bool(REGB2
)) {
6811 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6813 /* ../lib/standard/collection/array.nit:725 */
6814 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6815 /* ../lib/standard/collection/array.nit:282 */
6818 /* compiling/compiling_icode.nit:754 */
6819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6820 if (!once_value_68
) {
6821 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Int(");
6822 REGB1
= TAG_Int(12);
6823 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6824 once_value_68
= fra
.me
.REG
[7];
6825 register_static_object(&once_value_68
);
6826 } else fra
.me
.REG
[7] = once_value_68
;
6827 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6830 /* ../lib/standard/collection/array.nit:279 */
6831 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6832 /* ../lib/standard/collection/array.nit:281 */
6834 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6835 if (UNTAG_Bool(REGB0
)) {
6837 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6839 /* ../lib/standard/kernel.nit:243 */
6840 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6841 /* ../lib/standard/collection/array.nit:281 */
6842 if (UNTAG_Bool(REGB2
)) {
6843 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6844 if (UNTAG_Bool(REGB2
)) {
6846 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6848 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6849 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6850 if (UNTAG_Bool(REGB0
)) {
6852 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6854 /* ../lib/standard/kernel.nit:242 */
6855 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6857 /* ../lib/standard/collection/array.nit:281 */
6858 REGB0
= TAG_Bool(0);
6861 if (UNTAG_Bool(REGB2
)) {
6863 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6865 /* ../lib/standard/collection/array.nit:282 */
6866 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6867 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6868 if (UNTAG_Bool(REGB2
)) {
6869 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6871 /* ../lib/standard/collection/array.nit:725 */
6872 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6873 /* ../lib/standard/collection/array.nit:282 */
6876 /* compiling/compiling_icode.nit:754 */
6877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6878 if (!once_value_70
) {
6879 fra
.me
.REG
[7] = BOX_NativeString("))");
6881 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6882 once_value_70
= fra
.me
.REG
[7];
6883 register_static_object(&once_value_70
);
6884 } else fra
.me
.REG
[7] = once_value_70
;
6885 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6887 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6888 fra
.me
.REG
[5] = fra
.me
.REG
[6];
6890 /* compiling/compiling_icode.nit:755 */
6891 if (!once_value_71
) {
6892 if (!once_value_72
) {
6893 fra
.me
.REG
[6] = BOX_NativeString("<");
6895 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
6896 once_value_72
= fra
.me
.REG
[6];
6897 register_static_object(&once_value_72
);
6898 } else fra
.me
.REG
[6] = once_value_72
;
6899 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6900 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6901 once_value_71
= fra
.me
.REG
[6];
6902 register_static_object(&once_value_71
);
6903 } else fra
.me
.REG
[6] = once_value_71
;
6904 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6905 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
6906 if (UNTAG_Bool(REGB1
)) {
6908 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
6911 if (UNTAG_Bool(REGB1
)) {
6912 /* compiling/compiling_icode.nit:756 */
6914 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
6915 if (!once_value_73
) {
6916 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
6917 REGB1
= TAG_Int(19);
6918 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6919 once_value_73
= fra
.me
.REG
[7];
6920 register_static_object(&once_value_73
);
6921 } else fra
.me
.REG
[7] = once_value_73
;
6922 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6923 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6925 /* ../lib/standard/collection/array.nit:279 */
6926 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6927 /* ../lib/standard/collection/array.nit:281 */
6929 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6930 if (UNTAG_Bool(REGB0
)) {
6932 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6934 /* ../lib/standard/kernel.nit:243 */
6935 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6936 /* ../lib/standard/collection/array.nit:281 */
6937 if (UNTAG_Bool(REGB2
)) {
6938 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6939 if (UNTAG_Bool(REGB2
)) {
6941 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6943 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
6944 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6945 if (UNTAG_Bool(REGB0
)) {
6947 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6949 /* ../lib/standard/kernel.nit:242 */
6950 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
6952 /* ../lib/standard/collection/array.nit:281 */
6953 REGB0
= TAG_Bool(0);
6956 if (UNTAG_Bool(REGB2
)) {
6958 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6960 /* ../lib/standard/collection/array.nit:282 */
6961 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
6962 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6963 if (UNTAG_Bool(REGB2
)) {
6964 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
6966 /* ../lib/standard/collection/array.nit:725 */
6967 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
6968 /* ../lib/standard/collection/array.nit:282 */
6971 /* compiling/compiling_icode.nit:756 */
6972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6973 if (!once_value_75
) {
6974 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Int(");
6975 REGB1
= TAG_Int(12);
6976 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
6977 once_value_75
= fra
.me
.REG
[7];
6978 register_static_object(&once_value_75
);
6979 } else fra
.me
.REG
[7] = once_value_75
;
6980 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
6983 /* ../lib/standard/collection/array.nit:279 */
6984 fra
.me
.REG
[7] = fra
.me
.REG
[4];
6985 /* ../lib/standard/collection/array.nit:281 */
6987 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
6988 if (UNTAG_Bool(REGB0
)) {
6990 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6992 /* ../lib/standard/kernel.nit:243 */
6993 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
6994 /* ../lib/standard/collection/array.nit:281 */
6995 if (UNTAG_Bool(REGB2
)) {
6996 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
6997 if (UNTAG_Bool(REGB2
)) {
6999 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7001 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7002 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7003 if (UNTAG_Bool(REGB0
)) {
7005 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7007 /* ../lib/standard/kernel.nit:242 */
7008 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7010 /* ../lib/standard/collection/array.nit:281 */
7011 REGB0
= TAG_Bool(0);
7014 if (UNTAG_Bool(REGB2
)) {
7016 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7018 /* ../lib/standard/collection/array.nit:282 */
7019 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7020 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7021 if (UNTAG_Bool(REGB2
)) {
7022 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7024 /* ../lib/standard/collection/array.nit:725 */
7025 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7026 /* ../lib/standard/collection/array.nit:282 */
7029 /* compiling/compiling_icode.nit:756 */
7030 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7031 if (!once_value_77
) {
7032 fra
.me
.REG
[7] = BOX_NativeString("))");
7034 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7035 once_value_77
= fra
.me
.REG
[7];
7036 register_static_object(&once_value_77
);
7037 } else fra
.me
.REG
[7] = once_value_77
;
7038 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7040 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7041 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7043 /* compiling/compiling_icode.nit:757 */
7044 if (!once_value_78
) {
7045 if (!once_value_79
) {
7046 fra
.me
.REG
[6] = BOX_NativeString(">");
7048 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
7049 once_value_79
= fra
.me
.REG
[6];
7050 register_static_object(&once_value_79
);
7051 } else fra
.me
.REG
[6] = once_value_79
;
7052 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7053 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7054 once_value_78
= fra
.me
.REG
[6];
7055 register_static_object(&once_value_78
);
7056 } else fra
.me
.REG
[6] = once_value_78
;
7057 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7058 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7059 if (UNTAG_Bool(REGB1
)) {
7061 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7064 if (UNTAG_Bool(REGB1
)) {
7065 /* compiling/compiling_icode.nit:758 */
7067 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7068 if (!once_value_80
) {
7069 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7070 REGB1
= TAG_Int(19);
7071 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7072 once_value_80
= fra
.me
.REG
[7];
7073 register_static_object(&once_value_80
);
7074 } else fra
.me
.REG
[7] = once_value_80
;
7075 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7078 /* ../lib/standard/collection/array.nit:279 */
7079 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7080 /* ../lib/standard/collection/array.nit:281 */
7082 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7083 if (UNTAG_Bool(REGB0
)) {
7085 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7087 /* ../lib/standard/kernel.nit:243 */
7088 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7089 /* ../lib/standard/collection/array.nit:281 */
7090 if (UNTAG_Bool(REGB2
)) {
7091 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7092 if (UNTAG_Bool(REGB2
)) {
7094 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7096 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7097 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7098 if (UNTAG_Bool(REGB0
)) {
7100 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7102 /* ../lib/standard/kernel.nit:242 */
7103 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7105 /* ../lib/standard/collection/array.nit:281 */
7106 REGB0
= TAG_Bool(0);
7109 if (UNTAG_Bool(REGB2
)) {
7111 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7113 /* ../lib/standard/collection/array.nit:282 */
7114 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7115 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7116 if (UNTAG_Bool(REGB2
)) {
7117 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7119 /* ../lib/standard/collection/array.nit:725 */
7120 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7121 /* ../lib/standard/collection/array.nit:282 */
7124 /* compiling/compiling_icode.nit:758 */
7125 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7126 if (!once_value_82
) {
7127 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Int(");
7128 REGB1
= TAG_Int(12);
7129 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7130 once_value_82
= fra
.me
.REG
[7];
7131 register_static_object(&once_value_82
);
7132 } else fra
.me
.REG
[7] = once_value_82
;
7133 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7136 /* ../lib/standard/collection/array.nit:279 */
7137 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7138 /* ../lib/standard/collection/array.nit:281 */
7140 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7141 if (UNTAG_Bool(REGB0
)) {
7143 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7145 /* ../lib/standard/kernel.nit:243 */
7146 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7147 /* ../lib/standard/collection/array.nit:281 */
7148 if (UNTAG_Bool(REGB2
)) {
7149 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7150 if (UNTAG_Bool(REGB2
)) {
7152 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7154 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7155 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7156 if (UNTAG_Bool(REGB0
)) {
7158 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7160 /* ../lib/standard/kernel.nit:242 */
7161 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7163 /* ../lib/standard/collection/array.nit:281 */
7164 REGB0
= TAG_Bool(0);
7167 if (UNTAG_Bool(REGB2
)) {
7169 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7171 /* ../lib/standard/collection/array.nit:282 */
7172 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7173 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7174 if (UNTAG_Bool(REGB2
)) {
7175 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7177 /* ../lib/standard/collection/array.nit:725 */
7178 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7179 /* ../lib/standard/collection/array.nit:282 */
7182 /* compiling/compiling_icode.nit:758 */
7183 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7184 if (!once_value_84
) {
7185 fra
.me
.REG
[7] = BOX_NativeString("))");
7187 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7188 once_value_84
= fra
.me
.REG
[7];
7189 register_static_object(&once_value_84
);
7190 } else fra
.me
.REG
[7] = once_value_84
;
7191 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7193 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7194 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7196 /* compiling/compiling_icode.nit:759 */
7197 if (!once_value_85
) {
7198 if (!once_value_86
) {
7199 fra
.me
.REG
[6] = BOX_NativeString("<=");
7201 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
7202 once_value_86
= fra
.me
.REG
[6];
7203 register_static_object(&once_value_86
);
7204 } else fra
.me
.REG
[6] = once_value_86
;
7205 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7206 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7207 once_value_85
= fra
.me
.REG
[6];
7208 register_static_object(&once_value_85
);
7209 } else fra
.me
.REG
[6] = once_value_85
;
7210 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7211 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7212 if (UNTAG_Bool(REGB1
)) {
7214 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7217 if (UNTAG_Bool(REGB1
)) {
7218 /* compiling/compiling_icode.nit:760 */
7220 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7221 if (!once_value_87
) {
7222 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7223 REGB1
= TAG_Int(19);
7224 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7225 once_value_87
= fra
.me
.REG
[7];
7226 register_static_object(&once_value_87
);
7227 } else fra
.me
.REG
[7] = once_value_87
;
7228 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7231 /* ../lib/standard/collection/array.nit:279 */
7232 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7233 /* ../lib/standard/collection/array.nit:281 */
7235 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7236 if (UNTAG_Bool(REGB0
)) {
7238 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7240 /* ../lib/standard/kernel.nit:243 */
7241 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7242 /* ../lib/standard/collection/array.nit:281 */
7243 if (UNTAG_Bool(REGB2
)) {
7244 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7245 if (UNTAG_Bool(REGB2
)) {
7247 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7249 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7250 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7251 if (UNTAG_Bool(REGB0
)) {
7253 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7255 /* ../lib/standard/kernel.nit:242 */
7256 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7258 /* ../lib/standard/collection/array.nit:281 */
7259 REGB0
= TAG_Bool(0);
7262 if (UNTAG_Bool(REGB2
)) {
7264 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7266 /* ../lib/standard/collection/array.nit:282 */
7267 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7268 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7269 if (UNTAG_Bool(REGB2
)) {
7270 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7272 /* ../lib/standard/collection/array.nit:725 */
7273 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7274 /* ../lib/standard/collection/array.nit:282 */
7277 /* compiling/compiling_icode.nit:760 */
7278 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7279 if (!once_value_89
) {
7280 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Int(");
7281 REGB1
= TAG_Int(13);
7282 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7283 once_value_89
= fra
.me
.REG
[7];
7284 register_static_object(&once_value_89
);
7285 } else fra
.me
.REG
[7] = once_value_89
;
7286 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7287 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7289 /* ../lib/standard/collection/array.nit:279 */
7290 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7291 /* ../lib/standard/collection/array.nit:281 */
7293 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7294 if (UNTAG_Bool(REGB0
)) {
7296 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7298 /* ../lib/standard/kernel.nit:243 */
7299 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7300 /* ../lib/standard/collection/array.nit:281 */
7301 if (UNTAG_Bool(REGB2
)) {
7302 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7303 if (UNTAG_Bool(REGB2
)) {
7305 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7307 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7308 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7309 if (UNTAG_Bool(REGB0
)) {
7311 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7313 /* ../lib/standard/kernel.nit:242 */
7314 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7316 /* ../lib/standard/collection/array.nit:281 */
7317 REGB0
= TAG_Bool(0);
7320 if (UNTAG_Bool(REGB2
)) {
7322 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7324 /* ../lib/standard/collection/array.nit:282 */
7325 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7326 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7327 if (UNTAG_Bool(REGB2
)) {
7328 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7330 /* ../lib/standard/collection/array.nit:725 */
7331 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7332 /* ../lib/standard/collection/array.nit:282 */
7335 /* compiling/compiling_icode.nit:760 */
7336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7337 if (!once_value_91
) {
7338 fra
.me
.REG
[7] = BOX_NativeString("))");
7340 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7341 once_value_91
= fra
.me
.REG
[7];
7342 register_static_object(&once_value_91
);
7343 } else fra
.me
.REG
[7] = once_value_91
;
7344 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7346 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7347 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7349 /* compiling/compiling_icode.nit:761 */
7350 if (!once_value_92
) {
7351 if (!once_value_93
) {
7352 fra
.me
.REG
[6] = BOX_NativeString(">=");
7354 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
7355 once_value_93
= fra
.me
.REG
[6];
7356 register_static_object(&once_value_93
);
7357 } else fra
.me
.REG
[6] = once_value_93
;
7358 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7359 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7360 once_value_92
= fra
.me
.REG
[6];
7361 register_static_object(&once_value_92
);
7362 } else fra
.me
.REG
[6] = once_value_92
;
7363 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7364 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7365 if (UNTAG_Bool(REGB1
)) {
7367 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7370 if (UNTAG_Bool(REGB1
)) {
7371 /* compiling/compiling_icode.nit:762 */
7373 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7374 if (!once_value_94
) {
7375 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Int(");
7376 REGB1
= TAG_Int(19);
7377 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7378 once_value_94
= fra
.me
.REG
[7];
7379 register_static_object(&once_value_94
);
7380 } else fra
.me
.REG
[7] = once_value_94
;
7381 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7384 /* ../lib/standard/collection/array.nit:279 */
7385 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7386 /* ../lib/standard/collection/array.nit:281 */
7388 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7389 if (UNTAG_Bool(REGB0
)) {
7391 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7393 /* ../lib/standard/kernel.nit:243 */
7394 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7395 /* ../lib/standard/collection/array.nit:281 */
7396 if (UNTAG_Bool(REGB2
)) {
7397 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7398 if (UNTAG_Bool(REGB2
)) {
7400 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7402 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7403 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7404 if (UNTAG_Bool(REGB0
)) {
7406 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7408 /* ../lib/standard/kernel.nit:242 */
7409 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7411 /* ../lib/standard/collection/array.nit:281 */
7412 REGB0
= TAG_Bool(0);
7415 if (UNTAG_Bool(REGB2
)) {
7417 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7419 /* ../lib/standard/collection/array.nit:282 */
7420 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7421 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7422 if (UNTAG_Bool(REGB2
)) {
7423 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7425 /* ../lib/standard/collection/array.nit:725 */
7426 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7427 /* ../lib/standard/collection/array.nit:282 */
7430 /* compiling/compiling_icode.nit:762 */
7431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7432 if (!once_value_96
) {
7433 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Int(");
7434 REGB1
= TAG_Int(13);
7435 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7436 once_value_96
= fra
.me
.REG
[7];
7437 register_static_object(&once_value_96
);
7438 } else fra
.me
.REG
[7] = once_value_96
;
7439 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7442 /* ../lib/standard/collection/array.nit:279 */
7443 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7444 /* ../lib/standard/collection/array.nit:281 */
7446 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7447 if (UNTAG_Bool(REGB0
)) {
7449 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7451 /* ../lib/standard/kernel.nit:243 */
7452 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7453 /* ../lib/standard/collection/array.nit:281 */
7454 if (UNTAG_Bool(REGB2
)) {
7455 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7456 if (UNTAG_Bool(REGB2
)) {
7458 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7460 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7461 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7462 if (UNTAG_Bool(REGB0
)) {
7464 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7466 /* ../lib/standard/kernel.nit:242 */
7467 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7469 /* ../lib/standard/collection/array.nit:281 */
7470 REGB0
= TAG_Bool(0);
7473 if (UNTAG_Bool(REGB2
)) {
7475 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7477 /* ../lib/standard/collection/array.nit:282 */
7478 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7479 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7480 if (UNTAG_Bool(REGB2
)) {
7481 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7483 /* ../lib/standard/collection/array.nit:725 */
7484 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7485 /* ../lib/standard/collection/array.nit:282 */
7488 /* compiling/compiling_icode.nit:762 */
7489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7490 if (!once_value_98
) {
7491 fra
.me
.REG
[7] = BOX_NativeString("))");
7493 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7494 once_value_98
= fra
.me
.REG
[7];
7495 register_static_object(&once_value_98
);
7496 } else fra
.me
.REG
[7] = once_value_98
;
7497 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7499 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7500 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7502 /* compiling/compiling_icode.nit:763 */
7503 if (!once_value_99
) {
7504 if (!once_value_100
) {
7505 fra
.me
.REG
[6] = BOX_NativeString("lshift");
7507 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
7508 once_value_100
= fra
.me
.REG
[6];
7509 register_static_object(&once_value_100
);
7510 } else fra
.me
.REG
[6] = once_value_100
;
7511 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7512 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7513 once_value_99
= fra
.me
.REG
[6];
7514 register_static_object(&once_value_99
);
7515 } else fra
.me
.REG
[6] = once_value_99
;
7516 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7517 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7518 if (UNTAG_Bool(REGB1
)) {
7520 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7523 if (UNTAG_Bool(REGB1
)) {
7524 /* compiling/compiling_icode.nit:764 */
7526 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7527 if (!once_value_101
) {
7528 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7529 REGB1
= TAG_Int(18);
7530 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7531 once_value_101
= fra
.me
.REG
[7];
7532 register_static_object(&once_value_101
);
7533 } else fra
.me
.REG
[7] = once_value_101
;
7534 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7535 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7537 /* ../lib/standard/collection/array.nit:279 */
7538 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7539 /* ../lib/standard/collection/array.nit:281 */
7541 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7542 if (UNTAG_Bool(REGB0
)) {
7544 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7546 /* ../lib/standard/kernel.nit:243 */
7547 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7548 /* ../lib/standard/collection/array.nit:281 */
7549 if (UNTAG_Bool(REGB2
)) {
7550 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7551 if (UNTAG_Bool(REGB2
)) {
7553 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7555 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7556 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7557 if (UNTAG_Bool(REGB0
)) {
7559 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7561 /* ../lib/standard/kernel.nit:242 */
7562 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7564 /* ../lib/standard/collection/array.nit:281 */
7565 REGB0
= TAG_Bool(0);
7568 if (UNTAG_Bool(REGB2
)) {
7570 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7572 /* ../lib/standard/collection/array.nit:282 */
7573 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7574 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7575 if (UNTAG_Bool(REGB2
)) {
7576 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7578 /* ../lib/standard/collection/array.nit:725 */
7579 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7580 /* ../lib/standard/collection/array.nit:282 */
7583 /* compiling/compiling_icode.nit:764 */
7584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7585 if (!once_value_103
) {
7586 fra
.me
.REG
[7] = BOX_NativeString(")<<UNTAG_Int(");
7587 REGB1
= TAG_Int(13);
7588 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7589 once_value_103
= fra
.me
.REG
[7];
7590 register_static_object(&once_value_103
);
7591 } else fra
.me
.REG
[7] = once_value_103
;
7592 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7595 /* ../lib/standard/collection/array.nit:279 */
7596 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7597 /* ../lib/standard/collection/array.nit:281 */
7599 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7600 if (UNTAG_Bool(REGB0
)) {
7602 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7604 /* ../lib/standard/kernel.nit:243 */
7605 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7606 /* ../lib/standard/collection/array.nit:281 */
7607 if (UNTAG_Bool(REGB2
)) {
7608 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7609 if (UNTAG_Bool(REGB2
)) {
7611 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7613 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7614 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7615 if (UNTAG_Bool(REGB0
)) {
7617 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7619 /* ../lib/standard/kernel.nit:242 */
7620 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7622 /* ../lib/standard/collection/array.nit:281 */
7623 REGB0
= TAG_Bool(0);
7626 if (UNTAG_Bool(REGB2
)) {
7628 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7630 /* ../lib/standard/collection/array.nit:282 */
7631 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7632 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7633 if (UNTAG_Bool(REGB2
)) {
7634 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7636 /* ../lib/standard/collection/array.nit:725 */
7637 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7638 /* ../lib/standard/collection/array.nit:282 */
7641 /* compiling/compiling_icode.nit:764 */
7642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7643 if (!once_value_105
) {
7644 fra
.me
.REG
[7] = BOX_NativeString("))");
7646 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7647 once_value_105
= fra
.me
.REG
[7];
7648 register_static_object(&once_value_105
);
7649 } else fra
.me
.REG
[7] = once_value_105
;
7650 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7652 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7653 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7655 /* compiling/compiling_icode.nit:765 */
7656 if (!once_value_106
) {
7657 if (!once_value_107
) {
7658 fra
.me
.REG
[6] = BOX_NativeString("rshift");
7660 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
7661 once_value_107
= fra
.me
.REG
[6];
7662 register_static_object(&once_value_107
);
7663 } else fra
.me
.REG
[6] = once_value_107
;
7664 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7665 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7666 once_value_106
= fra
.me
.REG
[6];
7667 register_static_object(&once_value_106
);
7668 } else fra
.me
.REG
[6] = once_value_106
;
7669 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7670 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7671 if (UNTAG_Bool(REGB1
)) {
7673 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7676 if (UNTAG_Bool(REGB1
)) {
7677 /* compiling/compiling_icode.nit:766 */
7679 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7680 if (!once_value_108
) {
7681 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Int(");
7682 REGB1
= TAG_Int(18);
7683 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7684 once_value_108
= fra
.me
.REG
[7];
7685 register_static_object(&once_value_108
);
7686 } else fra
.me
.REG
[7] = once_value_108
;
7687 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7688 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7690 /* ../lib/standard/collection/array.nit:279 */
7691 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7692 /* ../lib/standard/collection/array.nit:281 */
7694 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7695 if (UNTAG_Bool(REGB0
)) {
7697 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7699 /* ../lib/standard/kernel.nit:243 */
7700 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7701 /* ../lib/standard/collection/array.nit:281 */
7702 if (UNTAG_Bool(REGB2
)) {
7703 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7704 if (UNTAG_Bool(REGB2
)) {
7706 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7708 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7709 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7710 if (UNTAG_Bool(REGB0
)) {
7712 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7714 /* ../lib/standard/kernel.nit:242 */
7715 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7717 /* ../lib/standard/collection/array.nit:281 */
7718 REGB0
= TAG_Bool(0);
7721 if (UNTAG_Bool(REGB2
)) {
7723 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7725 /* ../lib/standard/collection/array.nit:282 */
7726 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7727 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7728 if (UNTAG_Bool(REGB2
)) {
7729 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7731 /* ../lib/standard/collection/array.nit:725 */
7732 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7733 /* ../lib/standard/collection/array.nit:282 */
7736 /* compiling/compiling_icode.nit:766 */
7737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7738 if (!once_value_110
) {
7739 fra
.me
.REG
[7] = BOX_NativeString(")>>UNTAG_Int(");
7740 REGB1
= TAG_Int(13);
7741 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7742 once_value_110
= fra
.me
.REG
[7];
7743 register_static_object(&once_value_110
);
7744 } else fra
.me
.REG
[7] = once_value_110
;
7745 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7748 /* ../lib/standard/collection/array.nit:279 */
7749 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7750 /* ../lib/standard/collection/array.nit:281 */
7752 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7753 if (UNTAG_Bool(REGB0
)) {
7755 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7757 /* ../lib/standard/kernel.nit:243 */
7758 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7759 /* ../lib/standard/collection/array.nit:281 */
7760 if (UNTAG_Bool(REGB2
)) {
7761 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7762 if (UNTAG_Bool(REGB2
)) {
7764 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7766 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7767 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7768 if (UNTAG_Bool(REGB0
)) {
7770 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7772 /* ../lib/standard/kernel.nit:242 */
7773 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7775 /* ../lib/standard/collection/array.nit:281 */
7776 REGB0
= TAG_Bool(0);
7779 if (UNTAG_Bool(REGB2
)) {
7781 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7783 /* ../lib/standard/collection/array.nit:282 */
7784 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7785 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7786 if (UNTAG_Bool(REGB2
)) {
7787 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7789 /* ../lib/standard/collection/array.nit:725 */
7790 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7791 /* ../lib/standard/collection/array.nit:282 */
7794 /* compiling/compiling_icode.nit:766 */
7795 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7796 if (!once_value_112
) {
7797 fra
.me
.REG
[7] = BOX_NativeString("))");
7799 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7800 once_value_112
= fra
.me
.REG
[7];
7801 register_static_object(&once_value_112
);
7802 } else fra
.me
.REG
[7] = once_value_112
;
7803 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7804 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7805 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7806 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7808 /* compiling/compiling_icode.nit:767 */
7809 if (!once_value_113
) {
7810 if (!once_value_114
) {
7811 fra
.me
.REG
[6] = BOX_NativeString("==");
7813 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
7814 once_value_114
= fra
.me
.REG
[6];
7815 register_static_object(&once_value_114
);
7816 } else fra
.me
.REG
[6] = once_value_114
;
7817 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7818 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7819 once_value_113
= fra
.me
.REG
[6];
7820 register_static_object(&once_value_113
);
7821 } else fra
.me
.REG
[6] = once_value_113
;
7822 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7823 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7824 if (UNTAG_Bool(REGB1
)) {
7826 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7829 if (UNTAG_Bool(REGB1
)) {
7830 /* compiling/compiling_icode.nit:768 */
7832 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7833 if (!once_value_115
) {
7834 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7835 REGB1
= TAG_Int(10);
7836 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7837 once_value_115
= fra
.me
.REG
[7];
7838 register_static_object(&once_value_115
);
7839 } else fra
.me
.REG
[7] = once_value_115
;
7840 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7843 /* ../lib/standard/collection/array.nit:279 */
7844 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7845 /* ../lib/standard/collection/array.nit:281 */
7847 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7848 if (UNTAG_Bool(REGB0
)) {
7850 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7852 /* ../lib/standard/kernel.nit:243 */
7853 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7854 /* ../lib/standard/collection/array.nit:281 */
7855 if (UNTAG_Bool(REGB2
)) {
7856 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7857 if (UNTAG_Bool(REGB2
)) {
7859 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7861 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7862 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7863 if (UNTAG_Bool(REGB0
)) {
7865 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7867 /* ../lib/standard/kernel.nit:242 */
7868 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7870 /* ../lib/standard/collection/array.nit:281 */
7871 REGB0
= TAG_Bool(0);
7874 if (UNTAG_Bool(REGB2
)) {
7876 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7878 /* ../lib/standard/collection/array.nit:282 */
7879 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7880 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7881 if (UNTAG_Bool(REGB2
)) {
7882 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7884 /* ../lib/standard/collection/array.nit:725 */
7885 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7886 /* ../lib/standard/collection/array.nit:282 */
7889 /* compiling/compiling_icode.nit:768 */
7890 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7891 if (!once_value_117
) {
7892 fra
.me
.REG
[7] = BOX_NativeString(")==(");
7894 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7895 once_value_117
= fra
.me
.REG
[7];
7896 register_static_object(&once_value_117
);
7897 } else fra
.me
.REG
[7] = once_value_117
;
7898 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7901 /* ../lib/standard/collection/array.nit:279 */
7902 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7903 /* ../lib/standard/collection/array.nit:281 */
7905 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7906 if (UNTAG_Bool(REGB0
)) {
7908 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7910 /* ../lib/standard/kernel.nit:243 */
7911 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
7912 /* ../lib/standard/collection/array.nit:281 */
7913 if (UNTAG_Bool(REGB2
)) {
7914 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
7915 if (UNTAG_Bool(REGB2
)) {
7917 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
7919 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
7920 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
7921 if (UNTAG_Bool(REGB0
)) {
7923 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7925 /* ../lib/standard/kernel.nit:242 */
7926 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
7928 /* ../lib/standard/collection/array.nit:281 */
7929 REGB0
= TAG_Bool(0);
7932 if (UNTAG_Bool(REGB2
)) {
7934 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
7936 /* ../lib/standard/collection/array.nit:282 */
7937 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
7938 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7939 if (UNTAG_Bool(REGB2
)) {
7940 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7942 /* ../lib/standard/collection/array.nit:725 */
7943 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
7944 /* ../lib/standard/collection/array.nit:282 */
7947 /* compiling/compiling_icode.nit:768 */
7948 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7949 if (!once_value_119
) {
7950 fra
.me
.REG
[7] = BOX_NativeString("))");
7952 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7953 once_value_119
= fra
.me
.REG
[7];
7954 register_static_object(&once_value_119
);
7955 } else fra
.me
.REG
[7] = once_value_119
;
7956 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7958 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7959 fra
.me
.REG
[5] = fra
.me
.REG
[6];
7961 /* compiling/compiling_icode.nit:769 */
7962 if (!once_value_120
) {
7963 if (!once_value_121
) {
7964 fra
.me
.REG
[6] = BOX_NativeString("!=");
7966 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
7967 once_value_121
= fra
.me
.REG
[6];
7968 register_static_object(&once_value_121
);
7969 } else fra
.me
.REG
[6] = once_value_121
;
7970 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7971 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7972 once_value_120
= fra
.me
.REG
[6];
7973 register_static_object(&once_value_120
);
7974 } else fra
.me
.REG
[6] = once_value_120
;
7975 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7976 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
7977 if (UNTAG_Bool(REGB1
)) {
7979 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
7982 if (UNTAG_Bool(REGB1
)) {
7983 /* compiling/compiling_icode.nit:770 */
7985 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
7986 if (!once_value_122
) {
7987 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
7988 REGB1
= TAG_Int(10);
7989 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
7990 once_value_122
= fra
.me
.REG
[7];
7991 register_static_object(&once_value_122
);
7992 } else fra
.me
.REG
[7] = once_value_122
;
7993 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
7996 /* ../lib/standard/collection/array.nit:279 */
7997 fra
.me
.REG
[7] = fra
.me
.REG
[4];
7998 /* ../lib/standard/collection/array.nit:281 */
8000 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8001 if (UNTAG_Bool(REGB0
)) {
8003 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8005 /* ../lib/standard/kernel.nit:243 */
8006 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8007 /* ../lib/standard/collection/array.nit:281 */
8008 if (UNTAG_Bool(REGB2
)) {
8009 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8010 if (UNTAG_Bool(REGB2
)) {
8012 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8014 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8015 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8016 if (UNTAG_Bool(REGB0
)) {
8018 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8020 /* ../lib/standard/kernel.nit:242 */
8021 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8023 /* ../lib/standard/collection/array.nit:281 */
8024 REGB0
= TAG_Bool(0);
8027 if (UNTAG_Bool(REGB2
)) {
8029 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8031 /* ../lib/standard/collection/array.nit:282 */
8032 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8033 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8034 if (UNTAG_Bool(REGB2
)) {
8035 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8037 /* ../lib/standard/collection/array.nit:725 */
8038 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8039 /* ../lib/standard/collection/array.nit:282 */
8042 /* compiling/compiling_icode.nit:770 */
8043 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8044 if (!once_value_124
) {
8045 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
8047 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8048 once_value_124
= fra
.me
.REG
[7];
8049 register_static_object(&once_value_124
);
8050 } else fra
.me
.REG
[7] = once_value_124
;
8051 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8054 /* ../lib/standard/collection/array.nit:279 */
8055 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8056 /* ../lib/standard/collection/array.nit:281 */
8058 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8059 if (UNTAG_Bool(REGB0
)) {
8061 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8063 /* ../lib/standard/kernel.nit:243 */
8064 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8065 /* ../lib/standard/collection/array.nit:281 */
8066 if (UNTAG_Bool(REGB2
)) {
8067 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8068 if (UNTAG_Bool(REGB2
)) {
8070 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8072 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8073 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8074 if (UNTAG_Bool(REGB0
)) {
8076 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8078 /* ../lib/standard/kernel.nit:242 */
8079 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8081 /* ../lib/standard/collection/array.nit:281 */
8082 REGB0
= TAG_Bool(0);
8085 if (UNTAG_Bool(REGB2
)) {
8087 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8089 /* ../lib/standard/collection/array.nit:282 */
8090 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8091 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8092 if (UNTAG_Bool(REGB2
)) {
8093 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8095 /* ../lib/standard/collection/array.nit:725 */
8096 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8097 /* ../lib/standard/collection/array.nit:282 */
8100 /* compiling/compiling_icode.nit:770 */
8101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8102 if (!once_value_126
) {
8103 fra
.me
.REG
[7] = BOX_NativeString("))");
8105 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8106 once_value_126
= fra
.me
.REG
[7];
8107 register_static_object(&once_value_126
);
8108 } else fra
.me
.REG
[7] = once_value_126
;
8109 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8110 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8111 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8112 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8134 /* compiling/compiling_icode.nit:772 */
8135 if (!once_value_127
) {
8136 if (!once_value_128
) {
8137 fra
.me
.REG
[6] = BOX_NativeString("Float");
8139 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8140 once_value_128
= fra
.me
.REG
[6];
8141 register_static_object(&once_value_128
);
8142 } else fra
.me
.REG
[6] = once_value_128
;
8143 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8144 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8145 once_value_127
= fra
.me
.REG
[6];
8146 register_static_object(&once_value_127
);
8147 } else fra
.me
.REG
[6] = once_value_127
;
8148 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8149 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
8150 if (UNTAG_Bool(REGB1
)) {
8152 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
8155 if (UNTAG_Bool(REGB1
)) {
8156 /* compiling/compiling_icode.nit:773 */
8157 if (!once_value_129
) {
8158 if (!once_value_130
) {
8159 fra
.me
.REG
[6] = BOX_NativeString("object_id");
8161 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8162 once_value_130
= fra
.me
.REG
[6];
8163 register_static_object(&once_value_130
);
8164 } else fra
.me
.REG
[6] = once_value_130
;
8165 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8166 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8167 once_value_129
= fra
.me
.REG
[6];
8168 register_static_object(&once_value_129
);
8169 } else fra
.me
.REG
[6] = once_value_129
;
8170 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8171 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8172 if (UNTAG_Bool(REGB1
)) {
8174 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8177 if (UNTAG_Bool(REGB1
)) {
8178 /* compiling/compiling_icode.nit:774 */
8180 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8181 if (!once_value_131
) {
8182 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
8183 REGB1
= TAG_Int(28);
8184 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8185 once_value_131
= fra
.me
.REG
[7];
8186 register_static_object(&once_value_131
);
8187 } else fra
.me
.REG
[7] = once_value_131
;
8188 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8191 /* ../lib/standard/collection/array.nit:279 */
8192 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8193 /* ../lib/standard/collection/array.nit:281 */
8195 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8196 if (UNTAG_Bool(REGB0
)) {
8198 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8200 /* ../lib/standard/kernel.nit:243 */
8201 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8202 /* ../lib/standard/collection/array.nit:281 */
8203 if (UNTAG_Bool(REGB2
)) {
8204 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8205 if (UNTAG_Bool(REGB2
)) {
8207 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8209 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8210 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8211 if (UNTAG_Bool(REGB0
)) {
8213 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8215 /* ../lib/standard/kernel.nit:242 */
8216 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8218 /* ../lib/standard/collection/array.nit:281 */
8219 REGB0
= TAG_Bool(0);
8222 if (UNTAG_Bool(REGB2
)) {
8224 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8226 /* ../lib/standard/collection/array.nit:282 */
8227 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8228 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8229 if (UNTAG_Bool(REGB2
)) {
8230 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8232 /* ../lib/standard/collection/array.nit:725 */
8233 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8234 /* ../lib/standard/collection/array.nit:282 */
8237 /* compiling/compiling_icode.nit:774 */
8238 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8239 if (!once_value_133
) {
8240 fra
.me
.REG
[7] = BOX_NativeString("))");
8242 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8243 once_value_133
= fra
.me
.REG
[7];
8244 register_static_object(&once_value_133
);
8245 } else fra
.me
.REG
[7] = once_value_133
;
8246 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8248 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8249 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8251 /* compiling/compiling_icode.nit:775 */
8252 if (!once_value_134
) {
8253 if (!once_value_135
) {
8254 fra
.me
.REG
[6] = BOX_NativeString("unary -");
8256 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8257 once_value_135
= fra
.me
.REG
[6];
8258 register_static_object(&once_value_135
);
8259 } else fra
.me
.REG
[6] = once_value_135
;
8260 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8261 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8262 once_value_134
= fra
.me
.REG
[6];
8263 register_static_object(&once_value_134
);
8264 } else fra
.me
.REG
[6] = once_value_134
;
8265 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8266 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8267 if (UNTAG_Bool(REGB1
)) {
8269 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8272 if (UNTAG_Bool(REGB1
)) {
8273 /* compiling/compiling_icode.nit:776 */
8275 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8276 if (!once_value_136
) {
8277 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(-UNBOX_Float(");
8278 REGB1
= TAG_Int(23);
8279 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8280 once_value_136
= fra
.me
.REG
[7];
8281 register_static_object(&once_value_136
);
8282 } else fra
.me
.REG
[7] = once_value_136
;
8283 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8286 /* ../lib/standard/collection/array.nit:279 */
8287 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8288 /* ../lib/standard/collection/array.nit:281 */
8290 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8291 if (UNTAG_Bool(REGB0
)) {
8293 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8295 /* ../lib/standard/kernel.nit:243 */
8296 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8297 /* ../lib/standard/collection/array.nit:281 */
8298 if (UNTAG_Bool(REGB2
)) {
8299 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8300 if (UNTAG_Bool(REGB2
)) {
8302 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8304 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8305 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8306 if (UNTAG_Bool(REGB0
)) {
8308 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8310 /* ../lib/standard/kernel.nit:242 */
8311 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8313 /* ../lib/standard/collection/array.nit:281 */
8314 REGB0
= TAG_Bool(0);
8317 if (UNTAG_Bool(REGB2
)) {
8319 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8321 /* ../lib/standard/collection/array.nit:282 */
8322 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8323 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8324 if (UNTAG_Bool(REGB2
)) {
8325 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8327 /* ../lib/standard/collection/array.nit:725 */
8328 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8329 /* ../lib/standard/collection/array.nit:282 */
8332 /* compiling/compiling_icode.nit:776 */
8333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8334 if (!once_value_138
) {
8335 fra
.me
.REG
[7] = BOX_NativeString("))");
8337 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8338 once_value_138
= fra
.me
.REG
[7];
8339 register_static_object(&once_value_138
);
8340 } else fra
.me
.REG
[7] = once_value_138
;
8341 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8343 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8344 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8346 /* compiling/compiling_icode.nit:777 */
8347 if (!once_value_139
) {
8348 if (!once_value_140
) {
8349 fra
.me
.REG
[6] = BOX_NativeString("output");
8351 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8352 once_value_140
= fra
.me
.REG
[6];
8353 register_static_object(&once_value_140
);
8354 } else fra
.me
.REG
[6] = once_value_140
;
8355 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8356 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8357 once_value_139
= fra
.me
.REG
[6];
8358 register_static_object(&once_value_139
);
8359 } else fra
.me
.REG
[6] = once_value_139
;
8360 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8361 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8362 if (UNTAG_Bool(REGB1
)) {
8364 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8367 if (UNTAG_Bool(REGB1
)) {
8368 /* compiling/compiling_icode.nit:778 */
8370 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8371 if (!once_value_141
) {
8372 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%f\\n\", UNBOX_Float(");
8373 REGB1
= TAG_Int(27);
8374 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8375 once_value_141
= fra
.me
.REG
[7];
8376 register_static_object(&once_value_141
);
8377 } else fra
.me
.REG
[7] = once_value_141
;
8378 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8381 /* ../lib/standard/collection/array.nit:279 */
8382 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8383 /* ../lib/standard/collection/array.nit:281 */
8385 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8386 if (UNTAG_Bool(REGB0
)) {
8388 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8390 /* ../lib/standard/kernel.nit:243 */
8391 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8392 /* ../lib/standard/collection/array.nit:281 */
8393 if (UNTAG_Bool(REGB2
)) {
8394 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8395 if (UNTAG_Bool(REGB2
)) {
8397 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8399 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8400 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8401 if (UNTAG_Bool(REGB0
)) {
8403 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8405 /* ../lib/standard/kernel.nit:242 */
8406 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8408 /* ../lib/standard/collection/array.nit:281 */
8409 REGB0
= TAG_Bool(0);
8412 if (UNTAG_Bool(REGB2
)) {
8414 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8416 /* ../lib/standard/collection/array.nit:282 */
8417 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8418 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8419 if (UNTAG_Bool(REGB2
)) {
8420 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8422 /* ../lib/standard/collection/array.nit:725 */
8423 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8424 /* ../lib/standard/collection/array.nit:282 */
8427 /* compiling/compiling_icode.nit:778 */
8428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8429 if (!once_value_143
) {
8430 fra
.me
.REG
[7] = BOX_NativeString("));");
8432 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8433 once_value_143
= fra
.me
.REG
[7];
8434 register_static_object(&once_value_143
);
8435 } else fra
.me
.REG
[7] = once_value_143
;
8436 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8438 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8439 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8441 /* compiling/compiling_icode.nit:779 */
8442 if (!once_value_144
) {
8443 if (!once_value_145
) {
8444 fra
.me
.REG
[6] = BOX_NativeString("to_i");
8446 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8447 once_value_145
= fra
.me
.REG
[6];
8448 register_static_object(&once_value_145
);
8449 } else fra
.me
.REG
[6] = once_value_145
;
8450 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8451 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8452 once_value_144
= fra
.me
.REG
[6];
8453 register_static_object(&once_value_144
);
8454 } else fra
.me
.REG
[6] = once_value_144
;
8455 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8456 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8457 if (UNTAG_Bool(REGB1
)) {
8459 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8462 if (UNTAG_Bool(REGB1
)) {
8463 /* compiling/compiling_icode.nit:780 */
8465 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8466 if (!once_value_146
) {
8467 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((bigint)UNBOX_Float(");
8468 REGB1
= TAG_Int(28);
8469 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8470 once_value_146
= fra
.me
.REG
[7];
8471 register_static_object(&once_value_146
);
8472 } else fra
.me
.REG
[7] = once_value_146
;
8473 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8476 /* ../lib/standard/collection/array.nit:279 */
8477 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8478 /* ../lib/standard/collection/array.nit:281 */
8480 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8481 if (UNTAG_Bool(REGB0
)) {
8483 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8485 /* ../lib/standard/kernel.nit:243 */
8486 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8487 /* ../lib/standard/collection/array.nit:281 */
8488 if (UNTAG_Bool(REGB2
)) {
8489 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8490 if (UNTAG_Bool(REGB2
)) {
8492 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8494 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8495 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8496 if (UNTAG_Bool(REGB0
)) {
8498 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8500 /* ../lib/standard/kernel.nit:242 */
8501 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8503 /* ../lib/standard/collection/array.nit:281 */
8504 REGB0
= TAG_Bool(0);
8507 if (UNTAG_Bool(REGB2
)) {
8509 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8511 /* ../lib/standard/collection/array.nit:282 */
8512 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8513 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8514 if (UNTAG_Bool(REGB2
)) {
8515 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8517 /* ../lib/standard/collection/array.nit:725 */
8518 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8519 /* ../lib/standard/collection/array.nit:282 */
8522 /* compiling/compiling_icode.nit:780 */
8523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8524 if (!once_value_148
) {
8525 fra
.me
.REG
[7] = BOX_NativeString("))");
8527 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8528 once_value_148
= fra
.me
.REG
[7];
8529 register_static_object(&once_value_148
);
8530 } else fra
.me
.REG
[7] = once_value_148
;
8531 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8533 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8534 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8536 /* compiling/compiling_icode.nit:781 */
8537 if (!once_value_149
) {
8538 if (!once_value_150
) {
8539 fra
.me
.REG
[6] = BOX_NativeString("+");
8541 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8542 once_value_150
= fra
.me
.REG
[6];
8543 register_static_object(&once_value_150
);
8544 } else fra
.me
.REG
[6] = once_value_150
;
8545 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8546 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8547 once_value_149
= fra
.me
.REG
[6];
8548 register_static_object(&once_value_149
);
8549 } else fra
.me
.REG
[6] = once_value_149
;
8550 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8551 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8552 if (UNTAG_Bool(REGB1
)) {
8554 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8557 if (UNTAG_Bool(REGB1
)) {
8558 /* compiling/compiling_icode.nit:782 */
8560 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8561 if (!once_value_151
) {
8562 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8563 REGB1
= TAG_Int(22);
8564 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8565 once_value_151
= fra
.me
.REG
[7];
8566 register_static_object(&once_value_151
);
8567 } else fra
.me
.REG
[7] = once_value_151
;
8568 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8571 /* ../lib/standard/collection/array.nit:279 */
8572 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8573 /* ../lib/standard/collection/array.nit:281 */
8575 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8576 if (UNTAG_Bool(REGB0
)) {
8578 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8580 /* ../lib/standard/kernel.nit:243 */
8581 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8582 /* ../lib/standard/collection/array.nit:281 */
8583 if (UNTAG_Bool(REGB2
)) {
8584 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8585 if (UNTAG_Bool(REGB2
)) {
8587 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8589 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8590 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8591 if (UNTAG_Bool(REGB0
)) {
8593 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8595 /* ../lib/standard/kernel.nit:242 */
8596 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8598 /* ../lib/standard/collection/array.nit:281 */
8599 REGB0
= TAG_Bool(0);
8602 if (UNTAG_Bool(REGB2
)) {
8604 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8606 /* ../lib/standard/collection/array.nit:282 */
8607 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8608 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8609 if (UNTAG_Bool(REGB2
)) {
8610 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8612 /* ../lib/standard/collection/array.nit:725 */
8613 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8614 /* ../lib/standard/collection/array.nit:282 */
8617 /* compiling/compiling_icode.nit:782 */
8618 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8619 if (!once_value_153
) {
8620 fra
.me
.REG
[7] = BOX_NativeString(")+UNBOX_Float(");
8621 REGB1
= TAG_Int(14);
8622 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8623 once_value_153
= fra
.me
.REG
[7];
8624 register_static_object(&once_value_153
);
8625 } else fra
.me
.REG
[7] = once_value_153
;
8626 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8629 /* ../lib/standard/collection/array.nit:279 */
8630 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8631 /* ../lib/standard/collection/array.nit:281 */
8633 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8634 if (UNTAG_Bool(REGB0
)) {
8636 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8638 /* ../lib/standard/kernel.nit:243 */
8639 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8640 /* ../lib/standard/collection/array.nit:281 */
8641 if (UNTAG_Bool(REGB2
)) {
8642 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8643 if (UNTAG_Bool(REGB2
)) {
8645 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8647 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8648 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8649 if (UNTAG_Bool(REGB0
)) {
8651 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8653 /* ../lib/standard/kernel.nit:242 */
8654 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8656 /* ../lib/standard/collection/array.nit:281 */
8657 REGB0
= TAG_Bool(0);
8660 if (UNTAG_Bool(REGB2
)) {
8662 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8664 /* ../lib/standard/collection/array.nit:282 */
8665 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8666 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8667 if (UNTAG_Bool(REGB2
)) {
8668 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8670 /* ../lib/standard/collection/array.nit:725 */
8671 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8672 /* ../lib/standard/collection/array.nit:282 */
8675 /* compiling/compiling_icode.nit:782 */
8676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8677 if (!once_value_155
) {
8678 fra
.me
.REG
[7] = BOX_NativeString("))");
8680 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8681 once_value_155
= fra
.me
.REG
[7];
8682 register_static_object(&once_value_155
);
8683 } else fra
.me
.REG
[7] = once_value_155
;
8684 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8686 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8687 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8689 /* compiling/compiling_icode.nit:783 */
8690 if (!once_value_156
) {
8691 if (!once_value_157
) {
8692 fra
.me
.REG
[6] = BOX_NativeString("-");
8694 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8695 once_value_157
= fra
.me
.REG
[6];
8696 register_static_object(&once_value_157
);
8697 } else fra
.me
.REG
[6] = once_value_157
;
8698 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8699 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8700 once_value_156
= fra
.me
.REG
[6];
8701 register_static_object(&once_value_156
);
8702 } else fra
.me
.REG
[6] = once_value_156
;
8703 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8704 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8705 if (UNTAG_Bool(REGB1
)) {
8707 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8710 if (UNTAG_Bool(REGB1
)) {
8711 /* compiling/compiling_icode.nit:784 */
8713 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8714 if (!once_value_158
) {
8715 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8716 REGB1
= TAG_Int(22);
8717 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8718 once_value_158
= fra
.me
.REG
[7];
8719 register_static_object(&once_value_158
);
8720 } else fra
.me
.REG
[7] = once_value_158
;
8721 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8724 /* ../lib/standard/collection/array.nit:279 */
8725 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8726 /* ../lib/standard/collection/array.nit:281 */
8728 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8729 if (UNTAG_Bool(REGB0
)) {
8731 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8733 /* ../lib/standard/kernel.nit:243 */
8734 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8735 /* ../lib/standard/collection/array.nit:281 */
8736 if (UNTAG_Bool(REGB2
)) {
8737 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8738 if (UNTAG_Bool(REGB2
)) {
8740 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8742 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8743 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8744 if (UNTAG_Bool(REGB0
)) {
8746 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8748 /* ../lib/standard/kernel.nit:242 */
8749 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8751 /* ../lib/standard/collection/array.nit:281 */
8752 REGB0
= TAG_Bool(0);
8755 if (UNTAG_Bool(REGB2
)) {
8757 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8759 /* ../lib/standard/collection/array.nit:282 */
8760 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8761 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8762 if (UNTAG_Bool(REGB2
)) {
8763 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8765 /* ../lib/standard/collection/array.nit:725 */
8766 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8767 /* ../lib/standard/collection/array.nit:282 */
8770 /* compiling/compiling_icode.nit:784 */
8771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8772 if (!once_value_160
) {
8773 fra
.me
.REG
[7] = BOX_NativeString(")-UNBOX_Float(");
8774 REGB1
= TAG_Int(14);
8775 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8776 once_value_160
= fra
.me
.REG
[7];
8777 register_static_object(&once_value_160
);
8778 } else fra
.me
.REG
[7] = once_value_160
;
8779 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8782 /* ../lib/standard/collection/array.nit:279 */
8783 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8784 /* ../lib/standard/collection/array.nit:281 */
8786 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8787 if (UNTAG_Bool(REGB0
)) {
8789 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8791 /* ../lib/standard/kernel.nit:243 */
8792 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8793 /* ../lib/standard/collection/array.nit:281 */
8794 if (UNTAG_Bool(REGB2
)) {
8795 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8796 if (UNTAG_Bool(REGB2
)) {
8798 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8800 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8801 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8802 if (UNTAG_Bool(REGB0
)) {
8804 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8806 /* ../lib/standard/kernel.nit:242 */
8807 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8809 /* ../lib/standard/collection/array.nit:281 */
8810 REGB0
= TAG_Bool(0);
8813 if (UNTAG_Bool(REGB2
)) {
8815 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8817 /* ../lib/standard/collection/array.nit:282 */
8818 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8819 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8820 if (UNTAG_Bool(REGB2
)) {
8821 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8823 /* ../lib/standard/collection/array.nit:725 */
8824 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8825 /* ../lib/standard/collection/array.nit:282 */
8828 /* compiling/compiling_icode.nit:784 */
8829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8830 if (!once_value_162
) {
8831 fra
.me
.REG
[7] = BOX_NativeString("))");
8833 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8834 once_value_162
= fra
.me
.REG
[7];
8835 register_static_object(&once_value_162
);
8836 } else fra
.me
.REG
[7] = once_value_162
;
8837 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8839 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8840 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8842 /* compiling/compiling_icode.nit:785 */
8843 if (!once_value_163
) {
8844 if (!once_value_164
) {
8845 fra
.me
.REG
[6] = BOX_NativeString("*");
8847 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8848 once_value_164
= fra
.me
.REG
[6];
8849 register_static_object(&once_value_164
);
8850 } else fra
.me
.REG
[6] = once_value_164
;
8851 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8852 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8853 once_value_163
= fra
.me
.REG
[6];
8854 register_static_object(&once_value_163
);
8855 } else fra
.me
.REG
[6] = once_value_163
;
8856 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8857 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
8858 if (UNTAG_Bool(REGB1
)) {
8860 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
8863 if (UNTAG_Bool(REGB1
)) {
8864 /* compiling/compiling_icode.nit:786 */
8866 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8867 if (!once_value_165
) {
8868 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
8869 REGB1
= TAG_Int(22);
8870 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8871 once_value_165
= fra
.me
.REG
[7];
8872 register_static_object(&once_value_165
);
8873 } else fra
.me
.REG
[7] = once_value_165
;
8874 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8875 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8877 /* ../lib/standard/collection/array.nit:279 */
8878 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8879 /* ../lib/standard/collection/array.nit:281 */
8881 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8882 if (UNTAG_Bool(REGB0
)) {
8884 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8886 /* ../lib/standard/kernel.nit:243 */
8887 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8888 /* ../lib/standard/collection/array.nit:281 */
8889 if (UNTAG_Bool(REGB2
)) {
8890 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8891 if (UNTAG_Bool(REGB2
)) {
8893 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8895 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8896 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8897 if (UNTAG_Bool(REGB0
)) {
8899 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8901 /* ../lib/standard/kernel.nit:242 */
8902 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8904 /* ../lib/standard/collection/array.nit:281 */
8905 REGB0
= TAG_Bool(0);
8908 if (UNTAG_Bool(REGB2
)) {
8910 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8912 /* ../lib/standard/collection/array.nit:282 */
8913 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8914 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8915 if (UNTAG_Bool(REGB2
)) {
8916 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8918 /* ../lib/standard/collection/array.nit:725 */
8919 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8920 /* ../lib/standard/collection/array.nit:282 */
8923 /* compiling/compiling_icode.nit:786 */
8924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8925 if (!once_value_167
) {
8926 fra
.me
.REG
[7] = BOX_NativeString(")*UNBOX_Float(");
8927 REGB1
= TAG_Int(14);
8928 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8929 once_value_167
= fra
.me
.REG
[7];
8930 register_static_object(&once_value_167
);
8931 } else fra
.me
.REG
[7] = once_value_167
;
8932 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8935 /* ../lib/standard/collection/array.nit:279 */
8936 fra
.me
.REG
[7] = fra
.me
.REG
[4];
8937 /* ../lib/standard/collection/array.nit:281 */
8939 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8940 if (UNTAG_Bool(REGB0
)) {
8942 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8944 /* ../lib/standard/kernel.nit:243 */
8945 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
8946 /* ../lib/standard/collection/array.nit:281 */
8947 if (UNTAG_Bool(REGB2
)) {
8948 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
8949 if (UNTAG_Bool(REGB2
)) {
8951 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
8953 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
8954 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8955 if (UNTAG_Bool(REGB0
)) {
8957 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8959 /* ../lib/standard/kernel.nit:242 */
8960 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
8962 /* ../lib/standard/collection/array.nit:281 */
8963 REGB0
= TAG_Bool(0);
8966 if (UNTAG_Bool(REGB2
)) {
8968 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
8970 /* ../lib/standard/collection/array.nit:282 */
8971 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
8972 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
8973 if (UNTAG_Bool(REGB2
)) {
8974 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
8976 /* ../lib/standard/collection/array.nit:725 */
8977 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
8978 /* ../lib/standard/collection/array.nit:282 */
8981 /* compiling/compiling_icode.nit:786 */
8982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8983 if (!once_value_169
) {
8984 fra
.me
.REG
[7] = BOX_NativeString("))");
8986 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
8987 once_value_169
= fra
.me
.REG
[7];
8988 register_static_object(&once_value_169
);
8989 } else fra
.me
.REG
[7] = once_value_169
;
8990 fra
.me
.REG
[7] = fra
.me
.REG
[7];
8991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
8992 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8993 fra
.me
.REG
[5] = fra
.me
.REG
[6];
8995 /* compiling/compiling_icode.nit:787 */
8996 if (!once_value_170
) {
8997 if (!once_value_171
) {
8998 fra
.me
.REG
[6] = BOX_NativeString("/");
9000 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9001 once_value_171
= fra
.me
.REG
[6];
9002 register_static_object(&once_value_171
);
9003 } else fra
.me
.REG
[6] = once_value_171
;
9004 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9005 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9006 once_value_170
= fra
.me
.REG
[6];
9007 register_static_object(&once_value_170
);
9008 } else fra
.me
.REG
[6] = once_value_170
;
9009 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9010 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9011 if (UNTAG_Bool(REGB1
)) {
9013 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9016 if (UNTAG_Bool(REGB1
)) {
9017 /* compiling/compiling_icode.nit:788 */
9019 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9020 if (!once_value_172
) {
9021 fra
.me
.REG
[7] = BOX_NativeString("BOX_Float(UNBOX_Float(");
9022 REGB1
= TAG_Int(22);
9023 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9024 once_value_172
= fra
.me
.REG
[7];
9025 register_static_object(&once_value_172
);
9026 } else fra
.me
.REG
[7] = once_value_172
;
9027 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9030 /* ../lib/standard/collection/array.nit:279 */
9031 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9032 /* ../lib/standard/collection/array.nit:281 */
9034 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9035 if (UNTAG_Bool(REGB0
)) {
9037 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9039 /* ../lib/standard/kernel.nit:243 */
9040 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9041 /* ../lib/standard/collection/array.nit:281 */
9042 if (UNTAG_Bool(REGB2
)) {
9043 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9044 if (UNTAG_Bool(REGB2
)) {
9046 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9048 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9049 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9050 if (UNTAG_Bool(REGB0
)) {
9052 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9054 /* ../lib/standard/kernel.nit:242 */
9055 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9057 /* ../lib/standard/collection/array.nit:281 */
9058 REGB0
= TAG_Bool(0);
9061 if (UNTAG_Bool(REGB2
)) {
9063 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9065 /* ../lib/standard/collection/array.nit:282 */
9066 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9067 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9068 if (UNTAG_Bool(REGB2
)) {
9069 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9071 /* ../lib/standard/collection/array.nit:725 */
9072 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9073 /* ../lib/standard/collection/array.nit:282 */
9076 /* compiling/compiling_icode.nit:788 */
9077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9078 if (!once_value_174
) {
9079 fra
.me
.REG
[7] = BOX_NativeString(")/UNBOX_Float(");
9080 REGB1
= TAG_Int(14);
9081 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9082 once_value_174
= fra
.me
.REG
[7];
9083 register_static_object(&once_value_174
);
9084 } else fra
.me
.REG
[7] = once_value_174
;
9085 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9088 /* ../lib/standard/collection/array.nit:279 */
9089 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9090 /* ../lib/standard/collection/array.nit:281 */
9092 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9093 if (UNTAG_Bool(REGB0
)) {
9095 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9097 /* ../lib/standard/kernel.nit:243 */
9098 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9099 /* ../lib/standard/collection/array.nit:281 */
9100 if (UNTAG_Bool(REGB2
)) {
9101 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9102 if (UNTAG_Bool(REGB2
)) {
9104 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9106 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9107 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9108 if (UNTAG_Bool(REGB0
)) {
9110 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9112 /* ../lib/standard/kernel.nit:242 */
9113 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9115 /* ../lib/standard/collection/array.nit:281 */
9116 REGB0
= TAG_Bool(0);
9119 if (UNTAG_Bool(REGB2
)) {
9121 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9123 /* ../lib/standard/collection/array.nit:282 */
9124 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9125 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9126 if (UNTAG_Bool(REGB2
)) {
9127 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9129 /* ../lib/standard/collection/array.nit:725 */
9130 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9131 /* ../lib/standard/collection/array.nit:282 */
9134 /* compiling/compiling_icode.nit:788 */
9135 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9136 if (!once_value_176
) {
9137 fra
.me
.REG
[7] = BOX_NativeString("))");
9139 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9140 once_value_176
= fra
.me
.REG
[7];
9141 register_static_object(&once_value_176
);
9142 } else fra
.me
.REG
[7] = once_value_176
;
9143 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9145 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9146 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9148 /* compiling/compiling_icode.nit:789 */
9149 if (!once_value_177
) {
9150 if (!once_value_178
) {
9151 fra
.me
.REG
[6] = BOX_NativeString("<");
9153 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9154 once_value_178
= fra
.me
.REG
[6];
9155 register_static_object(&once_value_178
);
9156 } else fra
.me
.REG
[6] = once_value_178
;
9157 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9158 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9159 once_value_177
= fra
.me
.REG
[6];
9160 register_static_object(&once_value_177
);
9161 } else fra
.me
.REG
[6] = once_value_177
;
9162 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9163 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9164 if (UNTAG_Bool(REGB1
)) {
9166 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9169 if (UNTAG_Bool(REGB1
)) {
9170 /* compiling/compiling_icode.nit:790 */
9172 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9173 if (!once_value_179
) {
9174 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9175 REGB1
= TAG_Int(21);
9176 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9177 once_value_179
= fra
.me
.REG
[7];
9178 register_static_object(&once_value_179
);
9179 } else fra
.me
.REG
[7] = once_value_179
;
9180 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9183 /* ../lib/standard/collection/array.nit:279 */
9184 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9185 /* ../lib/standard/collection/array.nit:281 */
9187 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9188 if (UNTAG_Bool(REGB0
)) {
9190 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9192 /* ../lib/standard/kernel.nit:243 */
9193 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9194 /* ../lib/standard/collection/array.nit:281 */
9195 if (UNTAG_Bool(REGB2
)) {
9196 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9197 if (UNTAG_Bool(REGB2
)) {
9199 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9201 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9202 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9203 if (UNTAG_Bool(REGB0
)) {
9205 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9207 /* ../lib/standard/kernel.nit:242 */
9208 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9210 /* ../lib/standard/collection/array.nit:281 */
9211 REGB0
= TAG_Bool(0);
9214 if (UNTAG_Bool(REGB2
)) {
9216 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9218 /* ../lib/standard/collection/array.nit:282 */
9219 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9220 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9221 if (UNTAG_Bool(REGB2
)) {
9222 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9224 /* ../lib/standard/collection/array.nit:725 */
9225 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9226 /* ../lib/standard/collection/array.nit:282 */
9229 /* compiling/compiling_icode.nit:790 */
9230 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9231 if (!once_value_181
) {
9232 fra
.me
.REG
[7] = BOX_NativeString(")<UNBOX_Float(");
9233 REGB1
= TAG_Int(14);
9234 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9235 once_value_181
= fra
.me
.REG
[7];
9236 register_static_object(&once_value_181
);
9237 } else fra
.me
.REG
[7] = once_value_181
;
9238 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9241 /* ../lib/standard/collection/array.nit:279 */
9242 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9243 /* ../lib/standard/collection/array.nit:281 */
9245 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9246 if (UNTAG_Bool(REGB0
)) {
9248 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9250 /* ../lib/standard/kernel.nit:243 */
9251 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9252 /* ../lib/standard/collection/array.nit:281 */
9253 if (UNTAG_Bool(REGB2
)) {
9254 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9255 if (UNTAG_Bool(REGB2
)) {
9257 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9259 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9260 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9261 if (UNTAG_Bool(REGB0
)) {
9263 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9265 /* ../lib/standard/kernel.nit:242 */
9266 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9268 /* ../lib/standard/collection/array.nit:281 */
9269 REGB0
= TAG_Bool(0);
9272 if (UNTAG_Bool(REGB2
)) {
9274 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9276 /* ../lib/standard/collection/array.nit:282 */
9277 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9278 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9279 if (UNTAG_Bool(REGB2
)) {
9280 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9282 /* ../lib/standard/collection/array.nit:725 */
9283 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9284 /* ../lib/standard/collection/array.nit:282 */
9287 /* compiling/compiling_icode.nit:790 */
9288 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9289 if (!once_value_183
) {
9290 fra
.me
.REG
[7] = BOX_NativeString("))");
9292 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9293 once_value_183
= fra
.me
.REG
[7];
9294 register_static_object(&once_value_183
);
9295 } else fra
.me
.REG
[7] = once_value_183
;
9296 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9298 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9299 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9301 /* compiling/compiling_icode.nit:791 */
9302 if (!once_value_184
) {
9303 if (!once_value_185
) {
9304 fra
.me
.REG
[6] = BOX_NativeString(">");
9306 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9307 once_value_185
= fra
.me
.REG
[6];
9308 register_static_object(&once_value_185
);
9309 } else fra
.me
.REG
[6] = once_value_185
;
9310 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9311 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9312 once_value_184
= fra
.me
.REG
[6];
9313 register_static_object(&once_value_184
);
9314 } else fra
.me
.REG
[6] = once_value_184
;
9315 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9316 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9317 if (UNTAG_Bool(REGB1
)) {
9319 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9322 if (UNTAG_Bool(REGB1
)) {
9323 /* compiling/compiling_icode.nit:792 */
9325 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9326 if (!once_value_186
) {
9327 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9328 REGB1
= TAG_Int(21);
9329 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9330 once_value_186
= fra
.me
.REG
[7];
9331 register_static_object(&once_value_186
);
9332 } else fra
.me
.REG
[7] = once_value_186
;
9333 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9336 /* ../lib/standard/collection/array.nit:279 */
9337 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9338 /* ../lib/standard/collection/array.nit:281 */
9340 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9341 if (UNTAG_Bool(REGB0
)) {
9343 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9345 /* ../lib/standard/kernel.nit:243 */
9346 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9347 /* ../lib/standard/collection/array.nit:281 */
9348 if (UNTAG_Bool(REGB2
)) {
9349 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9350 if (UNTAG_Bool(REGB2
)) {
9352 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9354 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9355 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9356 if (UNTAG_Bool(REGB0
)) {
9358 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9360 /* ../lib/standard/kernel.nit:242 */
9361 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9363 /* ../lib/standard/collection/array.nit:281 */
9364 REGB0
= TAG_Bool(0);
9367 if (UNTAG_Bool(REGB2
)) {
9369 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9371 /* ../lib/standard/collection/array.nit:282 */
9372 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9373 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9374 if (UNTAG_Bool(REGB2
)) {
9375 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9377 /* ../lib/standard/collection/array.nit:725 */
9378 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9379 /* ../lib/standard/collection/array.nit:282 */
9382 /* compiling/compiling_icode.nit:792 */
9383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9384 if (!once_value_188
) {
9385 fra
.me
.REG
[7] = BOX_NativeString(")>UNBOX_Float(");
9386 REGB1
= TAG_Int(14);
9387 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9388 once_value_188
= fra
.me
.REG
[7];
9389 register_static_object(&once_value_188
);
9390 } else fra
.me
.REG
[7] = once_value_188
;
9391 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9394 /* ../lib/standard/collection/array.nit:279 */
9395 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9396 /* ../lib/standard/collection/array.nit:281 */
9398 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9399 if (UNTAG_Bool(REGB0
)) {
9401 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9403 /* ../lib/standard/kernel.nit:243 */
9404 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9405 /* ../lib/standard/collection/array.nit:281 */
9406 if (UNTAG_Bool(REGB2
)) {
9407 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9408 if (UNTAG_Bool(REGB2
)) {
9410 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9412 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9413 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9414 if (UNTAG_Bool(REGB0
)) {
9416 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9418 /* ../lib/standard/kernel.nit:242 */
9419 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9421 /* ../lib/standard/collection/array.nit:281 */
9422 REGB0
= TAG_Bool(0);
9425 if (UNTAG_Bool(REGB2
)) {
9427 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9429 /* ../lib/standard/collection/array.nit:282 */
9430 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9431 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9432 if (UNTAG_Bool(REGB2
)) {
9433 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9435 /* ../lib/standard/collection/array.nit:725 */
9436 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9437 /* ../lib/standard/collection/array.nit:282 */
9440 /* compiling/compiling_icode.nit:792 */
9441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9442 if (!once_value_190
) {
9443 fra
.me
.REG
[7] = BOX_NativeString("))");
9445 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9446 once_value_190
= fra
.me
.REG
[7];
9447 register_static_object(&once_value_190
);
9448 } else fra
.me
.REG
[7] = once_value_190
;
9449 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9451 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9452 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9454 /* compiling/compiling_icode.nit:793 */
9455 if (!once_value_191
) {
9456 if (!once_value_192
) {
9457 fra
.me
.REG
[6] = BOX_NativeString("<=");
9459 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9460 once_value_192
= fra
.me
.REG
[6];
9461 register_static_object(&once_value_192
);
9462 } else fra
.me
.REG
[6] = once_value_192
;
9463 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9464 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9465 once_value_191
= fra
.me
.REG
[6];
9466 register_static_object(&once_value_191
);
9467 } else fra
.me
.REG
[6] = once_value_191
;
9468 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9469 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9470 if (UNTAG_Bool(REGB1
)) {
9472 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9475 if (UNTAG_Bool(REGB1
)) {
9476 /* compiling/compiling_icode.nit:794 */
9478 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9479 if (!once_value_193
) {
9480 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9481 REGB1
= TAG_Int(21);
9482 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9483 once_value_193
= fra
.me
.REG
[7];
9484 register_static_object(&once_value_193
);
9485 } else fra
.me
.REG
[7] = once_value_193
;
9486 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9489 /* ../lib/standard/collection/array.nit:279 */
9490 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9491 /* ../lib/standard/collection/array.nit:281 */
9493 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9494 if (UNTAG_Bool(REGB0
)) {
9496 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9498 /* ../lib/standard/kernel.nit:243 */
9499 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9500 /* ../lib/standard/collection/array.nit:281 */
9501 if (UNTAG_Bool(REGB2
)) {
9502 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9503 if (UNTAG_Bool(REGB2
)) {
9505 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9507 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9508 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9509 if (UNTAG_Bool(REGB0
)) {
9511 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9513 /* ../lib/standard/kernel.nit:242 */
9514 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9516 /* ../lib/standard/collection/array.nit:281 */
9517 REGB0
= TAG_Bool(0);
9520 if (UNTAG_Bool(REGB2
)) {
9522 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9524 /* ../lib/standard/collection/array.nit:282 */
9525 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9526 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9527 if (UNTAG_Bool(REGB2
)) {
9528 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9530 /* ../lib/standard/collection/array.nit:725 */
9531 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9532 /* ../lib/standard/collection/array.nit:282 */
9535 /* compiling/compiling_icode.nit:794 */
9536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9537 if (!once_value_195
) {
9538 fra
.me
.REG
[7] = BOX_NativeString(")<=UNBOX_Float(");
9539 REGB1
= TAG_Int(15);
9540 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9541 once_value_195
= fra
.me
.REG
[7];
9542 register_static_object(&once_value_195
);
9543 } else fra
.me
.REG
[7] = once_value_195
;
9544 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9547 /* ../lib/standard/collection/array.nit:279 */
9548 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9549 /* ../lib/standard/collection/array.nit:281 */
9551 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9552 if (UNTAG_Bool(REGB0
)) {
9554 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9556 /* ../lib/standard/kernel.nit:243 */
9557 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9558 /* ../lib/standard/collection/array.nit:281 */
9559 if (UNTAG_Bool(REGB2
)) {
9560 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9561 if (UNTAG_Bool(REGB2
)) {
9563 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9565 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9566 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9567 if (UNTAG_Bool(REGB0
)) {
9569 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9571 /* ../lib/standard/kernel.nit:242 */
9572 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9574 /* ../lib/standard/collection/array.nit:281 */
9575 REGB0
= TAG_Bool(0);
9578 if (UNTAG_Bool(REGB2
)) {
9580 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9582 /* ../lib/standard/collection/array.nit:282 */
9583 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9584 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9585 if (UNTAG_Bool(REGB2
)) {
9586 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9588 /* ../lib/standard/collection/array.nit:725 */
9589 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9590 /* ../lib/standard/collection/array.nit:282 */
9593 /* compiling/compiling_icode.nit:794 */
9594 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9595 if (!once_value_197
) {
9596 fra
.me
.REG
[7] = BOX_NativeString("))");
9598 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9599 once_value_197
= fra
.me
.REG
[7];
9600 register_static_object(&once_value_197
);
9601 } else fra
.me
.REG
[7] = once_value_197
;
9602 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9603 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9604 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9605 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9607 /* compiling/compiling_icode.nit:795 */
9608 if (!once_value_198
) {
9609 if (!once_value_199
) {
9610 fra
.me
.REG
[6] = BOX_NativeString(">=");
9612 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9613 once_value_199
= fra
.me
.REG
[6];
9614 register_static_object(&once_value_199
);
9615 } else fra
.me
.REG
[6] = once_value_199
;
9616 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9617 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9618 once_value_198
= fra
.me
.REG
[6];
9619 register_static_object(&once_value_198
);
9620 } else fra
.me
.REG
[6] = once_value_198
;
9621 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9622 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9623 if (UNTAG_Bool(REGB1
)) {
9625 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9628 if (UNTAG_Bool(REGB1
)) {
9629 /* compiling/compiling_icode.nit:796 */
9631 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9632 if (!once_value_200
) {
9633 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNBOX_Float(");
9634 REGB1
= TAG_Int(21);
9635 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9636 once_value_200
= fra
.me
.REG
[7];
9637 register_static_object(&once_value_200
);
9638 } else fra
.me
.REG
[7] = once_value_200
;
9639 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9640 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9642 /* ../lib/standard/collection/array.nit:279 */
9643 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9644 /* ../lib/standard/collection/array.nit:281 */
9646 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9647 if (UNTAG_Bool(REGB0
)) {
9649 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9651 /* ../lib/standard/kernel.nit:243 */
9652 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9653 /* ../lib/standard/collection/array.nit:281 */
9654 if (UNTAG_Bool(REGB2
)) {
9655 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9656 if (UNTAG_Bool(REGB2
)) {
9658 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9660 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9661 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9662 if (UNTAG_Bool(REGB0
)) {
9664 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9666 /* ../lib/standard/kernel.nit:242 */
9667 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9669 /* ../lib/standard/collection/array.nit:281 */
9670 REGB0
= TAG_Bool(0);
9673 if (UNTAG_Bool(REGB2
)) {
9675 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9677 /* ../lib/standard/collection/array.nit:282 */
9678 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9679 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9680 if (UNTAG_Bool(REGB2
)) {
9681 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9683 /* ../lib/standard/collection/array.nit:725 */
9684 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9685 /* ../lib/standard/collection/array.nit:282 */
9688 /* compiling/compiling_icode.nit:796 */
9689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9690 if (!once_value_202
) {
9691 fra
.me
.REG
[7] = BOX_NativeString(")>=UNBOX_Float(");
9692 REGB1
= TAG_Int(15);
9693 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9694 once_value_202
= fra
.me
.REG
[7];
9695 register_static_object(&once_value_202
);
9696 } else fra
.me
.REG
[7] = once_value_202
;
9697 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9700 /* ../lib/standard/collection/array.nit:279 */
9701 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9702 /* ../lib/standard/collection/array.nit:281 */
9704 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9705 if (UNTAG_Bool(REGB0
)) {
9707 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9709 /* ../lib/standard/kernel.nit:243 */
9710 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9711 /* ../lib/standard/collection/array.nit:281 */
9712 if (UNTAG_Bool(REGB2
)) {
9713 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9714 if (UNTAG_Bool(REGB2
)) {
9716 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9718 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9719 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9720 if (UNTAG_Bool(REGB0
)) {
9722 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9724 /* ../lib/standard/kernel.nit:242 */
9725 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9727 /* ../lib/standard/collection/array.nit:281 */
9728 REGB0
= TAG_Bool(0);
9731 if (UNTAG_Bool(REGB2
)) {
9733 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9735 /* ../lib/standard/collection/array.nit:282 */
9736 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9737 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9738 if (UNTAG_Bool(REGB2
)) {
9739 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9741 /* ../lib/standard/collection/array.nit:725 */
9742 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9743 /* ../lib/standard/collection/array.nit:282 */
9746 /* compiling/compiling_icode.nit:796 */
9747 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9748 if (!once_value_204
) {
9749 fra
.me
.REG
[7] = BOX_NativeString("))");
9751 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9752 once_value_204
= fra
.me
.REG
[7];
9753 register_static_object(&once_value_204
);
9754 } else fra
.me
.REG
[7] = once_value_204
;
9755 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9757 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9758 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9772 /* compiling/compiling_icode.nit:798 */
9773 if (!once_value_205
) {
9774 if (!once_value_206
) {
9775 fra
.me
.REG
[6] = BOX_NativeString("Char");
9777 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9778 once_value_206
= fra
.me
.REG
[6];
9779 register_static_object(&once_value_206
);
9780 } else fra
.me
.REG
[6] = once_value_206
;
9781 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9782 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9783 once_value_205
= fra
.me
.REG
[6];
9784 register_static_object(&once_value_205
);
9785 } else fra
.me
.REG
[6] = once_value_205
;
9786 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9787 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
9788 if (UNTAG_Bool(REGB1
)) {
9790 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
9793 if (UNTAG_Bool(REGB1
)) {
9794 /* compiling/compiling_icode.nit:799 */
9795 if (!once_value_207
) {
9796 if (!once_value_208
) {
9797 fra
.me
.REG
[6] = BOX_NativeString("object_id");
9799 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9800 once_value_208
= fra
.me
.REG
[6];
9801 register_static_object(&once_value_208
);
9802 } else fra
.me
.REG
[6] = once_value_208
;
9803 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9804 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9805 once_value_207
= fra
.me
.REG
[6];
9806 register_static_object(&once_value_207
);
9807 } else fra
.me
.REG
[6] = once_value_207
;
9808 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9809 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9810 if (UNTAG_Bool(REGB1
)) {
9812 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9815 if (UNTAG_Bool(REGB1
)) {
9816 /* compiling/compiling_icode.nit:800 */
9818 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9819 if (!once_value_209
) {
9820 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
9821 REGB1
= TAG_Int(19);
9822 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9823 once_value_209
= fra
.me
.REG
[7];
9824 register_static_object(&once_value_209
);
9825 } else fra
.me
.REG
[7] = once_value_209
;
9826 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9829 /* ../lib/standard/collection/array.nit:279 */
9830 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9831 /* ../lib/standard/collection/array.nit:281 */
9833 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9834 if (UNTAG_Bool(REGB0
)) {
9836 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9838 /* ../lib/standard/kernel.nit:243 */
9839 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9840 /* ../lib/standard/collection/array.nit:281 */
9841 if (UNTAG_Bool(REGB2
)) {
9842 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9843 if (UNTAG_Bool(REGB2
)) {
9845 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9847 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9848 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9849 if (UNTAG_Bool(REGB0
)) {
9851 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9853 /* ../lib/standard/kernel.nit:242 */
9854 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9856 /* ../lib/standard/collection/array.nit:281 */
9857 REGB0
= TAG_Bool(0);
9860 if (UNTAG_Bool(REGB2
)) {
9862 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9864 /* ../lib/standard/collection/array.nit:282 */
9865 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9866 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9867 if (UNTAG_Bool(REGB2
)) {
9868 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9870 /* ../lib/standard/collection/array.nit:725 */
9871 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9872 /* ../lib/standard/collection/array.nit:282 */
9875 /* compiling/compiling_icode.nit:800 */
9876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9877 if (!once_value_211
) {
9878 fra
.me
.REG
[7] = BOX_NativeString("))");
9880 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9881 once_value_211
= fra
.me
.REG
[7];
9882 register_static_object(&once_value_211
);
9883 } else fra
.me
.REG
[7] = once_value_211
;
9884 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9886 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9887 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9889 /* compiling/compiling_icode.nit:801 */
9890 if (!once_value_212
) {
9891 if (!once_value_213
) {
9892 fra
.me
.REG
[6] = BOX_NativeString("unary -");
9894 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9895 once_value_213
= fra
.me
.REG
[6];
9896 register_static_object(&once_value_213
);
9897 } else fra
.me
.REG
[6] = once_value_213
;
9898 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9899 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9900 once_value_212
= fra
.me
.REG
[6];
9901 register_static_object(&once_value_212
);
9902 } else fra
.me
.REG
[6] = once_value_212
;
9903 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9904 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
9905 if (UNTAG_Bool(REGB1
)) {
9907 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
9910 if (UNTAG_Bool(REGB1
)) {
9911 /* compiling/compiling_icode.nit:802 */
9913 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9914 if (!once_value_214
) {
9915 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(-UNTAG_Char(");
9916 REGB1
= TAG_Int(21);
9917 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9918 once_value_214
= fra
.me
.REG
[7];
9919 register_static_object(&once_value_214
);
9920 } else fra
.me
.REG
[7] = once_value_214
;
9921 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9924 /* ../lib/standard/collection/array.nit:279 */
9925 fra
.me
.REG
[7] = fra
.me
.REG
[4];
9926 /* ../lib/standard/collection/array.nit:281 */
9928 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9929 if (UNTAG_Bool(REGB0
)) {
9931 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9933 /* ../lib/standard/kernel.nit:243 */
9934 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
9935 /* ../lib/standard/collection/array.nit:281 */
9936 if (UNTAG_Bool(REGB2
)) {
9937 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
9938 if (UNTAG_Bool(REGB2
)) {
9940 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
9942 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
9943 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9944 if (UNTAG_Bool(REGB0
)) {
9946 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9948 /* ../lib/standard/kernel.nit:242 */
9949 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
9951 /* ../lib/standard/collection/array.nit:281 */
9952 REGB0
= TAG_Bool(0);
9955 if (UNTAG_Bool(REGB2
)) {
9957 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
9959 /* ../lib/standard/collection/array.nit:282 */
9960 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
9961 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
9962 if (UNTAG_Bool(REGB2
)) {
9963 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
9965 /* ../lib/standard/collection/array.nit:725 */
9966 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
9967 /* ../lib/standard/collection/array.nit:282 */
9970 /* compiling/compiling_icode.nit:802 */
9971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9972 if (!once_value_216
) {
9973 fra
.me
.REG
[7] = BOX_NativeString("))");
9975 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
9976 once_value_216
= fra
.me
.REG
[7];
9977 register_static_object(&once_value_216
);
9978 } else fra
.me
.REG
[7] = once_value_216
;
9979 fra
.me
.REG
[7] = fra
.me
.REG
[7];
9980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
9981 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9982 fra
.me
.REG
[5] = fra
.me
.REG
[6];
9984 /* compiling/compiling_icode.nit:803 */
9985 if (!once_value_217
) {
9986 if (!once_value_218
) {
9987 fra
.me
.REG
[6] = BOX_NativeString("output");
9989 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
9990 once_value_218
= fra
.me
.REG
[6];
9991 register_static_object(&once_value_218
);
9992 } else fra
.me
.REG
[6] = once_value_218
;
9993 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9994 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9995 once_value_217
= fra
.me
.REG
[6];
9996 register_static_object(&once_value_217
);
9997 } else fra
.me
.REG
[6] = once_value_217
;
9998 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9999 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10000 if (UNTAG_Bool(REGB1
)) {
10002 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10005 if (UNTAG_Bool(REGB1
)) {
10006 /* compiling/compiling_icode.nit:804 */
10007 REGB1
= TAG_Int(3);
10008 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10009 if (!once_value_219
) {
10010 fra
.me
.REG
[7] = BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char(");
10011 REGB1
= TAG_Int(39);
10012 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10013 once_value_219
= fra
.me
.REG
[7];
10014 register_static_object(&once_value_219
);
10015 } else fra
.me
.REG
[7] = once_value_219
;
10016 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10018 REGB1
= TAG_Int(0);
10019 /* ../lib/standard/collection/array.nit:279 */
10020 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10021 /* ../lib/standard/collection/array.nit:281 */
10022 REGB2
= TAG_Int(0);
10023 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10024 if (UNTAG_Bool(REGB0
)) {
10026 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10028 /* ../lib/standard/kernel.nit:243 */
10029 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10030 /* ../lib/standard/collection/array.nit:281 */
10031 if (UNTAG_Bool(REGB2
)) {
10032 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10033 if (UNTAG_Bool(REGB2
)) {
10035 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10037 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10038 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10039 if (UNTAG_Bool(REGB0
)) {
10041 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10043 /* ../lib/standard/kernel.nit:242 */
10044 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10046 /* ../lib/standard/collection/array.nit:281 */
10047 REGB0
= TAG_Bool(0);
10050 if (UNTAG_Bool(REGB2
)) {
10052 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10054 /* ../lib/standard/collection/array.nit:282 */
10055 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10056 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10057 if (UNTAG_Bool(REGB2
)) {
10058 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10060 /* ../lib/standard/collection/array.nit:725 */
10061 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10062 /* ../lib/standard/collection/array.nit:282 */
10064 label220
: while(0);
10065 /* compiling/compiling_icode.nit:804 */
10066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10067 if (!once_value_221
) {
10068 fra
.me
.REG
[7] = BOX_NativeString("));");
10069 REGB1
= TAG_Int(3);
10070 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10071 once_value_221
= fra
.me
.REG
[7];
10072 register_static_object(&once_value_221
);
10073 } else fra
.me
.REG
[7] = once_value_221
;
10074 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10075 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10076 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10077 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10079 /* compiling/compiling_icode.nit:805 */
10080 if (!once_value_222
) {
10081 if (!once_value_223
) {
10082 fra
.me
.REG
[6] = BOX_NativeString("ascii");
10083 REGB1
= TAG_Int(5);
10084 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
10085 once_value_223
= fra
.me
.REG
[6];
10086 register_static_object(&once_value_223
);
10087 } else fra
.me
.REG
[6] = once_value_223
;
10088 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10089 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10090 once_value_222
= fra
.me
.REG
[6];
10091 register_static_object(&once_value_222
);
10092 } else fra
.me
.REG
[6] = once_value_222
;
10093 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10094 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10095 if (UNTAG_Bool(REGB1
)) {
10097 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10100 if (UNTAG_Bool(REGB1
)) {
10101 /* compiling/compiling_icode.nit:806 */
10102 REGB1
= TAG_Int(3);
10103 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10104 if (!once_value_224
) {
10105 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char(");
10106 REGB1
= TAG_Int(34);
10107 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10108 once_value_224
= fra
.me
.REG
[7];
10109 register_static_object(&once_value_224
);
10110 } else fra
.me
.REG
[7] = once_value_224
;
10111 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10113 REGB1
= TAG_Int(0);
10114 /* ../lib/standard/collection/array.nit:279 */
10115 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10116 /* ../lib/standard/collection/array.nit:281 */
10117 REGB2
= TAG_Int(0);
10118 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10119 if (UNTAG_Bool(REGB0
)) {
10121 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10123 /* ../lib/standard/kernel.nit:243 */
10124 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10125 /* ../lib/standard/collection/array.nit:281 */
10126 if (UNTAG_Bool(REGB2
)) {
10127 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10128 if (UNTAG_Bool(REGB2
)) {
10130 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10132 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10133 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10134 if (UNTAG_Bool(REGB0
)) {
10136 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10138 /* ../lib/standard/kernel.nit:242 */
10139 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10141 /* ../lib/standard/collection/array.nit:281 */
10142 REGB0
= TAG_Bool(0);
10145 if (UNTAG_Bool(REGB2
)) {
10147 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10149 /* ../lib/standard/collection/array.nit:282 */
10150 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10151 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10152 if (UNTAG_Bool(REGB2
)) {
10153 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10155 /* ../lib/standard/collection/array.nit:725 */
10156 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10157 /* ../lib/standard/collection/array.nit:282 */
10159 label225
: while(0);
10160 /* compiling/compiling_icode.nit:806 */
10161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10162 if (!once_value_226
) {
10163 fra
.me
.REG
[7] = BOX_NativeString("))");
10164 REGB1
= TAG_Int(2);
10165 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10166 once_value_226
= fra
.me
.REG
[7];
10167 register_static_object(&once_value_226
);
10168 } else fra
.me
.REG
[7] = once_value_226
;
10169 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10170 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10171 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10172 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10174 /* compiling/compiling_icode.nit:807 */
10175 if (!once_value_227
) {
10176 if (!once_value_228
) {
10177 fra
.me
.REG
[6] = BOX_NativeString("succ");
10178 REGB1
= TAG_Int(4);
10179 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
10180 once_value_228
= fra
.me
.REG
[6];
10181 register_static_object(&once_value_228
);
10182 } else fra
.me
.REG
[6] = once_value_228
;
10183 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10184 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10185 once_value_227
= fra
.me
.REG
[6];
10186 register_static_object(&once_value_227
);
10187 } else fra
.me
.REG
[6] = once_value_227
;
10188 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10189 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10190 if (UNTAG_Bool(REGB1
)) {
10192 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10195 if (UNTAG_Bool(REGB1
)) {
10196 /* compiling/compiling_icode.nit:808 */
10197 REGB1
= TAG_Int(3);
10198 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10199 if (!once_value_229
) {
10200 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10201 REGB1
= TAG_Int(20);
10202 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10203 once_value_229
= fra
.me
.REG
[7];
10204 register_static_object(&once_value_229
);
10205 } else fra
.me
.REG
[7] = once_value_229
;
10206 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10208 REGB1
= TAG_Int(0);
10209 /* ../lib/standard/collection/array.nit:279 */
10210 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10211 /* ../lib/standard/collection/array.nit:281 */
10212 REGB2
= TAG_Int(0);
10213 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10214 if (UNTAG_Bool(REGB0
)) {
10216 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10218 /* ../lib/standard/kernel.nit:243 */
10219 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10220 /* ../lib/standard/collection/array.nit:281 */
10221 if (UNTAG_Bool(REGB2
)) {
10222 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10223 if (UNTAG_Bool(REGB2
)) {
10225 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10227 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10228 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10229 if (UNTAG_Bool(REGB0
)) {
10231 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10233 /* ../lib/standard/kernel.nit:242 */
10234 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10236 /* ../lib/standard/collection/array.nit:281 */
10237 REGB0
= TAG_Bool(0);
10240 if (UNTAG_Bool(REGB2
)) {
10242 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10244 /* ../lib/standard/collection/array.nit:282 */
10245 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10246 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10247 if (UNTAG_Bool(REGB2
)) {
10248 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10250 /* ../lib/standard/collection/array.nit:725 */
10251 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10252 /* ../lib/standard/collection/array.nit:282 */
10254 label230
: while(0);
10255 /* compiling/compiling_icode.nit:808 */
10256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10257 if (!once_value_231
) {
10258 fra
.me
.REG
[7] = BOX_NativeString(")+1)");
10259 REGB1
= TAG_Int(4);
10260 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10261 once_value_231
= fra
.me
.REG
[7];
10262 register_static_object(&once_value_231
);
10263 } else fra
.me
.REG
[7] = once_value_231
;
10264 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10265 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10266 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10267 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10269 /* compiling/compiling_icode.nit:809 */
10270 if (!once_value_232
) {
10271 if (!once_value_233
) {
10272 fra
.me
.REG
[6] = BOX_NativeString("prec");
10273 REGB1
= TAG_Int(4);
10274 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
10275 once_value_233
= fra
.me
.REG
[6];
10276 register_static_object(&once_value_233
);
10277 } else fra
.me
.REG
[6] = once_value_233
;
10278 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10279 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10280 once_value_232
= fra
.me
.REG
[6];
10281 register_static_object(&once_value_232
);
10282 } else fra
.me
.REG
[6] = once_value_232
;
10283 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10284 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10285 if (UNTAG_Bool(REGB1
)) {
10287 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10290 if (UNTAG_Bool(REGB1
)) {
10291 /* compiling/compiling_icode.nit:810 */
10292 REGB1
= TAG_Int(3);
10293 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10294 if (!once_value_234
) {
10295 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10296 REGB1
= TAG_Int(20);
10297 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10298 once_value_234
= fra
.me
.REG
[7];
10299 register_static_object(&once_value_234
);
10300 } else fra
.me
.REG
[7] = once_value_234
;
10301 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10303 REGB1
= TAG_Int(0);
10304 /* ../lib/standard/collection/array.nit:279 */
10305 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10306 /* ../lib/standard/collection/array.nit:281 */
10307 REGB2
= TAG_Int(0);
10308 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10309 if (UNTAG_Bool(REGB0
)) {
10311 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10313 /* ../lib/standard/kernel.nit:243 */
10314 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10315 /* ../lib/standard/collection/array.nit:281 */
10316 if (UNTAG_Bool(REGB2
)) {
10317 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10318 if (UNTAG_Bool(REGB2
)) {
10320 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10322 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10323 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10324 if (UNTAG_Bool(REGB0
)) {
10326 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10328 /* ../lib/standard/kernel.nit:242 */
10329 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10331 /* ../lib/standard/collection/array.nit:281 */
10332 REGB0
= TAG_Bool(0);
10335 if (UNTAG_Bool(REGB2
)) {
10337 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10339 /* ../lib/standard/collection/array.nit:282 */
10340 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10341 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10342 if (UNTAG_Bool(REGB2
)) {
10343 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10345 /* ../lib/standard/collection/array.nit:725 */
10346 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10347 /* ../lib/standard/collection/array.nit:282 */
10349 label235
: while(0);
10350 /* compiling/compiling_icode.nit:810 */
10351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10352 if (!once_value_236
) {
10353 fra
.me
.REG
[7] = BOX_NativeString(")-1)");
10354 REGB1
= TAG_Int(4);
10355 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10356 once_value_236
= fra
.me
.REG
[7];
10357 register_static_object(&once_value_236
);
10358 } else fra
.me
.REG
[7] = once_value_236
;
10359 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10360 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10361 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10362 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10364 /* compiling/compiling_icode.nit:811 */
10365 if (!once_value_237
) {
10366 if (!once_value_238
) {
10367 fra
.me
.REG
[6] = BOX_NativeString("to_i");
10368 REGB1
= TAG_Int(4);
10369 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
10370 once_value_238
= fra
.me
.REG
[6];
10371 register_static_object(&once_value_238
);
10372 } else fra
.me
.REG
[6] = once_value_238
;
10373 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10374 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10375 once_value_237
= fra
.me
.REG
[6];
10376 register_static_object(&once_value_237
);
10377 } else fra
.me
.REG
[6] = once_value_237
;
10378 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10379 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10380 if (UNTAG_Bool(REGB1
)) {
10382 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10385 if (UNTAG_Bool(REGB1
)) {
10386 /* compiling/compiling_icode.nit:812 */
10387 REGB1
= TAG_Int(3);
10388 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10389 if (!once_value_239
) {
10390 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Char(");
10391 REGB1
= TAG_Int(19);
10392 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10393 once_value_239
= fra
.me
.REG
[7];
10394 register_static_object(&once_value_239
);
10395 } else fra
.me
.REG
[7] = once_value_239
;
10396 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10397 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10398 REGB1
= TAG_Int(0);
10399 /* ../lib/standard/collection/array.nit:279 */
10400 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10401 /* ../lib/standard/collection/array.nit:281 */
10402 REGB2
= TAG_Int(0);
10403 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10404 if (UNTAG_Bool(REGB0
)) {
10406 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10408 /* ../lib/standard/kernel.nit:243 */
10409 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10410 /* ../lib/standard/collection/array.nit:281 */
10411 if (UNTAG_Bool(REGB2
)) {
10412 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10413 if (UNTAG_Bool(REGB2
)) {
10415 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10417 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10418 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10419 if (UNTAG_Bool(REGB0
)) {
10421 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10423 /* ../lib/standard/kernel.nit:242 */
10424 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10426 /* ../lib/standard/collection/array.nit:281 */
10427 REGB0
= TAG_Bool(0);
10430 if (UNTAG_Bool(REGB2
)) {
10432 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10434 /* ../lib/standard/collection/array.nit:282 */
10435 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10436 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10437 if (UNTAG_Bool(REGB2
)) {
10438 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10440 /* ../lib/standard/collection/array.nit:725 */
10441 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10442 /* ../lib/standard/collection/array.nit:282 */
10444 label240
: while(0);
10445 /* compiling/compiling_icode.nit:812 */
10446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10447 if (!once_value_241
) {
10448 fra
.me
.REG
[7] = BOX_NativeString(")-'0')");
10449 REGB1
= TAG_Int(6);
10450 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10451 once_value_241
= fra
.me
.REG
[7];
10452 register_static_object(&once_value_241
);
10453 } else fra
.me
.REG
[7] = once_value_241
;
10454 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10455 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10456 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10457 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10459 /* compiling/compiling_icode.nit:813 */
10460 if (!once_value_242
) {
10461 if (!once_value_243
) {
10462 fra
.me
.REG
[6] = BOX_NativeString("+");
10463 REGB1
= TAG_Int(1);
10464 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
10465 once_value_243
= fra
.me
.REG
[6];
10466 register_static_object(&once_value_243
);
10467 } else fra
.me
.REG
[6] = once_value_243
;
10468 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10469 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10470 once_value_242
= fra
.me
.REG
[6];
10471 register_static_object(&once_value_242
);
10472 } else fra
.me
.REG
[6] = once_value_242
;
10473 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10474 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10475 if (UNTAG_Bool(REGB1
)) {
10477 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10480 if (UNTAG_Bool(REGB1
)) {
10481 /* compiling/compiling_icode.nit:814 */
10482 REGB1
= TAG_Int(5);
10483 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10484 if (!once_value_244
) {
10485 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10486 REGB1
= TAG_Int(20);
10487 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10488 once_value_244
= fra
.me
.REG
[7];
10489 register_static_object(&once_value_244
);
10490 } else fra
.me
.REG
[7] = once_value_244
;
10491 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10493 REGB1
= TAG_Int(0);
10494 /* ../lib/standard/collection/array.nit:279 */
10495 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10496 /* ../lib/standard/collection/array.nit:281 */
10497 REGB2
= TAG_Int(0);
10498 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10499 if (UNTAG_Bool(REGB0
)) {
10501 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10503 /* ../lib/standard/kernel.nit:243 */
10504 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10505 /* ../lib/standard/collection/array.nit:281 */
10506 if (UNTAG_Bool(REGB2
)) {
10507 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10508 if (UNTAG_Bool(REGB2
)) {
10510 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10512 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10513 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10514 if (UNTAG_Bool(REGB0
)) {
10516 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10518 /* ../lib/standard/kernel.nit:242 */
10519 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10521 /* ../lib/standard/collection/array.nit:281 */
10522 REGB0
= TAG_Bool(0);
10525 if (UNTAG_Bool(REGB2
)) {
10527 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10529 /* ../lib/standard/collection/array.nit:282 */
10530 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10531 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10532 if (UNTAG_Bool(REGB2
)) {
10533 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10535 /* ../lib/standard/collection/array.nit:725 */
10536 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10537 /* ../lib/standard/collection/array.nit:282 */
10539 label245
: while(0);
10540 /* compiling/compiling_icode.nit:814 */
10541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10542 if (!once_value_246
) {
10543 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Char(");
10544 REGB1
= TAG_Int(13);
10545 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10546 once_value_246
= fra
.me
.REG
[7];
10547 register_static_object(&once_value_246
);
10548 } else fra
.me
.REG
[7] = once_value_246
;
10549 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10550 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10551 REGB1
= TAG_Int(1);
10552 /* ../lib/standard/collection/array.nit:279 */
10553 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10554 /* ../lib/standard/collection/array.nit:281 */
10555 REGB2
= TAG_Int(0);
10556 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10557 if (UNTAG_Bool(REGB0
)) {
10559 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10561 /* ../lib/standard/kernel.nit:243 */
10562 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10563 /* ../lib/standard/collection/array.nit:281 */
10564 if (UNTAG_Bool(REGB2
)) {
10565 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10566 if (UNTAG_Bool(REGB2
)) {
10568 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10570 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10571 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10572 if (UNTAG_Bool(REGB0
)) {
10574 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10576 /* ../lib/standard/kernel.nit:242 */
10577 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10579 /* ../lib/standard/collection/array.nit:281 */
10580 REGB0
= TAG_Bool(0);
10583 if (UNTAG_Bool(REGB2
)) {
10585 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10587 /* ../lib/standard/collection/array.nit:282 */
10588 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10589 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10590 if (UNTAG_Bool(REGB2
)) {
10591 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10593 /* ../lib/standard/collection/array.nit:725 */
10594 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10595 /* ../lib/standard/collection/array.nit:282 */
10597 label247
: while(0);
10598 /* compiling/compiling_icode.nit:814 */
10599 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10600 if (!once_value_248
) {
10601 fra
.me
.REG
[7] = BOX_NativeString("))");
10602 REGB1
= TAG_Int(2);
10603 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10604 once_value_248
= fra
.me
.REG
[7];
10605 register_static_object(&once_value_248
);
10606 } else fra
.me
.REG
[7] = once_value_248
;
10607 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10608 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10609 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10610 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10612 /* compiling/compiling_icode.nit:815 */
10613 if (!once_value_249
) {
10614 if (!once_value_250
) {
10615 fra
.me
.REG
[6] = BOX_NativeString("-");
10616 REGB1
= TAG_Int(1);
10617 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
10618 once_value_250
= fra
.me
.REG
[6];
10619 register_static_object(&once_value_250
);
10620 } else fra
.me
.REG
[6] = once_value_250
;
10621 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10622 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10623 once_value_249
= fra
.me
.REG
[6];
10624 register_static_object(&once_value_249
);
10625 } else fra
.me
.REG
[6] = once_value_249
;
10626 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10627 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10628 if (UNTAG_Bool(REGB1
)) {
10630 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10633 if (UNTAG_Bool(REGB1
)) {
10634 /* compiling/compiling_icode.nit:816 */
10635 REGB1
= TAG_Int(5);
10636 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10637 if (!once_value_251
) {
10638 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10639 REGB1
= TAG_Int(20);
10640 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10641 once_value_251
= fra
.me
.REG
[7];
10642 register_static_object(&once_value_251
);
10643 } else fra
.me
.REG
[7] = once_value_251
;
10644 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10645 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10646 REGB1
= TAG_Int(0);
10647 /* ../lib/standard/collection/array.nit:279 */
10648 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10649 /* ../lib/standard/collection/array.nit:281 */
10650 REGB2
= TAG_Int(0);
10651 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10652 if (UNTAG_Bool(REGB0
)) {
10654 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10656 /* ../lib/standard/kernel.nit:243 */
10657 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10658 /* ../lib/standard/collection/array.nit:281 */
10659 if (UNTAG_Bool(REGB2
)) {
10660 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10661 if (UNTAG_Bool(REGB2
)) {
10663 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10665 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10666 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10667 if (UNTAG_Bool(REGB0
)) {
10669 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10671 /* ../lib/standard/kernel.nit:242 */
10672 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10674 /* ../lib/standard/collection/array.nit:281 */
10675 REGB0
= TAG_Bool(0);
10678 if (UNTAG_Bool(REGB2
)) {
10680 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10682 /* ../lib/standard/collection/array.nit:282 */
10683 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10684 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10685 if (UNTAG_Bool(REGB2
)) {
10686 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10688 /* ../lib/standard/collection/array.nit:725 */
10689 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10690 /* ../lib/standard/collection/array.nit:282 */
10692 label252
: while(0);
10693 /* compiling/compiling_icode.nit:816 */
10694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10695 if (!once_value_253
) {
10696 fra
.me
.REG
[7] = BOX_NativeString(")-UNTAG_Char(");
10697 REGB1
= TAG_Int(13);
10698 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10699 once_value_253
= fra
.me
.REG
[7];
10700 register_static_object(&once_value_253
);
10701 } else fra
.me
.REG
[7] = once_value_253
;
10702 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10703 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10704 REGB1
= TAG_Int(1);
10705 /* ../lib/standard/collection/array.nit:279 */
10706 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10707 /* ../lib/standard/collection/array.nit:281 */
10708 REGB2
= TAG_Int(0);
10709 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10710 if (UNTAG_Bool(REGB0
)) {
10712 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10714 /* ../lib/standard/kernel.nit:243 */
10715 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10716 /* ../lib/standard/collection/array.nit:281 */
10717 if (UNTAG_Bool(REGB2
)) {
10718 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10719 if (UNTAG_Bool(REGB2
)) {
10721 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10723 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10724 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10725 if (UNTAG_Bool(REGB0
)) {
10727 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10729 /* ../lib/standard/kernel.nit:242 */
10730 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10732 /* ../lib/standard/collection/array.nit:281 */
10733 REGB0
= TAG_Bool(0);
10736 if (UNTAG_Bool(REGB2
)) {
10738 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10740 /* ../lib/standard/collection/array.nit:282 */
10741 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10742 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10743 if (UNTAG_Bool(REGB2
)) {
10744 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10746 /* ../lib/standard/collection/array.nit:725 */
10747 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10748 /* ../lib/standard/collection/array.nit:282 */
10750 label254
: while(0);
10751 /* compiling/compiling_icode.nit:816 */
10752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10753 if (!once_value_255
) {
10754 fra
.me
.REG
[7] = BOX_NativeString("))");
10755 REGB1
= TAG_Int(2);
10756 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10757 once_value_255
= fra
.me
.REG
[7];
10758 register_static_object(&once_value_255
);
10759 } else fra
.me
.REG
[7] = once_value_255
;
10760 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10762 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10763 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10765 /* compiling/compiling_icode.nit:817 */
10766 if (!once_value_256
) {
10767 if (!once_value_257
) {
10768 fra
.me
.REG
[6] = BOX_NativeString("*");
10769 REGB1
= TAG_Int(1);
10770 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
10771 once_value_257
= fra
.me
.REG
[6];
10772 register_static_object(&once_value_257
);
10773 } else fra
.me
.REG
[6] = once_value_257
;
10774 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10775 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10776 once_value_256
= fra
.me
.REG
[6];
10777 register_static_object(&once_value_256
);
10778 } else fra
.me
.REG
[6] = once_value_256
;
10779 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10780 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10781 if (UNTAG_Bool(REGB1
)) {
10783 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10786 if (UNTAG_Bool(REGB1
)) {
10787 /* compiling/compiling_icode.nit:818 */
10788 REGB1
= TAG_Int(5);
10789 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10790 if (!once_value_258
) {
10791 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10792 REGB1
= TAG_Int(20);
10793 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10794 once_value_258
= fra
.me
.REG
[7];
10795 register_static_object(&once_value_258
);
10796 } else fra
.me
.REG
[7] = once_value_258
;
10797 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10798 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10799 REGB1
= TAG_Int(0);
10800 /* ../lib/standard/collection/array.nit:279 */
10801 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10802 /* ../lib/standard/collection/array.nit:281 */
10803 REGB2
= TAG_Int(0);
10804 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10805 if (UNTAG_Bool(REGB0
)) {
10807 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10809 /* ../lib/standard/kernel.nit:243 */
10810 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10811 /* ../lib/standard/collection/array.nit:281 */
10812 if (UNTAG_Bool(REGB2
)) {
10813 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10814 if (UNTAG_Bool(REGB2
)) {
10816 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10818 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10819 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10820 if (UNTAG_Bool(REGB0
)) {
10822 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10824 /* ../lib/standard/kernel.nit:242 */
10825 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10827 /* ../lib/standard/collection/array.nit:281 */
10828 REGB0
= TAG_Bool(0);
10831 if (UNTAG_Bool(REGB2
)) {
10833 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10835 /* ../lib/standard/collection/array.nit:282 */
10836 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10837 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10838 if (UNTAG_Bool(REGB2
)) {
10839 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10841 /* ../lib/standard/collection/array.nit:725 */
10842 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10843 /* ../lib/standard/collection/array.nit:282 */
10845 label259
: while(0);
10846 /* compiling/compiling_icode.nit:818 */
10847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10848 if (!once_value_260
) {
10849 fra
.me
.REG
[7] = BOX_NativeString(")*UNTAG_Char(");
10850 REGB1
= TAG_Int(13);
10851 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10852 once_value_260
= fra
.me
.REG
[7];
10853 register_static_object(&once_value_260
);
10854 } else fra
.me
.REG
[7] = once_value_260
;
10855 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10857 REGB1
= TAG_Int(1);
10858 /* ../lib/standard/collection/array.nit:279 */
10859 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10860 /* ../lib/standard/collection/array.nit:281 */
10861 REGB2
= TAG_Int(0);
10862 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10863 if (UNTAG_Bool(REGB0
)) {
10865 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10867 /* ../lib/standard/kernel.nit:243 */
10868 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10869 /* ../lib/standard/collection/array.nit:281 */
10870 if (UNTAG_Bool(REGB2
)) {
10871 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10872 if (UNTAG_Bool(REGB2
)) {
10874 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10876 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10877 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10878 if (UNTAG_Bool(REGB0
)) {
10880 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10882 /* ../lib/standard/kernel.nit:242 */
10883 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10885 /* ../lib/standard/collection/array.nit:281 */
10886 REGB0
= TAG_Bool(0);
10889 if (UNTAG_Bool(REGB2
)) {
10891 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10893 /* ../lib/standard/collection/array.nit:282 */
10894 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10895 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10896 if (UNTAG_Bool(REGB2
)) {
10897 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10899 /* ../lib/standard/collection/array.nit:725 */
10900 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10901 /* ../lib/standard/collection/array.nit:282 */
10903 label261
: while(0);
10904 /* compiling/compiling_icode.nit:818 */
10905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10906 if (!once_value_262
) {
10907 fra
.me
.REG
[7] = BOX_NativeString("))");
10908 REGB1
= TAG_Int(2);
10909 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10910 once_value_262
= fra
.me
.REG
[7];
10911 register_static_object(&once_value_262
);
10912 } else fra
.me
.REG
[7] = once_value_262
;
10913 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10914 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10915 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10916 fra
.me
.REG
[5] = fra
.me
.REG
[6];
10918 /* compiling/compiling_icode.nit:819 */
10919 if (!once_value_263
) {
10920 if (!once_value_264
) {
10921 fra
.me
.REG
[6] = BOX_NativeString("/");
10922 REGB1
= TAG_Int(1);
10923 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
10924 once_value_264
= fra
.me
.REG
[6];
10925 register_static_object(&once_value_264
);
10926 } else fra
.me
.REG
[6] = once_value_264
;
10927 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10928 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10929 once_value_263
= fra
.me
.REG
[6];
10930 register_static_object(&once_value_263
);
10931 } else fra
.me
.REG
[6] = once_value_263
;
10932 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10933 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
10934 if (UNTAG_Bool(REGB1
)) {
10936 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
10939 if (UNTAG_Bool(REGB1
)) {
10940 /* compiling/compiling_icode.nit:820 */
10941 REGB1
= TAG_Int(5);
10942 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10943 if (!once_value_265
) {
10944 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
10945 REGB1
= TAG_Int(20);
10946 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
10947 once_value_265
= fra
.me
.REG
[7];
10948 register_static_object(&once_value_265
);
10949 } else fra
.me
.REG
[7] = once_value_265
;
10950 fra
.me
.REG
[7] = fra
.me
.REG
[7];
10951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
10952 REGB1
= TAG_Int(0);
10953 /* ../lib/standard/collection/array.nit:279 */
10954 fra
.me
.REG
[7] = fra
.me
.REG
[4];
10955 /* ../lib/standard/collection/array.nit:281 */
10956 REGB2
= TAG_Int(0);
10957 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10958 if (UNTAG_Bool(REGB0
)) {
10960 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10962 /* ../lib/standard/kernel.nit:243 */
10963 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
10964 /* ../lib/standard/collection/array.nit:281 */
10965 if (UNTAG_Bool(REGB2
)) {
10966 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
10967 if (UNTAG_Bool(REGB2
)) {
10969 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
10971 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
10972 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10973 if (UNTAG_Bool(REGB0
)) {
10975 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10977 /* ../lib/standard/kernel.nit:242 */
10978 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
10980 /* ../lib/standard/collection/array.nit:281 */
10981 REGB0
= TAG_Bool(0);
10984 if (UNTAG_Bool(REGB2
)) {
10986 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
10988 /* ../lib/standard/collection/array.nit:282 */
10989 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
10990 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
10991 if (UNTAG_Bool(REGB2
)) {
10992 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
10994 /* ../lib/standard/collection/array.nit:725 */
10995 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
10996 /* ../lib/standard/collection/array.nit:282 */
10998 label266
: while(0);
10999 /* compiling/compiling_icode.nit:820 */
11000 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11001 if (!once_value_267
) {
11002 fra
.me
.REG
[7] = BOX_NativeString(")/UNTAG_Char(");
11003 REGB1
= TAG_Int(13);
11004 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11005 once_value_267
= fra
.me
.REG
[7];
11006 register_static_object(&once_value_267
);
11007 } else fra
.me
.REG
[7] = once_value_267
;
11008 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11010 REGB1
= TAG_Int(1);
11011 /* ../lib/standard/collection/array.nit:279 */
11012 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11013 /* ../lib/standard/collection/array.nit:281 */
11014 REGB2
= TAG_Int(0);
11015 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11016 if (UNTAG_Bool(REGB0
)) {
11018 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11020 /* ../lib/standard/kernel.nit:243 */
11021 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11022 /* ../lib/standard/collection/array.nit:281 */
11023 if (UNTAG_Bool(REGB2
)) {
11024 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11025 if (UNTAG_Bool(REGB2
)) {
11027 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11029 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11030 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11031 if (UNTAG_Bool(REGB0
)) {
11033 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11035 /* ../lib/standard/kernel.nit:242 */
11036 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11038 /* ../lib/standard/collection/array.nit:281 */
11039 REGB0
= TAG_Bool(0);
11042 if (UNTAG_Bool(REGB2
)) {
11044 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11046 /* ../lib/standard/collection/array.nit:282 */
11047 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11048 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11049 if (UNTAG_Bool(REGB2
)) {
11050 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11052 /* ../lib/standard/collection/array.nit:725 */
11053 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11054 /* ../lib/standard/collection/array.nit:282 */
11056 label268
: while(0);
11057 /* compiling/compiling_icode.nit:820 */
11058 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11059 if (!once_value_269
) {
11060 fra
.me
.REG
[7] = BOX_NativeString("))");
11061 REGB1
= TAG_Int(2);
11062 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11063 once_value_269
= fra
.me
.REG
[7];
11064 register_static_object(&once_value_269
);
11065 } else fra
.me
.REG
[7] = once_value_269
;
11066 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11068 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11069 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11071 /* compiling/compiling_icode.nit:821 */
11072 if (!once_value_270
) {
11073 if (!once_value_271
) {
11074 fra
.me
.REG
[6] = BOX_NativeString("%");
11075 REGB1
= TAG_Int(1);
11076 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
11077 once_value_271
= fra
.me
.REG
[6];
11078 register_static_object(&once_value_271
);
11079 } else fra
.me
.REG
[6] = once_value_271
;
11080 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11081 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11082 once_value_270
= fra
.me
.REG
[6];
11083 register_static_object(&once_value_270
);
11084 } else fra
.me
.REG
[6] = once_value_270
;
11085 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11086 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11087 if (UNTAG_Bool(REGB1
)) {
11089 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11092 if (UNTAG_Bool(REGB1
)) {
11093 /* compiling/compiling_icode.nit:822 */
11094 REGB1
= TAG_Int(5);
11095 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11096 if (!once_value_272
) {
11097 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNTAG_Char(");
11098 REGB1
= TAG_Int(20);
11099 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11100 once_value_272
= fra
.me
.REG
[7];
11101 register_static_object(&once_value_272
);
11102 } else fra
.me
.REG
[7] = once_value_272
;
11103 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11105 REGB1
= TAG_Int(0);
11106 /* ../lib/standard/collection/array.nit:279 */
11107 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11108 /* ../lib/standard/collection/array.nit:281 */
11109 REGB2
= TAG_Int(0);
11110 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11111 if (UNTAG_Bool(REGB0
)) {
11113 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11115 /* ../lib/standard/kernel.nit:243 */
11116 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11117 /* ../lib/standard/collection/array.nit:281 */
11118 if (UNTAG_Bool(REGB2
)) {
11119 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11120 if (UNTAG_Bool(REGB2
)) {
11122 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11124 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11125 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11126 if (UNTAG_Bool(REGB0
)) {
11128 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11130 /* ../lib/standard/kernel.nit:242 */
11131 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11133 /* ../lib/standard/collection/array.nit:281 */
11134 REGB0
= TAG_Bool(0);
11137 if (UNTAG_Bool(REGB2
)) {
11139 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11141 /* ../lib/standard/collection/array.nit:282 */
11142 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11143 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11144 if (UNTAG_Bool(REGB2
)) {
11145 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11147 /* ../lib/standard/collection/array.nit:725 */
11148 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11149 /* ../lib/standard/collection/array.nit:282 */
11151 label273
: while(0);
11152 /* compiling/compiling_icode.nit:822 */
11153 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11154 if (!once_value_274
) {
11155 fra
.me
.REG
[7] = BOX_NativeString(")%UNTAG_Char(");
11156 REGB1
= TAG_Int(13);
11157 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11158 once_value_274
= fra
.me
.REG
[7];
11159 register_static_object(&once_value_274
);
11160 } else fra
.me
.REG
[7] = once_value_274
;
11161 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11163 REGB1
= TAG_Int(1);
11164 /* ../lib/standard/collection/array.nit:279 */
11165 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11166 /* ../lib/standard/collection/array.nit:281 */
11167 REGB2
= TAG_Int(0);
11168 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11169 if (UNTAG_Bool(REGB0
)) {
11171 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11173 /* ../lib/standard/kernel.nit:243 */
11174 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11175 /* ../lib/standard/collection/array.nit:281 */
11176 if (UNTAG_Bool(REGB2
)) {
11177 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11178 if (UNTAG_Bool(REGB2
)) {
11180 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11182 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11183 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11184 if (UNTAG_Bool(REGB0
)) {
11186 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11188 /* ../lib/standard/kernel.nit:242 */
11189 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11191 /* ../lib/standard/collection/array.nit:281 */
11192 REGB0
= TAG_Bool(0);
11195 if (UNTAG_Bool(REGB2
)) {
11197 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11199 /* ../lib/standard/collection/array.nit:282 */
11200 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11201 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11202 if (UNTAG_Bool(REGB2
)) {
11203 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11205 /* ../lib/standard/collection/array.nit:725 */
11206 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11207 /* ../lib/standard/collection/array.nit:282 */
11209 label275
: while(0);
11210 /* compiling/compiling_icode.nit:822 */
11211 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11212 if (!once_value_276
) {
11213 fra
.me
.REG
[7] = BOX_NativeString("))");
11214 REGB1
= TAG_Int(2);
11215 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11216 once_value_276
= fra
.me
.REG
[7];
11217 register_static_object(&once_value_276
);
11218 } else fra
.me
.REG
[7] = once_value_276
;
11219 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11220 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11221 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11222 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11224 /* compiling/compiling_icode.nit:823 */
11225 if (!once_value_277
) {
11226 if (!once_value_278
) {
11227 fra
.me
.REG
[6] = BOX_NativeString("<");
11228 REGB1
= TAG_Int(1);
11229 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
11230 once_value_278
= fra
.me
.REG
[6];
11231 register_static_object(&once_value_278
);
11232 } else fra
.me
.REG
[6] = once_value_278
;
11233 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11234 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11235 once_value_277
= fra
.me
.REG
[6];
11236 register_static_object(&once_value_277
);
11237 } else fra
.me
.REG
[6] = once_value_277
;
11238 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11239 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11240 if (UNTAG_Bool(REGB1
)) {
11242 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11245 if (UNTAG_Bool(REGB1
)) {
11246 /* compiling/compiling_icode.nit:824 */
11247 REGB1
= TAG_Int(5);
11248 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11249 if (!once_value_279
) {
11250 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11251 REGB1
= TAG_Int(20);
11252 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11253 once_value_279
= fra
.me
.REG
[7];
11254 register_static_object(&once_value_279
);
11255 } else fra
.me
.REG
[7] = once_value_279
;
11256 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11258 REGB1
= TAG_Int(0);
11259 /* ../lib/standard/collection/array.nit:279 */
11260 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11261 /* ../lib/standard/collection/array.nit:281 */
11262 REGB2
= TAG_Int(0);
11263 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11264 if (UNTAG_Bool(REGB0
)) {
11266 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11268 /* ../lib/standard/kernel.nit:243 */
11269 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11270 /* ../lib/standard/collection/array.nit:281 */
11271 if (UNTAG_Bool(REGB2
)) {
11272 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11273 if (UNTAG_Bool(REGB2
)) {
11275 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11277 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11278 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11279 if (UNTAG_Bool(REGB0
)) {
11281 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11283 /* ../lib/standard/kernel.nit:242 */
11284 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11286 /* ../lib/standard/collection/array.nit:281 */
11287 REGB0
= TAG_Bool(0);
11290 if (UNTAG_Bool(REGB2
)) {
11292 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11294 /* ../lib/standard/collection/array.nit:282 */
11295 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11296 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11297 if (UNTAG_Bool(REGB2
)) {
11298 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11300 /* ../lib/standard/collection/array.nit:725 */
11301 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11302 /* ../lib/standard/collection/array.nit:282 */
11304 label280
: while(0);
11305 /* compiling/compiling_icode.nit:824 */
11306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11307 if (!once_value_281
) {
11308 fra
.me
.REG
[7] = BOX_NativeString(")<UNTAG_Char(");
11309 REGB1
= TAG_Int(13);
11310 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11311 once_value_281
= fra
.me
.REG
[7];
11312 register_static_object(&once_value_281
);
11313 } else fra
.me
.REG
[7] = once_value_281
;
11314 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11315 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11316 REGB1
= TAG_Int(1);
11317 /* ../lib/standard/collection/array.nit:279 */
11318 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11319 /* ../lib/standard/collection/array.nit:281 */
11320 REGB2
= TAG_Int(0);
11321 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11322 if (UNTAG_Bool(REGB0
)) {
11324 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11326 /* ../lib/standard/kernel.nit:243 */
11327 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11328 /* ../lib/standard/collection/array.nit:281 */
11329 if (UNTAG_Bool(REGB2
)) {
11330 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11331 if (UNTAG_Bool(REGB2
)) {
11333 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11335 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11336 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11337 if (UNTAG_Bool(REGB0
)) {
11339 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11341 /* ../lib/standard/kernel.nit:242 */
11342 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11344 /* ../lib/standard/collection/array.nit:281 */
11345 REGB0
= TAG_Bool(0);
11348 if (UNTAG_Bool(REGB2
)) {
11350 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11352 /* ../lib/standard/collection/array.nit:282 */
11353 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11354 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11355 if (UNTAG_Bool(REGB2
)) {
11356 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11358 /* ../lib/standard/collection/array.nit:725 */
11359 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11360 /* ../lib/standard/collection/array.nit:282 */
11362 label282
: while(0);
11363 /* compiling/compiling_icode.nit:824 */
11364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11365 if (!once_value_283
) {
11366 fra
.me
.REG
[7] = BOX_NativeString("))");
11367 REGB1
= TAG_Int(2);
11368 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11369 once_value_283
= fra
.me
.REG
[7];
11370 register_static_object(&once_value_283
);
11371 } else fra
.me
.REG
[7] = once_value_283
;
11372 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11373 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11374 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11375 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11377 /* compiling/compiling_icode.nit:825 */
11378 if (!once_value_284
) {
11379 if (!once_value_285
) {
11380 fra
.me
.REG
[6] = BOX_NativeString(">");
11381 REGB1
= TAG_Int(1);
11382 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
11383 once_value_285
= fra
.me
.REG
[6];
11384 register_static_object(&once_value_285
);
11385 } else fra
.me
.REG
[6] = once_value_285
;
11386 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11387 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11388 once_value_284
= fra
.me
.REG
[6];
11389 register_static_object(&once_value_284
);
11390 } else fra
.me
.REG
[6] = once_value_284
;
11391 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11392 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11393 if (UNTAG_Bool(REGB1
)) {
11395 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11398 if (UNTAG_Bool(REGB1
)) {
11399 /* compiling/compiling_icode.nit:826 */
11400 REGB1
= TAG_Int(5);
11401 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11402 if (!once_value_286
) {
11403 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11404 REGB1
= TAG_Int(20);
11405 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11406 once_value_286
= fra
.me
.REG
[7];
11407 register_static_object(&once_value_286
);
11408 } else fra
.me
.REG
[7] = once_value_286
;
11409 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11411 REGB1
= TAG_Int(0);
11412 /* ../lib/standard/collection/array.nit:279 */
11413 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11414 /* ../lib/standard/collection/array.nit:281 */
11415 REGB2
= TAG_Int(0);
11416 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11417 if (UNTAG_Bool(REGB0
)) {
11419 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11421 /* ../lib/standard/kernel.nit:243 */
11422 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11423 /* ../lib/standard/collection/array.nit:281 */
11424 if (UNTAG_Bool(REGB2
)) {
11425 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11426 if (UNTAG_Bool(REGB2
)) {
11428 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11430 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11431 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11432 if (UNTAG_Bool(REGB0
)) {
11434 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11436 /* ../lib/standard/kernel.nit:242 */
11437 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11439 /* ../lib/standard/collection/array.nit:281 */
11440 REGB0
= TAG_Bool(0);
11443 if (UNTAG_Bool(REGB2
)) {
11445 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11447 /* ../lib/standard/collection/array.nit:282 */
11448 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11449 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11450 if (UNTAG_Bool(REGB2
)) {
11451 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11453 /* ../lib/standard/collection/array.nit:725 */
11454 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11455 /* ../lib/standard/collection/array.nit:282 */
11457 label287
: while(0);
11458 /* compiling/compiling_icode.nit:826 */
11459 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11460 if (!once_value_288
) {
11461 fra
.me
.REG
[7] = BOX_NativeString(")>UNTAG_Char(");
11462 REGB1
= TAG_Int(13);
11463 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11464 once_value_288
= fra
.me
.REG
[7];
11465 register_static_object(&once_value_288
);
11466 } else fra
.me
.REG
[7] = once_value_288
;
11467 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11468 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11469 REGB1
= TAG_Int(1);
11470 /* ../lib/standard/collection/array.nit:279 */
11471 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11472 /* ../lib/standard/collection/array.nit:281 */
11473 REGB2
= TAG_Int(0);
11474 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11475 if (UNTAG_Bool(REGB0
)) {
11477 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11479 /* ../lib/standard/kernel.nit:243 */
11480 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11481 /* ../lib/standard/collection/array.nit:281 */
11482 if (UNTAG_Bool(REGB2
)) {
11483 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11484 if (UNTAG_Bool(REGB2
)) {
11486 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11488 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11489 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11490 if (UNTAG_Bool(REGB0
)) {
11492 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11494 /* ../lib/standard/kernel.nit:242 */
11495 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11497 /* ../lib/standard/collection/array.nit:281 */
11498 REGB0
= TAG_Bool(0);
11501 if (UNTAG_Bool(REGB2
)) {
11503 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11505 /* ../lib/standard/collection/array.nit:282 */
11506 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11507 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11508 if (UNTAG_Bool(REGB2
)) {
11509 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11511 /* ../lib/standard/collection/array.nit:725 */
11512 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11513 /* ../lib/standard/collection/array.nit:282 */
11515 label289
: while(0);
11516 /* compiling/compiling_icode.nit:826 */
11517 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11518 if (!once_value_290
) {
11519 fra
.me
.REG
[7] = BOX_NativeString("))");
11520 REGB1
= TAG_Int(2);
11521 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11522 once_value_290
= fra
.me
.REG
[7];
11523 register_static_object(&once_value_290
);
11524 } else fra
.me
.REG
[7] = once_value_290
;
11525 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11527 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11528 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11530 /* compiling/compiling_icode.nit:827 */
11531 if (!once_value_291
) {
11532 if (!once_value_292
) {
11533 fra
.me
.REG
[6] = BOX_NativeString("<=");
11534 REGB1
= TAG_Int(2);
11535 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
11536 once_value_292
= fra
.me
.REG
[6];
11537 register_static_object(&once_value_292
);
11538 } else fra
.me
.REG
[6] = once_value_292
;
11539 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11540 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11541 once_value_291
= fra
.me
.REG
[6];
11542 register_static_object(&once_value_291
);
11543 } else fra
.me
.REG
[6] = once_value_291
;
11544 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11545 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11546 if (UNTAG_Bool(REGB1
)) {
11548 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11551 if (UNTAG_Bool(REGB1
)) {
11552 /* compiling/compiling_icode.nit:828 */
11553 REGB1
= TAG_Int(5);
11554 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11555 if (!once_value_293
) {
11556 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11557 REGB1
= TAG_Int(20);
11558 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11559 once_value_293
= fra
.me
.REG
[7];
11560 register_static_object(&once_value_293
);
11561 } else fra
.me
.REG
[7] = once_value_293
;
11562 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11563 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11564 REGB1
= TAG_Int(0);
11565 /* ../lib/standard/collection/array.nit:279 */
11566 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11567 /* ../lib/standard/collection/array.nit:281 */
11568 REGB2
= TAG_Int(0);
11569 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11570 if (UNTAG_Bool(REGB0
)) {
11572 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11574 /* ../lib/standard/kernel.nit:243 */
11575 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11576 /* ../lib/standard/collection/array.nit:281 */
11577 if (UNTAG_Bool(REGB2
)) {
11578 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11579 if (UNTAG_Bool(REGB2
)) {
11581 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11583 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11584 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11585 if (UNTAG_Bool(REGB0
)) {
11587 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11589 /* ../lib/standard/kernel.nit:242 */
11590 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11592 /* ../lib/standard/collection/array.nit:281 */
11593 REGB0
= TAG_Bool(0);
11596 if (UNTAG_Bool(REGB2
)) {
11598 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11600 /* ../lib/standard/collection/array.nit:282 */
11601 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11602 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11603 if (UNTAG_Bool(REGB2
)) {
11604 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11606 /* ../lib/standard/collection/array.nit:725 */
11607 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11608 /* ../lib/standard/collection/array.nit:282 */
11610 label294
: while(0);
11611 /* compiling/compiling_icode.nit:828 */
11612 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11613 if (!once_value_295
) {
11614 fra
.me
.REG
[7] = BOX_NativeString(")<=UNTAG_Char(");
11615 REGB1
= TAG_Int(14);
11616 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11617 once_value_295
= fra
.me
.REG
[7];
11618 register_static_object(&once_value_295
);
11619 } else fra
.me
.REG
[7] = once_value_295
;
11620 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11622 REGB1
= TAG_Int(1);
11623 /* ../lib/standard/collection/array.nit:279 */
11624 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11625 /* ../lib/standard/collection/array.nit:281 */
11626 REGB2
= TAG_Int(0);
11627 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11628 if (UNTAG_Bool(REGB0
)) {
11630 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11632 /* ../lib/standard/kernel.nit:243 */
11633 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11634 /* ../lib/standard/collection/array.nit:281 */
11635 if (UNTAG_Bool(REGB2
)) {
11636 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11637 if (UNTAG_Bool(REGB2
)) {
11639 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11641 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11642 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11643 if (UNTAG_Bool(REGB0
)) {
11645 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11647 /* ../lib/standard/kernel.nit:242 */
11648 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11650 /* ../lib/standard/collection/array.nit:281 */
11651 REGB0
= TAG_Bool(0);
11654 if (UNTAG_Bool(REGB2
)) {
11656 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11658 /* ../lib/standard/collection/array.nit:282 */
11659 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11660 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11661 if (UNTAG_Bool(REGB2
)) {
11662 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11664 /* ../lib/standard/collection/array.nit:725 */
11665 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11666 /* ../lib/standard/collection/array.nit:282 */
11668 label296
: while(0);
11669 /* compiling/compiling_icode.nit:828 */
11670 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11671 if (!once_value_297
) {
11672 fra
.me
.REG
[7] = BOX_NativeString("))");
11673 REGB1
= TAG_Int(2);
11674 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11675 once_value_297
= fra
.me
.REG
[7];
11676 register_static_object(&once_value_297
);
11677 } else fra
.me
.REG
[7] = once_value_297
;
11678 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11680 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11681 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11683 /* compiling/compiling_icode.nit:829 */
11684 if (!once_value_298
) {
11685 if (!once_value_299
) {
11686 fra
.me
.REG
[6] = BOX_NativeString(">=");
11687 REGB1
= TAG_Int(2);
11688 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
11689 once_value_299
= fra
.me
.REG
[6];
11690 register_static_object(&once_value_299
);
11691 } else fra
.me
.REG
[6] = once_value_299
;
11692 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11693 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11694 once_value_298
= fra
.me
.REG
[6];
11695 register_static_object(&once_value_298
);
11696 } else fra
.me
.REG
[6] = once_value_298
;
11697 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11698 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11699 if (UNTAG_Bool(REGB1
)) {
11701 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11704 if (UNTAG_Bool(REGB1
)) {
11705 /* compiling/compiling_icode.nit:830 */
11706 REGB1
= TAG_Int(5);
11707 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11708 if (!once_value_300
) {
11709 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Char(");
11710 REGB1
= TAG_Int(20);
11711 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11712 once_value_300
= fra
.me
.REG
[7];
11713 register_static_object(&once_value_300
);
11714 } else fra
.me
.REG
[7] = once_value_300
;
11715 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11717 REGB1
= TAG_Int(0);
11718 /* ../lib/standard/collection/array.nit:279 */
11719 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11720 /* ../lib/standard/collection/array.nit:281 */
11721 REGB2
= TAG_Int(0);
11722 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11723 if (UNTAG_Bool(REGB0
)) {
11725 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11727 /* ../lib/standard/kernel.nit:243 */
11728 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11729 /* ../lib/standard/collection/array.nit:281 */
11730 if (UNTAG_Bool(REGB2
)) {
11731 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11732 if (UNTAG_Bool(REGB2
)) {
11734 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11736 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11737 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11738 if (UNTAG_Bool(REGB0
)) {
11740 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11742 /* ../lib/standard/kernel.nit:242 */
11743 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11745 /* ../lib/standard/collection/array.nit:281 */
11746 REGB0
= TAG_Bool(0);
11749 if (UNTAG_Bool(REGB2
)) {
11751 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11753 /* ../lib/standard/collection/array.nit:282 */
11754 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11755 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11756 if (UNTAG_Bool(REGB2
)) {
11757 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11759 /* ../lib/standard/collection/array.nit:725 */
11760 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11761 /* ../lib/standard/collection/array.nit:282 */
11763 label301
: while(0);
11764 /* compiling/compiling_icode.nit:830 */
11765 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11766 if (!once_value_302
) {
11767 fra
.me
.REG
[7] = BOX_NativeString(")>=UNTAG_Char(");
11768 REGB1
= TAG_Int(14);
11769 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11770 once_value_302
= fra
.me
.REG
[7];
11771 register_static_object(&once_value_302
);
11772 } else fra
.me
.REG
[7] = once_value_302
;
11773 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11774 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11775 REGB1
= TAG_Int(1);
11776 /* ../lib/standard/collection/array.nit:279 */
11777 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11778 /* ../lib/standard/collection/array.nit:281 */
11779 REGB2
= TAG_Int(0);
11780 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11781 if (UNTAG_Bool(REGB0
)) {
11783 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11785 /* ../lib/standard/kernel.nit:243 */
11786 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11787 /* ../lib/standard/collection/array.nit:281 */
11788 if (UNTAG_Bool(REGB2
)) {
11789 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11790 if (UNTAG_Bool(REGB2
)) {
11792 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11794 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11795 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11796 if (UNTAG_Bool(REGB0
)) {
11798 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11800 /* ../lib/standard/kernel.nit:242 */
11801 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11803 /* ../lib/standard/collection/array.nit:281 */
11804 REGB0
= TAG_Bool(0);
11807 if (UNTAG_Bool(REGB2
)) {
11809 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11811 /* ../lib/standard/collection/array.nit:282 */
11812 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11813 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11814 if (UNTAG_Bool(REGB2
)) {
11815 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11817 /* ../lib/standard/collection/array.nit:725 */
11818 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11819 /* ../lib/standard/collection/array.nit:282 */
11821 label303
: while(0);
11822 /* compiling/compiling_icode.nit:830 */
11823 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11824 if (!once_value_304
) {
11825 fra
.me
.REG
[7] = BOX_NativeString("))");
11826 REGB1
= TAG_Int(2);
11827 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11828 once_value_304
= fra
.me
.REG
[7];
11829 register_static_object(&once_value_304
);
11830 } else fra
.me
.REG
[7] = once_value_304
;
11831 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11833 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11834 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11836 /* compiling/compiling_icode.nit:831 */
11837 if (!once_value_305
) {
11838 if (!once_value_306
) {
11839 fra
.me
.REG
[6] = BOX_NativeString("==");
11840 REGB1
= TAG_Int(2);
11841 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
11842 once_value_306
= fra
.me
.REG
[6];
11843 register_static_object(&once_value_306
);
11844 } else fra
.me
.REG
[6] = once_value_306
;
11845 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11846 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11847 once_value_305
= fra
.me
.REG
[6];
11848 register_static_object(&once_value_305
);
11849 } else fra
.me
.REG
[6] = once_value_305
;
11850 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11851 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
11852 if (UNTAG_Bool(REGB1
)) {
11854 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
11857 if (UNTAG_Bool(REGB1
)) {
11858 /* compiling/compiling_icode.nit:832 */
11859 REGB1
= TAG_Int(5);
11860 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
11861 if (!once_value_307
) {
11862 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
11863 REGB1
= TAG_Int(10);
11864 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11865 once_value_307
= fra
.me
.REG
[7];
11866 register_static_object(&once_value_307
);
11867 } else fra
.me
.REG
[7] = once_value_307
;
11868 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11870 REGB1
= TAG_Int(0);
11871 /* ../lib/standard/collection/array.nit:279 */
11872 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11873 /* ../lib/standard/collection/array.nit:281 */
11874 REGB2
= TAG_Int(0);
11875 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11876 if (UNTAG_Bool(REGB0
)) {
11878 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11880 /* ../lib/standard/kernel.nit:243 */
11881 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11882 /* ../lib/standard/collection/array.nit:281 */
11883 if (UNTAG_Bool(REGB2
)) {
11884 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11885 if (UNTAG_Bool(REGB2
)) {
11887 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11889 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11890 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11891 if (UNTAG_Bool(REGB0
)) {
11893 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11895 /* ../lib/standard/kernel.nit:242 */
11896 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11898 /* ../lib/standard/collection/array.nit:281 */
11899 REGB0
= TAG_Bool(0);
11902 if (UNTAG_Bool(REGB2
)) {
11904 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11906 /* ../lib/standard/collection/array.nit:282 */
11907 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11908 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11909 if (UNTAG_Bool(REGB2
)) {
11910 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11912 /* ../lib/standard/collection/array.nit:725 */
11913 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11914 /* ../lib/standard/collection/array.nit:282 */
11916 label308
: while(0);
11917 /* compiling/compiling_icode.nit:832 */
11918 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11919 if (!once_value_309
) {
11920 fra
.me
.REG
[7] = BOX_NativeString(")==(");
11921 REGB1
= TAG_Int(4);
11922 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11923 once_value_309
= fra
.me
.REG
[7];
11924 register_static_object(&once_value_309
);
11925 } else fra
.me
.REG
[7] = once_value_309
;
11926 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11928 REGB1
= TAG_Int(1);
11929 /* ../lib/standard/collection/array.nit:279 */
11930 fra
.me
.REG
[7] = fra
.me
.REG
[4];
11931 /* ../lib/standard/collection/array.nit:281 */
11932 REGB2
= TAG_Int(0);
11933 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11934 if (UNTAG_Bool(REGB0
)) {
11936 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11938 /* ../lib/standard/kernel.nit:243 */
11939 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
11940 /* ../lib/standard/collection/array.nit:281 */
11941 if (UNTAG_Bool(REGB2
)) {
11942 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
11943 if (UNTAG_Bool(REGB2
)) {
11945 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
11947 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
11948 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
11949 if (UNTAG_Bool(REGB0
)) {
11951 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
11953 /* ../lib/standard/kernel.nit:242 */
11954 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
11956 /* ../lib/standard/collection/array.nit:281 */
11957 REGB0
= TAG_Bool(0);
11960 if (UNTAG_Bool(REGB2
)) {
11962 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
11964 /* ../lib/standard/collection/array.nit:282 */
11965 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
11966 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
11967 if (UNTAG_Bool(REGB2
)) {
11968 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
11970 /* ../lib/standard/collection/array.nit:725 */
11971 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
11972 /* ../lib/standard/collection/array.nit:282 */
11974 label310
: while(0);
11975 /* compiling/compiling_icode.nit:832 */
11976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11977 if (!once_value_311
) {
11978 fra
.me
.REG
[7] = BOX_NativeString("))");
11979 REGB1
= TAG_Int(2);
11980 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
11981 once_value_311
= fra
.me
.REG
[7];
11982 register_static_object(&once_value_311
);
11983 } else fra
.me
.REG
[7] = once_value_311
;
11984 fra
.me
.REG
[7] = fra
.me
.REG
[7];
11985 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
11986 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
11987 fra
.me
.REG
[5] = fra
.me
.REG
[6];
11989 /* compiling/compiling_icode.nit:833 */
11990 if (!once_value_312
) {
11991 if (!once_value_313
) {
11992 fra
.me
.REG
[6] = BOX_NativeString("!=");
11993 REGB1
= TAG_Int(2);
11994 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
11995 once_value_313
= fra
.me
.REG
[6];
11996 register_static_object(&once_value_313
);
11997 } else fra
.me
.REG
[6] = once_value_313
;
11998 fra
.me
.REG
[6] = fra
.me
.REG
[6];
11999 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12000 once_value_312
= fra
.me
.REG
[6];
12001 register_static_object(&once_value_312
);
12002 } else fra
.me
.REG
[6] = once_value_312
;
12003 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12004 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12005 if (UNTAG_Bool(REGB1
)) {
12007 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12010 if (UNTAG_Bool(REGB1
)) {
12011 /* compiling/compiling_icode.nit:834 */
12012 REGB1
= TAG_Int(5);
12013 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12014 if (!once_value_314
) {
12015 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12016 REGB1
= TAG_Int(10);
12017 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12018 once_value_314
= fra
.me
.REG
[7];
12019 register_static_object(&once_value_314
);
12020 } else fra
.me
.REG
[7] = once_value_314
;
12021 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12023 REGB1
= TAG_Int(0);
12024 /* ../lib/standard/collection/array.nit:279 */
12025 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12026 /* ../lib/standard/collection/array.nit:281 */
12027 REGB2
= TAG_Int(0);
12028 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12029 if (UNTAG_Bool(REGB0
)) {
12031 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12033 /* ../lib/standard/kernel.nit:243 */
12034 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12035 /* ../lib/standard/collection/array.nit:281 */
12036 if (UNTAG_Bool(REGB2
)) {
12037 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12038 if (UNTAG_Bool(REGB2
)) {
12040 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12042 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12043 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12044 if (UNTAG_Bool(REGB0
)) {
12046 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12048 /* ../lib/standard/kernel.nit:242 */
12049 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12051 /* ../lib/standard/collection/array.nit:281 */
12052 REGB0
= TAG_Bool(0);
12055 if (UNTAG_Bool(REGB2
)) {
12057 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12059 /* ../lib/standard/collection/array.nit:282 */
12060 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12061 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12062 if (UNTAG_Bool(REGB2
)) {
12063 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12065 /* ../lib/standard/collection/array.nit:725 */
12066 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12067 /* ../lib/standard/collection/array.nit:282 */
12069 label315
: while(0);
12070 /* compiling/compiling_icode.nit:834 */
12071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12072 if (!once_value_316
) {
12073 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
12074 REGB1
= TAG_Int(4);
12075 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12076 once_value_316
= fra
.me
.REG
[7];
12077 register_static_object(&once_value_316
);
12078 } else fra
.me
.REG
[7] = once_value_316
;
12079 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12080 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12081 REGB1
= TAG_Int(1);
12082 /* ../lib/standard/collection/array.nit:279 */
12083 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12084 /* ../lib/standard/collection/array.nit:281 */
12085 REGB2
= TAG_Int(0);
12086 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12087 if (UNTAG_Bool(REGB0
)) {
12089 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12091 /* ../lib/standard/kernel.nit:243 */
12092 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12093 /* ../lib/standard/collection/array.nit:281 */
12094 if (UNTAG_Bool(REGB2
)) {
12095 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12096 if (UNTAG_Bool(REGB2
)) {
12098 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12100 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12101 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12102 if (UNTAG_Bool(REGB0
)) {
12104 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12106 /* ../lib/standard/kernel.nit:242 */
12107 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12109 /* ../lib/standard/collection/array.nit:281 */
12110 REGB0
= TAG_Bool(0);
12113 if (UNTAG_Bool(REGB2
)) {
12115 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12117 /* ../lib/standard/collection/array.nit:282 */
12118 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12119 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12120 if (UNTAG_Bool(REGB2
)) {
12121 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12123 /* ../lib/standard/collection/array.nit:725 */
12124 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12125 /* ../lib/standard/collection/array.nit:282 */
12127 label317
: while(0);
12128 /* compiling/compiling_icode.nit:834 */
12129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12130 if (!once_value_318
) {
12131 fra
.me
.REG
[7] = BOX_NativeString("))");
12132 REGB1
= TAG_Int(2);
12133 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12134 once_value_318
= fra
.me
.REG
[7];
12135 register_static_object(&once_value_318
);
12136 } else fra
.me
.REG
[7] = once_value_318
;
12137 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12138 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12139 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12140 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12160 /* compiling/compiling_icode.nit:836 */
12161 if (!once_value_319
) {
12162 if (!once_value_320
) {
12163 fra
.me
.REG
[6] = BOX_NativeString("Bool");
12164 REGB1
= TAG_Int(4);
12165 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12166 once_value_320
= fra
.me
.REG
[6];
12167 register_static_object(&once_value_320
);
12168 } else fra
.me
.REG
[6] = once_value_320
;
12169 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12170 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12171 once_value_319
= fra
.me
.REG
[6];
12172 register_static_object(&once_value_319
);
12173 } else fra
.me
.REG
[6] = once_value_319
;
12174 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12175 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12176 if (UNTAG_Bool(REGB1
)) {
12178 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12181 if (UNTAG_Bool(REGB1
)) {
12182 /* compiling/compiling_icode.nit:837 */
12183 if (!once_value_321
) {
12184 if (!once_value_322
) {
12185 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12186 REGB1
= TAG_Int(9);
12187 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12188 once_value_322
= fra
.me
.REG
[6];
12189 register_static_object(&once_value_322
);
12190 } else fra
.me
.REG
[6] = once_value_322
;
12191 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12192 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12193 once_value_321
= fra
.me
.REG
[6];
12194 register_static_object(&once_value_321
);
12195 } else fra
.me
.REG
[6] = once_value_321
;
12196 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12197 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12198 if (UNTAG_Bool(REGB1
)) {
12200 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12203 if (UNTAG_Bool(REGB1
)) {
12204 /* compiling/compiling_icode.nit:838 */
12205 REGB1
= TAG_Int(3);
12206 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12207 if (!once_value_323
) {
12208 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
12209 REGB1
= TAG_Int(19);
12210 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12211 once_value_323
= fra
.me
.REG
[7];
12212 register_static_object(&once_value_323
);
12213 } else fra
.me
.REG
[7] = once_value_323
;
12214 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12215 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12216 REGB1
= TAG_Int(0);
12217 /* ../lib/standard/collection/array.nit:279 */
12218 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12219 /* ../lib/standard/collection/array.nit:281 */
12220 REGB2
= TAG_Int(0);
12221 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12222 if (UNTAG_Bool(REGB0
)) {
12224 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12226 /* ../lib/standard/kernel.nit:243 */
12227 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12228 /* ../lib/standard/collection/array.nit:281 */
12229 if (UNTAG_Bool(REGB2
)) {
12230 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12231 if (UNTAG_Bool(REGB2
)) {
12233 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12235 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12236 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12237 if (UNTAG_Bool(REGB0
)) {
12239 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12241 /* ../lib/standard/kernel.nit:242 */
12242 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12244 /* ../lib/standard/collection/array.nit:281 */
12245 REGB0
= TAG_Bool(0);
12248 if (UNTAG_Bool(REGB2
)) {
12250 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12252 /* ../lib/standard/collection/array.nit:282 */
12253 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12254 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12255 if (UNTAG_Bool(REGB2
)) {
12256 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12258 /* ../lib/standard/collection/array.nit:725 */
12259 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12260 /* ../lib/standard/collection/array.nit:282 */
12262 label324
: while(0);
12263 /* compiling/compiling_icode.nit:838 */
12264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12265 if (!once_value_325
) {
12266 fra
.me
.REG
[7] = BOX_NativeString("))");
12267 REGB1
= TAG_Int(2);
12268 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12269 once_value_325
= fra
.me
.REG
[7];
12270 register_static_object(&once_value_325
);
12271 } else fra
.me
.REG
[7] = once_value_325
;
12272 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12274 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12275 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12277 /* compiling/compiling_icode.nit:839 */
12278 if (!once_value_326
) {
12279 if (!once_value_327
) {
12280 fra
.me
.REG
[6] = BOX_NativeString("unary -");
12281 REGB1
= TAG_Int(7);
12282 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12283 once_value_327
= fra
.me
.REG
[6];
12284 register_static_object(&once_value_327
);
12285 } else fra
.me
.REG
[6] = once_value_327
;
12286 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12287 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12288 once_value_326
= fra
.me
.REG
[6];
12289 register_static_object(&once_value_326
);
12290 } else fra
.me
.REG
[6] = once_value_326
;
12291 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12292 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12293 if (UNTAG_Bool(REGB1
)) {
12295 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12298 if (UNTAG_Bool(REGB1
)) {
12299 /* compiling/compiling_icode.nit:840 */
12300 REGB1
= TAG_Int(3);
12301 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12302 if (!once_value_328
) {
12303 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(-UNTAG_Bool(");
12304 REGB1
= TAG_Int(21);
12305 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12306 once_value_328
= fra
.me
.REG
[7];
12307 register_static_object(&once_value_328
);
12308 } else fra
.me
.REG
[7] = once_value_328
;
12309 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12310 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12311 REGB1
= TAG_Int(0);
12312 /* ../lib/standard/collection/array.nit:279 */
12313 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12314 /* ../lib/standard/collection/array.nit:281 */
12315 REGB2
= TAG_Int(0);
12316 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12317 if (UNTAG_Bool(REGB0
)) {
12319 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12321 /* ../lib/standard/kernel.nit:243 */
12322 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12323 /* ../lib/standard/collection/array.nit:281 */
12324 if (UNTAG_Bool(REGB2
)) {
12325 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12326 if (UNTAG_Bool(REGB2
)) {
12328 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12330 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12331 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12332 if (UNTAG_Bool(REGB0
)) {
12334 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12336 /* ../lib/standard/kernel.nit:242 */
12337 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12339 /* ../lib/standard/collection/array.nit:281 */
12340 REGB0
= TAG_Bool(0);
12343 if (UNTAG_Bool(REGB2
)) {
12345 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12347 /* ../lib/standard/collection/array.nit:282 */
12348 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12349 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12350 if (UNTAG_Bool(REGB2
)) {
12351 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12353 /* ../lib/standard/collection/array.nit:725 */
12354 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12355 /* ../lib/standard/collection/array.nit:282 */
12357 label329
: while(0);
12358 /* compiling/compiling_icode.nit:840 */
12359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12360 if (!once_value_330
) {
12361 fra
.me
.REG
[7] = BOX_NativeString("))");
12362 REGB1
= TAG_Int(2);
12363 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12364 once_value_330
= fra
.me
.REG
[7];
12365 register_static_object(&once_value_330
);
12366 } else fra
.me
.REG
[7] = once_value_330
;
12367 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12368 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12369 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12370 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12372 /* compiling/compiling_icode.nit:841 */
12373 if (!once_value_331
) {
12374 if (!once_value_332
) {
12375 fra
.me
.REG
[6] = BOX_NativeString("output");
12376 REGB1
= TAG_Int(6);
12377 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12378 once_value_332
= fra
.me
.REG
[6];
12379 register_static_object(&once_value_332
);
12380 } else fra
.me
.REG
[6] = once_value_332
;
12381 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12382 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12383 once_value_331
= fra
.me
.REG
[6];
12384 register_static_object(&once_value_331
);
12385 } else fra
.me
.REG
[6] = once_value_331
;
12386 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12387 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12388 if (UNTAG_Bool(REGB1
)) {
12390 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12393 if (UNTAG_Bool(REGB1
)) {
12394 /* compiling/compiling_icode.nit:842 */
12395 REGB1
= TAG_Int(3);
12396 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12397 if (!once_value_333
) {
12398 fra
.me
.REG
[7] = BOX_NativeString("(void)printf(UNTAG_Bool(");
12399 REGB1
= TAG_Int(24);
12400 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12401 once_value_333
= fra
.me
.REG
[7];
12402 register_static_object(&once_value_333
);
12403 } else fra
.me
.REG
[7] = once_value_333
;
12404 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12405 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12406 REGB1
= TAG_Int(0);
12407 /* ../lib/standard/collection/array.nit:279 */
12408 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12409 /* ../lib/standard/collection/array.nit:281 */
12410 REGB2
= TAG_Int(0);
12411 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12412 if (UNTAG_Bool(REGB0
)) {
12414 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12416 /* ../lib/standard/kernel.nit:243 */
12417 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12418 /* ../lib/standard/collection/array.nit:281 */
12419 if (UNTAG_Bool(REGB2
)) {
12420 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12421 if (UNTAG_Bool(REGB2
)) {
12423 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12425 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12426 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12427 if (UNTAG_Bool(REGB0
)) {
12429 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12431 /* ../lib/standard/kernel.nit:242 */
12432 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12434 /* ../lib/standard/collection/array.nit:281 */
12435 REGB0
= TAG_Bool(0);
12438 if (UNTAG_Bool(REGB2
)) {
12440 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12442 /* ../lib/standard/collection/array.nit:282 */
12443 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12444 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12445 if (UNTAG_Bool(REGB2
)) {
12446 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12448 /* ../lib/standard/collection/array.nit:725 */
12449 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12450 /* ../lib/standard/collection/array.nit:282 */
12452 label334
: while(0);
12453 /* compiling/compiling_icode.nit:842 */
12454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12455 if (!once_value_335
) {
12456 fra
.me
.REG
[7] = BOX_NativeString(")?\"true\\n\":\"false\\n\");");
12457 REGB1
= TAG_Int(22);
12458 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12459 once_value_335
= fra
.me
.REG
[7];
12460 register_static_object(&once_value_335
);
12461 } else fra
.me
.REG
[7] = once_value_335
;
12462 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12463 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12464 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12465 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12467 /* compiling/compiling_icode.nit:843 */
12468 if (!once_value_336
) {
12469 if (!once_value_337
) {
12470 fra
.me
.REG
[6] = BOX_NativeString("ascii");
12471 REGB1
= TAG_Int(5);
12472 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12473 once_value_337
= fra
.me
.REG
[6];
12474 register_static_object(&once_value_337
);
12475 } else fra
.me
.REG
[6] = once_value_337
;
12476 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12477 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12478 once_value_336
= fra
.me
.REG
[6];
12479 register_static_object(&once_value_336
);
12480 } else fra
.me
.REG
[6] = once_value_336
;
12481 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12482 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12483 if (UNTAG_Bool(REGB1
)) {
12485 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12488 if (UNTAG_Bool(REGB1
)) {
12489 /* compiling/compiling_icode.nit:844 */
12490 REGB1
= TAG_Int(3);
12491 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12492 if (!once_value_338
) {
12493 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool(UNTAG_Bool(");
12494 REGB1
= TAG_Int(20);
12495 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12496 once_value_338
= fra
.me
.REG
[7];
12497 register_static_object(&once_value_338
);
12498 } else fra
.me
.REG
[7] = once_value_338
;
12499 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12500 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12501 REGB1
= TAG_Int(0);
12502 /* ../lib/standard/collection/array.nit:279 */
12503 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12504 /* ../lib/standard/collection/array.nit:281 */
12505 REGB2
= TAG_Int(0);
12506 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12507 if (UNTAG_Bool(REGB0
)) {
12509 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12511 /* ../lib/standard/kernel.nit:243 */
12512 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12513 /* ../lib/standard/collection/array.nit:281 */
12514 if (UNTAG_Bool(REGB2
)) {
12515 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12516 if (UNTAG_Bool(REGB2
)) {
12518 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12520 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12521 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12522 if (UNTAG_Bool(REGB0
)) {
12524 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12526 /* ../lib/standard/kernel.nit:242 */
12527 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12529 /* ../lib/standard/collection/array.nit:281 */
12530 REGB0
= TAG_Bool(0);
12533 if (UNTAG_Bool(REGB2
)) {
12535 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12537 /* ../lib/standard/collection/array.nit:282 */
12538 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12539 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12540 if (UNTAG_Bool(REGB2
)) {
12541 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12543 /* ../lib/standard/collection/array.nit:725 */
12544 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12545 /* ../lib/standard/collection/array.nit:282 */
12547 label339
: while(0);
12548 /* compiling/compiling_icode.nit:844 */
12549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12550 if (!once_value_340
) {
12551 fra
.me
.REG
[7] = BOX_NativeString("))");
12552 REGB1
= TAG_Int(2);
12553 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12554 once_value_340
= fra
.me
.REG
[7];
12555 register_static_object(&once_value_340
);
12556 } else fra
.me
.REG
[7] = once_value_340
;
12557 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12558 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12559 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12560 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12562 /* compiling/compiling_icode.nit:845 */
12563 if (!once_value_341
) {
12564 if (!once_value_342
) {
12565 fra
.me
.REG
[6] = BOX_NativeString("to_i");
12566 REGB1
= TAG_Int(4);
12567 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12568 once_value_342
= fra
.me
.REG
[6];
12569 register_static_object(&once_value_342
);
12570 } else fra
.me
.REG
[6] = once_value_342
;
12571 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12572 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12573 once_value_341
= fra
.me
.REG
[6];
12574 register_static_object(&once_value_341
);
12575 } else fra
.me
.REG
[6] = once_value_341
;
12576 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12577 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12578 if (UNTAG_Bool(REGB1
)) {
12580 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12583 if (UNTAG_Bool(REGB1
)) {
12584 /* compiling/compiling_icode.nit:846 */
12585 REGB1
= TAG_Int(3);
12586 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12587 if (!once_value_343
) {
12588 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNTAG_Bool(");
12589 REGB1
= TAG_Int(19);
12590 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12591 once_value_343
= fra
.me
.REG
[7];
12592 register_static_object(&once_value_343
);
12593 } else fra
.me
.REG
[7] = once_value_343
;
12594 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12595 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12596 REGB1
= TAG_Int(0);
12597 /* ../lib/standard/collection/array.nit:279 */
12598 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12599 /* ../lib/standard/collection/array.nit:281 */
12600 REGB2
= TAG_Int(0);
12601 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12602 if (UNTAG_Bool(REGB0
)) {
12604 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12606 /* ../lib/standard/kernel.nit:243 */
12607 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12608 /* ../lib/standard/collection/array.nit:281 */
12609 if (UNTAG_Bool(REGB2
)) {
12610 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12611 if (UNTAG_Bool(REGB2
)) {
12613 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12615 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12616 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12617 if (UNTAG_Bool(REGB0
)) {
12619 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12621 /* ../lib/standard/kernel.nit:242 */
12622 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12624 /* ../lib/standard/collection/array.nit:281 */
12625 REGB0
= TAG_Bool(0);
12628 if (UNTAG_Bool(REGB2
)) {
12630 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12632 /* ../lib/standard/collection/array.nit:282 */
12633 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12634 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12635 if (UNTAG_Bool(REGB2
)) {
12636 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12638 /* ../lib/standard/collection/array.nit:725 */
12639 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12640 /* ../lib/standard/collection/array.nit:282 */
12642 label344
: while(0);
12643 /* compiling/compiling_icode.nit:846 */
12644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12645 if (!once_value_345
) {
12646 fra
.me
.REG
[7] = BOX_NativeString("))");
12647 REGB1
= TAG_Int(2);
12648 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12649 once_value_345
= fra
.me
.REG
[7];
12650 register_static_object(&once_value_345
);
12651 } else fra
.me
.REG
[7] = once_value_345
;
12652 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12654 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12655 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12657 /* compiling/compiling_icode.nit:847 */
12658 if (!once_value_346
) {
12659 if (!once_value_347
) {
12660 fra
.me
.REG
[6] = BOX_NativeString("==");
12661 REGB1
= TAG_Int(2);
12662 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12663 once_value_347
= fra
.me
.REG
[6];
12664 register_static_object(&once_value_347
);
12665 } else fra
.me
.REG
[6] = once_value_347
;
12666 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12667 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12668 once_value_346
= fra
.me
.REG
[6];
12669 register_static_object(&once_value_346
);
12670 } else fra
.me
.REG
[6] = once_value_346
;
12671 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12672 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12673 if (UNTAG_Bool(REGB1
)) {
12675 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12678 if (UNTAG_Bool(REGB1
)) {
12679 /* compiling/compiling_icode.nit:848 */
12680 REGB1
= TAG_Int(5);
12681 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12682 if (!once_value_348
) {
12683 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12684 REGB1
= TAG_Int(10);
12685 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12686 once_value_348
= fra
.me
.REG
[7];
12687 register_static_object(&once_value_348
);
12688 } else fra
.me
.REG
[7] = once_value_348
;
12689 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12690 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12691 REGB1
= TAG_Int(0);
12692 /* ../lib/standard/collection/array.nit:279 */
12693 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12694 /* ../lib/standard/collection/array.nit:281 */
12695 REGB2
= TAG_Int(0);
12696 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12697 if (UNTAG_Bool(REGB0
)) {
12699 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12701 /* ../lib/standard/kernel.nit:243 */
12702 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12703 /* ../lib/standard/collection/array.nit:281 */
12704 if (UNTAG_Bool(REGB2
)) {
12705 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12706 if (UNTAG_Bool(REGB2
)) {
12708 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12710 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12711 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12712 if (UNTAG_Bool(REGB0
)) {
12714 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12716 /* ../lib/standard/kernel.nit:242 */
12717 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12719 /* ../lib/standard/collection/array.nit:281 */
12720 REGB0
= TAG_Bool(0);
12723 if (UNTAG_Bool(REGB2
)) {
12725 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12727 /* ../lib/standard/collection/array.nit:282 */
12728 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12729 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12730 if (UNTAG_Bool(REGB2
)) {
12731 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12733 /* ../lib/standard/collection/array.nit:725 */
12734 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12735 /* ../lib/standard/collection/array.nit:282 */
12737 label349
: while(0);
12738 /* compiling/compiling_icode.nit:848 */
12739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12740 if (!once_value_350
) {
12741 fra
.me
.REG
[7] = BOX_NativeString(")==(");
12742 REGB1
= TAG_Int(4);
12743 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12744 once_value_350
= fra
.me
.REG
[7];
12745 register_static_object(&once_value_350
);
12746 } else fra
.me
.REG
[7] = once_value_350
;
12747 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12748 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12749 REGB1
= TAG_Int(1);
12750 /* ../lib/standard/collection/array.nit:279 */
12751 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12752 /* ../lib/standard/collection/array.nit:281 */
12753 REGB2
= TAG_Int(0);
12754 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12755 if (UNTAG_Bool(REGB0
)) {
12757 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12759 /* ../lib/standard/kernel.nit:243 */
12760 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12761 /* ../lib/standard/collection/array.nit:281 */
12762 if (UNTAG_Bool(REGB2
)) {
12763 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12764 if (UNTAG_Bool(REGB2
)) {
12766 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12768 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12769 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12770 if (UNTAG_Bool(REGB0
)) {
12772 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12774 /* ../lib/standard/kernel.nit:242 */
12775 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12777 /* ../lib/standard/collection/array.nit:281 */
12778 REGB0
= TAG_Bool(0);
12781 if (UNTAG_Bool(REGB2
)) {
12783 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12785 /* ../lib/standard/collection/array.nit:282 */
12786 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12787 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12788 if (UNTAG_Bool(REGB2
)) {
12789 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12791 /* ../lib/standard/collection/array.nit:725 */
12792 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12793 /* ../lib/standard/collection/array.nit:282 */
12795 label351
: while(0);
12796 /* compiling/compiling_icode.nit:848 */
12797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12798 if (!once_value_352
) {
12799 fra
.me
.REG
[7] = BOX_NativeString("))");
12800 REGB1
= TAG_Int(2);
12801 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12802 once_value_352
= fra
.me
.REG
[7];
12803 register_static_object(&once_value_352
);
12804 } else fra
.me
.REG
[7] = once_value_352
;
12805 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12807 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12808 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12810 /* compiling/compiling_icode.nit:849 */
12811 if (!once_value_353
) {
12812 if (!once_value_354
) {
12813 fra
.me
.REG
[6] = BOX_NativeString("!=");
12814 REGB1
= TAG_Int(2);
12815 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12816 once_value_354
= fra
.me
.REG
[6];
12817 register_static_object(&once_value_354
);
12818 } else fra
.me
.REG
[6] = once_value_354
;
12819 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12820 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12821 once_value_353
= fra
.me
.REG
[6];
12822 register_static_object(&once_value_353
);
12823 } else fra
.me
.REG
[6] = once_value_353
;
12824 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12825 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
12826 if (UNTAG_Bool(REGB1
)) {
12828 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
12831 if (UNTAG_Bool(REGB1
)) {
12832 /* compiling/compiling_icode.nit:850 */
12833 REGB1
= TAG_Int(5);
12834 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
12835 if (!once_value_355
) {
12836 fra
.me
.REG
[7] = BOX_NativeString("TAG_Bool((");
12837 REGB1
= TAG_Int(10);
12838 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12839 once_value_355
= fra
.me
.REG
[7];
12840 register_static_object(&once_value_355
);
12841 } else fra
.me
.REG
[7] = once_value_355
;
12842 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12843 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12844 REGB1
= TAG_Int(0);
12845 /* ../lib/standard/collection/array.nit:279 */
12846 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12847 /* ../lib/standard/collection/array.nit:281 */
12848 REGB2
= TAG_Int(0);
12849 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12850 if (UNTAG_Bool(REGB0
)) {
12852 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12854 /* ../lib/standard/kernel.nit:243 */
12855 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12856 /* ../lib/standard/collection/array.nit:281 */
12857 if (UNTAG_Bool(REGB2
)) {
12858 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12859 if (UNTAG_Bool(REGB2
)) {
12861 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12863 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12864 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12865 if (UNTAG_Bool(REGB0
)) {
12867 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12869 /* ../lib/standard/kernel.nit:242 */
12870 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12872 /* ../lib/standard/collection/array.nit:281 */
12873 REGB0
= TAG_Bool(0);
12876 if (UNTAG_Bool(REGB2
)) {
12878 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12880 /* ../lib/standard/collection/array.nit:282 */
12881 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12882 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12883 if (UNTAG_Bool(REGB2
)) {
12884 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12886 /* ../lib/standard/collection/array.nit:725 */
12887 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12888 /* ../lib/standard/collection/array.nit:282 */
12890 label356
: while(0);
12891 /* compiling/compiling_icode.nit:850 */
12892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12893 if (!once_value_357
) {
12894 fra
.me
.REG
[7] = BOX_NativeString(")!=(");
12895 REGB1
= TAG_Int(4);
12896 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12897 once_value_357
= fra
.me
.REG
[7];
12898 register_static_object(&once_value_357
);
12899 } else fra
.me
.REG
[7] = once_value_357
;
12900 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12902 REGB1
= TAG_Int(1);
12903 /* ../lib/standard/collection/array.nit:279 */
12904 fra
.me
.REG
[7] = fra
.me
.REG
[4];
12905 /* ../lib/standard/collection/array.nit:281 */
12906 REGB2
= TAG_Int(0);
12907 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12908 if (UNTAG_Bool(REGB0
)) {
12910 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12912 /* ../lib/standard/kernel.nit:243 */
12913 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
12914 /* ../lib/standard/collection/array.nit:281 */
12915 if (UNTAG_Bool(REGB2
)) {
12916 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
12917 if (UNTAG_Bool(REGB2
)) {
12919 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
12921 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
12922 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
12923 if (UNTAG_Bool(REGB0
)) {
12925 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
12927 /* ../lib/standard/kernel.nit:242 */
12928 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
12930 /* ../lib/standard/collection/array.nit:281 */
12931 REGB0
= TAG_Bool(0);
12934 if (UNTAG_Bool(REGB2
)) {
12936 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
12938 /* ../lib/standard/collection/array.nit:282 */
12939 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
12940 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
12941 if (UNTAG_Bool(REGB2
)) {
12942 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
12944 /* ../lib/standard/collection/array.nit:725 */
12945 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
12946 /* ../lib/standard/collection/array.nit:282 */
12948 label358
: while(0);
12949 /* compiling/compiling_icode.nit:850 */
12950 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12951 if (!once_value_359
) {
12952 fra
.me
.REG
[7] = BOX_NativeString("))");
12953 REGB1
= TAG_Int(2);
12954 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
12955 once_value_359
= fra
.me
.REG
[7];
12956 register_static_object(&once_value_359
);
12957 } else fra
.me
.REG
[7] = once_value_359
;
12958 fra
.me
.REG
[7] = fra
.me
.REG
[7];
12959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
12960 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12961 fra
.me
.REG
[5] = fra
.me
.REG
[6];
12970 /* compiling/compiling_icode.nit:852 */
12971 if (!once_value_360
) {
12972 if (!once_value_361
) {
12973 fra
.me
.REG
[6] = BOX_NativeString("NativeArray");
12974 REGB1
= TAG_Int(11);
12975 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12976 once_value_361
= fra
.me
.REG
[6];
12977 register_static_object(&once_value_361
);
12978 } else fra
.me
.REG
[6] = once_value_361
;
12979 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12980 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
12981 once_value_360
= fra
.me
.REG
[6];
12982 register_static_object(&once_value_360
);
12983 } else fra
.me
.REG
[6] = once_value_360
;
12984 fra
.me
.REG
[6] = fra
.me
.REG
[6];
12985 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
12986 if (UNTAG_Bool(REGB1
)) {
12988 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
12991 if (UNTAG_Bool(REGB1
)) {
12992 /* compiling/compiling_icode.nit:853 */
12993 if (!once_value_362
) {
12994 if (!once_value_363
) {
12995 fra
.me
.REG
[6] = BOX_NativeString("object_id");
12996 REGB1
= TAG_Int(9);
12997 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
12998 once_value_363
= fra
.me
.REG
[6];
12999 register_static_object(&once_value_363
);
13000 } else fra
.me
.REG
[6] = once_value_363
;
13001 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13002 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13003 once_value_362
= fra
.me
.REG
[6];
13004 register_static_object(&once_value_362
);
13005 } else fra
.me
.REG
[6] = once_value_362
;
13006 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13007 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13008 if (UNTAG_Bool(REGB1
)) {
13010 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13013 if (UNTAG_Bool(REGB1
)) {
13014 /* compiling/compiling_icode.nit:854 */
13015 REGB1
= TAG_Int(3);
13016 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13017 if (!once_value_364
) {
13018 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(((Nit_NativeArray)");
13019 REGB1
= TAG_Int(26);
13020 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13021 once_value_364
= fra
.me
.REG
[7];
13022 register_static_object(&once_value_364
);
13023 } else fra
.me
.REG
[7] = once_value_364
;
13024 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13026 REGB1
= TAG_Int(0);
13027 /* ../lib/standard/collection/array.nit:279 */
13028 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13029 /* ../lib/standard/collection/array.nit:281 */
13030 REGB2
= TAG_Int(0);
13031 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13032 if (UNTAG_Bool(REGB0
)) {
13034 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13036 /* ../lib/standard/kernel.nit:243 */
13037 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13038 /* ../lib/standard/collection/array.nit:281 */
13039 if (UNTAG_Bool(REGB2
)) {
13040 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13041 if (UNTAG_Bool(REGB2
)) {
13043 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13045 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13046 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13047 if (UNTAG_Bool(REGB0
)) {
13049 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13051 /* ../lib/standard/kernel.nit:242 */
13052 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13054 /* ../lib/standard/collection/array.nit:281 */
13055 REGB0
= TAG_Bool(0);
13058 if (UNTAG_Bool(REGB2
)) {
13060 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13062 /* ../lib/standard/collection/array.nit:282 */
13063 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13064 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13065 if (UNTAG_Bool(REGB2
)) {
13066 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13068 /* ../lib/standard/collection/array.nit:725 */
13069 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13070 /* ../lib/standard/collection/array.nit:282 */
13072 label365
: while(0);
13073 /* compiling/compiling_icode.nit:854 */
13074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13075 if (!once_value_366
) {
13076 fra
.me
.REG
[7] = BOX_NativeString(")->object_id)");
13077 REGB1
= TAG_Int(13);
13078 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13079 once_value_366
= fra
.me
.REG
[7];
13080 register_static_object(&once_value_366
);
13081 } else fra
.me
.REG
[7] = once_value_366
;
13082 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13083 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13084 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13085 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13087 /* compiling/compiling_icode.nit:855 */
13088 if (!once_value_367
) {
13089 if (!once_value_368
) {
13090 fra
.me
.REG
[6] = BOX_NativeString("[]");
13091 REGB1
= TAG_Int(2);
13092 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
13093 once_value_368
= fra
.me
.REG
[6];
13094 register_static_object(&once_value_368
);
13095 } else fra
.me
.REG
[6] = once_value_368
;
13096 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13097 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13098 once_value_367
= fra
.me
.REG
[6];
13099 register_static_object(&once_value_367
);
13100 } else fra
.me
.REG
[6] = once_value_367
;
13101 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13102 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13103 if (UNTAG_Bool(REGB1
)) {
13105 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13108 if (UNTAG_Bool(REGB1
)) {
13109 /* compiling/compiling_icode.nit:856 */
13110 REGB1
= TAG_Int(5);
13111 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13112 if (!once_value_369
) {
13113 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
13114 REGB1
= TAG_Int(18);
13115 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13116 once_value_369
= fra
.me
.REG
[7];
13117 register_static_object(&once_value_369
);
13118 } else fra
.me
.REG
[7] = once_value_369
;
13119 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13120 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13121 REGB1
= TAG_Int(0);
13122 /* ../lib/standard/collection/array.nit:279 */
13123 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13124 /* ../lib/standard/collection/array.nit:281 */
13125 REGB2
= TAG_Int(0);
13126 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13127 if (UNTAG_Bool(REGB0
)) {
13129 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13131 /* ../lib/standard/kernel.nit:243 */
13132 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13133 /* ../lib/standard/collection/array.nit:281 */
13134 if (UNTAG_Bool(REGB2
)) {
13135 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13136 if (UNTAG_Bool(REGB2
)) {
13138 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13140 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13141 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13142 if (UNTAG_Bool(REGB0
)) {
13144 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13146 /* ../lib/standard/kernel.nit:242 */
13147 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13149 /* ../lib/standard/collection/array.nit:281 */
13150 REGB0
= TAG_Bool(0);
13153 if (UNTAG_Bool(REGB2
)) {
13155 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13157 /* ../lib/standard/collection/array.nit:282 */
13158 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13159 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13160 if (UNTAG_Bool(REGB2
)) {
13161 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13163 /* ../lib/standard/collection/array.nit:725 */
13164 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13165 /* ../lib/standard/collection/array.nit:282 */
13167 label370
: while(0);
13168 /* compiling/compiling_icode.nit:856 */
13169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13170 if (!once_value_371
) {
13171 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
13172 REGB1
= TAG_Int(17);
13173 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13174 once_value_371
= fra
.me
.REG
[7];
13175 register_static_object(&once_value_371
);
13176 } else fra
.me
.REG
[7] = once_value_371
;
13177 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13178 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13179 REGB1
= TAG_Int(1);
13180 /* ../lib/standard/collection/array.nit:279 */
13181 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13182 /* ../lib/standard/collection/array.nit:281 */
13183 REGB2
= TAG_Int(0);
13184 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13185 if (UNTAG_Bool(REGB0
)) {
13187 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13189 /* ../lib/standard/kernel.nit:243 */
13190 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13191 /* ../lib/standard/collection/array.nit:281 */
13192 if (UNTAG_Bool(REGB2
)) {
13193 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13194 if (UNTAG_Bool(REGB2
)) {
13196 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13198 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13199 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13200 if (UNTAG_Bool(REGB0
)) {
13202 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13204 /* ../lib/standard/kernel.nit:242 */
13205 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13207 /* ../lib/standard/collection/array.nit:281 */
13208 REGB0
= TAG_Bool(0);
13211 if (UNTAG_Bool(REGB2
)) {
13213 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13215 /* ../lib/standard/collection/array.nit:282 */
13216 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13217 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13218 if (UNTAG_Bool(REGB2
)) {
13219 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13221 /* ../lib/standard/collection/array.nit:725 */
13222 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13223 /* ../lib/standard/collection/array.nit:282 */
13225 label372
: while(0);
13226 /* compiling/compiling_icode.nit:856 */
13227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13228 if (!once_value_373
) {
13229 fra
.me
.REG
[7] = BOX_NativeString(")]");
13230 REGB1
= TAG_Int(2);
13231 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13232 once_value_373
= fra
.me
.REG
[7];
13233 register_static_object(&once_value_373
);
13234 } else fra
.me
.REG
[7] = once_value_373
;
13235 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13237 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13238 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13240 /* compiling/compiling_icode.nit:857 */
13241 if (!once_value_374
) {
13242 if (!once_value_375
) {
13243 fra
.me
.REG
[6] = BOX_NativeString("[]=");
13244 REGB1
= TAG_Int(3);
13245 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
13246 once_value_375
= fra
.me
.REG
[6];
13247 register_static_object(&once_value_375
);
13248 } else fra
.me
.REG
[6] = once_value_375
;
13249 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13250 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13251 once_value_374
= fra
.me
.REG
[6];
13252 register_static_object(&once_value_374
);
13253 } else fra
.me
.REG
[6] = once_value_374
;
13254 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13255 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13256 if (UNTAG_Bool(REGB1
)) {
13258 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13261 if (UNTAG_Bool(REGB1
)) {
13262 /* compiling/compiling_icode.nit:858 */
13263 REGB1
= TAG_Int(7);
13264 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13265 if (!once_value_376
) {
13266 fra
.me
.REG
[7] = BOX_NativeString("((Nit_NativeArray)");
13267 REGB1
= TAG_Int(18);
13268 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13269 once_value_376
= fra
.me
.REG
[7];
13270 register_static_object(&once_value_376
);
13271 } else fra
.me
.REG
[7] = once_value_376
;
13272 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13274 REGB1
= TAG_Int(0);
13275 /* ../lib/standard/collection/array.nit:279 */
13276 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13277 /* ../lib/standard/collection/array.nit:281 */
13278 REGB2
= TAG_Int(0);
13279 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13280 if (UNTAG_Bool(REGB0
)) {
13282 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13284 /* ../lib/standard/kernel.nit:243 */
13285 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13286 /* ../lib/standard/collection/array.nit:281 */
13287 if (UNTAG_Bool(REGB2
)) {
13288 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13289 if (UNTAG_Bool(REGB2
)) {
13291 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13293 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13294 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13295 if (UNTAG_Bool(REGB0
)) {
13297 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13299 /* ../lib/standard/kernel.nit:242 */
13300 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13302 /* ../lib/standard/collection/array.nit:281 */
13303 REGB0
= TAG_Bool(0);
13306 if (UNTAG_Bool(REGB2
)) {
13308 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13310 /* ../lib/standard/collection/array.nit:282 */
13311 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13312 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13313 if (UNTAG_Bool(REGB2
)) {
13314 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13316 /* ../lib/standard/collection/array.nit:725 */
13317 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13318 /* ../lib/standard/collection/array.nit:282 */
13320 label377
: while(0);
13321 /* compiling/compiling_icode.nit:858 */
13322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13323 if (!once_value_378
) {
13324 fra
.me
.REG
[7] = BOX_NativeString(")->val[UNTAG_Int(");
13325 REGB1
= TAG_Int(17);
13326 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13327 once_value_378
= fra
.me
.REG
[7];
13328 register_static_object(&once_value_378
);
13329 } else fra
.me
.REG
[7] = once_value_378
;
13330 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13332 REGB1
= TAG_Int(1);
13333 /* ../lib/standard/collection/array.nit:279 */
13334 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13335 /* ../lib/standard/collection/array.nit:281 */
13336 REGB2
= TAG_Int(0);
13337 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13338 if (UNTAG_Bool(REGB0
)) {
13340 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13342 /* ../lib/standard/kernel.nit:243 */
13343 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13344 /* ../lib/standard/collection/array.nit:281 */
13345 if (UNTAG_Bool(REGB2
)) {
13346 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13347 if (UNTAG_Bool(REGB2
)) {
13349 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13351 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13352 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13353 if (UNTAG_Bool(REGB0
)) {
13355 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13357 /* ../lib/standard/kernel.nit:242 */
13358 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13360 /* ../lib/standard/collection/array.nit:281 */
13361 REGB0
= TAG_Bool(0);
13364 if (UNTAG_Bool(REGB2
)) {
13366 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13368 /* ../lib/standard/collection/array.nit:282 */
13369 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13370 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13371 if (UNTAG_Bool(REGB2
)) {
13372 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13374 /* ../lib/standard/collection/array.nit:725 */
13375 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13376 /* ../lib/standard/collection/array.nit:282 */
13378 label379
: while(0);
13379 /* compiling/compiling_icode.nit:858 */
13380 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13381 if (!once_value_380
) {
13382 fra
.me
.REG
[7] = BOX_NativeString(")]=");
13383 REGB1
= TAG_Int(3);
13384 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13385 once_value_380
= fra
.me
.REG
[7];
13386 register_static_object(&once_value_380
);
13387 } else fra
.me
.REG
[7] = once_value_380
;
13388 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13390 REGB1
= TAG_Int(2);
13391 /* ../lib/standard/collection/array.nit:279 */
13392 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13393 /* ../lib/standard/collection/array.nit:281 */
13394 REGB2
= TAG_Int(0);
13395 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13396 if (UNTAG_Bool(REGB0
)) {
13398 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13400 /* ../lib/standard/kernel.nit:243 */
13401 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13402 /* ../lib/standard/collection/array.nit:281 */
13403 if (UNTAG_Bool(REGB2
)) {
13404 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13405 if (UNTAG_Bool(REGB2
)) {
13407 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13409 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13410 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13411 if (UNTAG_Bool(REGB0
)) {
13413 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13415 /* ../lib/standard/kernel.nit:242 */
13416 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13418 /* ../lib/standard/collection/array.nit:281 */
13419 REGB0
= TAG_Bool(0);
13422 if (UNTAG_Bool(REGB2
)) {
13424 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13426 /* ../lib/standard/collection/array.nit:282 */
13427 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13428 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13429 if (UNTAG_Bool(REGB2
)) {
13430 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13432 /* ../lib/standard/collection/array.nit:725 */
13433 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13434 /* ../lib/standard/collection/array.nit:282 */
13436 label381
: while(0);
13437 /* compiling/compiling_icode.nit:858 */
13438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13439 if (!once_value_382
) {
13440 fra
.me
.REG
[7] = BOX_NativeString("");
13441 REGB1
= TAG_Int(0);
13442 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13443 once_value_382
= fra
.me
.REG
[7];
13444 register_static_object(&once_value_382
);
13445 } else fra
.me
.REG
[7] = once_value_382
;
13446 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13448 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13449 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13451 /* compiling/compiling_icode.nit:859 */
13452 if (!once_value_383
) {
13453 if (!once_value_384
) {
13454 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
13455 REGB1
= TAG_Int(7);
13456 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
13457 once_value_384
= fra
.me
.REG
[6];
13458 register_static_object(&once_value_384
);
13459 } else fra
.me
.REG
[6] = once_value_384
;
13460 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13461 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13462 once_value_383
= fra
.me
.REG
[6];
13463 register_static_object(&once_value_383
);
13464 } else fra
.me
.REG
[6] = once_value_383
;
13465 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13466 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13467 if (UNTAG_Bool(REGB1
)) {
13469 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13472 if (UNTAG_Bool(REGB1
)) {
13473 /* compiling/compiling_icode.nit:860 */
13474 REGB1
= TAG_Int(7);
13475 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13476 if (!once_value_385
) {
13477 fra
.me
.REG
[7] = BOX_NativeString("(void)memcpy(((Nit_NativeArray )");
13478 REGB1
= TAG_Int(32);
13479 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13480 once_value_385
= fra
.me
.REG
[7];
13481 register_static_object(&once_value_385
);
13482 } else fra
.me
.REG
[7] = once_value_385
;
13483 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13485 REGB1
= TAG_Int(1);
13486 /* ../lib/standard/collection/array.nit:279 */
13487 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13488 /* ../lib/standard/collection/array.nit:281 */
13489 REGB2
= TAG_Int(0);
13490 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13491 if (UNTAG_Bool(REGB0
)) {
13493 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13495 /* ../lib/standard/kernel.nit:243 */
13496 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13497 /* ../lib/standard/collection/array.nit:281 */
13498 if (UNTAG_Bool(REGB2
)) {
13499 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13500 if (UNTAG_Bool(REGB2
)) {
13502 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13504 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13505 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13506 if (UNTAG_Bool(REGB0
)) {
13508 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13510 /* ../lib/standard/kernel.nit:242 */
13511 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13513 /* ../lib/standard/collection/array.nit:281 */
13514 REGB0
= TAG_Bool(0);
13517 if (UNTAG_Bool(REGB2
)) {
13519 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13521 /* ../lib/standard/collection/array.nit:282 */
13522 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13523 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13524 if (UNTAG_Bool(REGB2
)) {
13525 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13527 /* ../lib/standard/collection/array.nit:725 */
13528 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13529 /* ../lib/standard/collection/array.nit:282 */
13531 label386
: while(0);
13532 /* compiling/compiling_icode.nit:860 */
13533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13534 if (!once_value_387
) {
13535 fra
.me
.REG
[7] = BOX_NativeString(")->val, ((Nit_NativeArray)");
13536 REGB1
= TAG_Int(26);
13537 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13538 once_value_387
= fra
.me
.REG
[7];
13539 register_static_object(&once_value_387
);
13540 } else fra
.me
.REG
[7] = once_value_387
;
13541 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13543 REGB1
= TAG_Int(0);
13544 /* ../lib/standard/collection/array.nit:279 */
13545 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13546 /* ../lib/standard/collection/array.nit:281 */
13547 REGB2
= TAG_Int(0);
13548 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13549 if (UNTAG_Bool(REGB0
)) {
13551 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13553 /* ../lib/standard/kernel.nit:243 */
13554 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13555 /* ../lib/standard/collection/array.nit:281 */
13556 if (UNTAG_Bool(REGB2
)) {
13557 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13558 if (UNTAG_Bool(REGB2
)) {
13560 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13562 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13563 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13564 if (UNTAG_Bool(REGB0
)) {
13566 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13568 /* ../lib/standard/kernel.nit:242 */
13569 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13571 /* ../lib/standard/collection/array.nit:281 */
13572 REGB0
= TAG_Bool(0);
13575 if (UNTAG_Bool(REGB2
)) {
13577 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13579 /* ../lib/standard/collection/array.nit:282 */
13580 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13581 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13582 if (UNTAG_Bool(REGB2
)) {
13583 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13585 /* ../lib/standard/collection/array.nit:725 */
13586 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13587 /* ../lib/standard/collection/array.nit:282 */
13589 label388
: while(0);
13590 /* compiling/compiling_icode.nit:860 */
13591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13592 if (!once_value_389
) {
13593 fra
.me
.REG
[7] = BOX_NativeString(")->val, UNTAG_Int(");
13594 REGB1
= TAG_Int(18);
13595 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13596 once_value_389
= fra
.me
.REG
[7];
13597 register_static_object(&once_value_389
);
13598 } else fra
.me
.REG
[7] = once_value_389
;
13599 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13600 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13601 REGB1
= TAG_Int(2);
13602 /* ../lib/standard/collection/array.nit:279 */
13603 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13604 /* ../lib/standard/collection/array.nit:281 */
13605 REGB2
= TAG_Int(0);
13606 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13607 if (UNTAG_Bool(REGB0
)) {
13609 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13611 /* ../lib/standard/kernel.nit:243 */
13612 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13613 /* ../lib/standard/collection/array.nit:281 */
13614 if (UNTAG_Bool(REGB2
)) {
13615 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13616 if (UNTAG_Bool(REGB2
)) {
13618 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13620 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13621 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13622 if (UNTAG_Bool(REGB0
)) {
13624 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13626 /* ../lib/standard/kernel.nit:242 */
13627 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13629 /* ../lib/standard/collection/array.nit:281 */
13630 REGB0
= TAG_Bool(0);
13633 if (UNTAG_Bool(REGB2
)) {
13635 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13637 /* ../lib/standard/collection/array.nit:282 */
13638 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13639 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13640 if (UNTAG_Bool(REGB2
)) {
13641 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13643 /* ../lib/standard/collection/array.nit:725 */
13644 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13645 /* ../lib/standard/collection/array.nit:282 */
13647 label390
: while(0);
13648 /* compiling/compiling_icode.nit:860 */
13649 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13650 if (!once_value_391
) {
13651 fra
.me
.REG
[7] = BOX_NativeString(")*sizeof(val_t))");
13652 REGB1
= TAG_Int(16);
13653 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13654 once_value_391
= fra
.me
.REG
[7];
13655 register_static_object(&once_value_391
);
13656 } else fra
.me
.REG
[7] = once_value_391
;
13657 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13658 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13659 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13660 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13666 /* compiling/compiling_icode.nit:862 */
13667 if (!once_value_392
) {
13668 if (!once_value_393
) {
13669 fra
.me
.REG
[6] = BOX_NativeString("NativeString");
13670 REGB1
= TAG_Int(12);
13671 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
13672 once_value_393
= fra
.me
.REG
[6];
13673 register_static_object(&once_value_393
);
13674 } else fra
.me
.REG
[6] = once_value_393
;
13675 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13676 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13677 once_value_392
= fra
.me
.REG
[6];
13678 register_static_object(&once_value_392
);
13679 } else fra
.me
.REG
[6] = once_value_392
;
13680 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13681 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
13682 if (UNTAG_Bool(REGB1
)) {
13684 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
13687 if (UNTAG_Bool(REGB1
)) {
13688 /* compiling/compiling_icode.nit:863 */
13689 if (!once_value_394
) {
13690 if (!once_value_395
) {
13691 fra
.me
.REG
[6] = BOX_NativeString("object_id");
13692 REGB1
= TAG_Int(9);
13693 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
13694 once_value_395
= fra
.me
.REG
[6];
13695 register_static_object(&once_value_395
);
13696 } else fra
.me
.REG
[6] = once_value_395
;
13697 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13698 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13699 once_value_394
= fra
.me
.REG
[6];
13700 register_static_object(&once_value_394
);
13701 } else fra
.me
.REG
[6] = once_value_394
;
13702 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13703 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13704 if (UNTAG_Bool(REGB1
)) {
13706 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13709 if (UNTAG_Bool(REGB1
)) {
13710 /* compiling/compiling_icode.nit:864 */
13711 REGB1
= TAG_Int(3);
13712 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13713 if (!once_value_396
) {
13714 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(UNBOX_NativeString(");
13715 REGB1
= TAG_Int(27);
13716 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13717 once_value_396
= fra
.me
.REG
[7];
13718 register_static_object(&once_value_396
);
13719 } else fra
.me
.REG
[7] = once_value_396
;
13720 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13722 REGB1
= TAG_Int(0);
13723 /* ../lib/standard/collection/array.nit:279 */
13724 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13725 /* ../lib/standard/collection/array.nit:281 */
13726 REGB2
= TAG_Int(0);
13727 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13728 if (UNTAG_Bool(REGB0
)) {
13730 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13732 /* ../lib/standard/kernel.nit:243 */
13733 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13734 /* ../lib/standard/collection/array.nit:281 */
13735 if (UNTAG_Bool(REGB2
)) {
13736 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13737 if (UNTAG_Bool(REGB2
)) {
13739 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13741 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13742 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13743 if (UNTAG_Bool(REGB0
)) {
13745 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13747 /* ../lib/standard/kernel.nit:242 */
13748 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13750 /* ../lib/standard/collection/array.nit:281 */
13751 REGB0
= TAG_Bool(0);
13754 if (UNTAG_Bool(REGB2
)) {
13756 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13758 /* ../lib/standard/collection/array.nit:282 */
13759 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13760 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13761 if (UNTAG_Bool(REGB2
)) {
13762 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13764 /* ../lib/standard/collection/array.nit:725 */
13765 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13766 /* ../lib/standard/collection/array.nit:282 */
13768 label397
: while(0);
13769 /* compiling/compiling_icode.nit:864 */
13770 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13771 if (!once_value_398
) {
13772 fra
.me
.REG
[7] = BOX_NativeString("))");
13773 REGB1
= TAG_Int(2);
13774 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13775 once_value_398
= fra
.me
.REG
[7];
13776 register_static_object(&once_value_398
);
13777 } else fra
.me
.REG
[7] = once_value_398
;
13778 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13779 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13780 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13781 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13783 /* compiling/compiling_icode.nit:865 */
13784 if (!once_value_399
) {
13785 if (!once_value_400
) {
13786 fra
.me
.REG
[6] = BOX_NativeString("atoi");
13787 REGB1
= TAG_Int(4);
13788 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
13789 once_value_400
= fra
.me
.REG
[6];
13790 register_static_object(&once_value_400
);
13791 } else fra
.me
.REG
[6] = once_value_400
;
13792 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13793 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13794 once_value_399
= fra
.me
.REG
[6];
13795 register_static_object(&once_value_399
);
13796 } else fra
.me
.REG
[6] = once_value_399
;
13797 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13798 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13799 if (UNTAG_Bool(REGB1
)) {
13801 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13804 if (UNTAG_Bool(REGB1
)) {
13805 /* compiling/compiling_icode.nit:866 */
13806 REGB1
= TAG_Int(3);
13807 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13808 if (!once_value_401
) {
13809 fra
.me
.REG
[7] = BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString(");
13810 REGB1
= TAG_Int(32);
13811 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13812 once_value_401
= fra
.me
.REG
[7];
13813 register_static_object(&once_value_401
);
13814 } else fra
.me
.REG
[7] = once_value_401
;
13815 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13817 REGB1
= TAG_Int(0);
13818 /* ../lib/standard/collection/array.nit:279 */
13819 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13820 /* ../lib/standard/collection/array.nit:281 */
13821 REGB2
= TAG_Int(0);
13822 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13823 if (UNTAG_Bool(REGB0
)) {
13825 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13827 /* ../lib/standard/kernel.nit:243 */
13828 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13829 /* ../lib/standard/collection/array.nit:281 */
13830 if (UNTAG_Bool(REGB2
)) {
13831 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13832 if (UNTAG_Bool(REGB2
)) {
13834 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13836 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13837 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13838 if (UNTAG_Bool(REGB0
)) {
13840 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13842 /* ../lib/standard/kernel.nit:242 */
13843 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13845 /* ../lib/standard/collection/array.nit:281 */
13846 REGB0
= TAG_Bool(0);
13849 if (UNTAG_Bool(REGB2
)) {
13851 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13853 /* ../lib/standard/collection/array.nit:282 */
13854 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13855 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13856 if (UNTAG_Bool(REGB2
)) {
13857 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13859 /* ../lib/standard/collection/array.nit:725 */
13860 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13861 /* ../lib/standard/collection/array.nit:282 */
13863 label402
: while(0);
13864 /* compiling/compiling_icode.nit:866 */
13865 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13866 if (!once_value_403
) {
13867 fra
.me
.REG
[7] = BOX_NativeString(")))");
13868 REGB1
= TAG_Int(3);
13869 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13870 once_value_403
= fra
.me
.REG
[7];
13871 register_static_object(&once_value_403
);
13872 } else fra
.me
.REG
[7] = once_value_403
;
13873 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13875 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13876 fra
.me
.REG
[5] = fra
.me
.REG
[6];
13878 /* compiling/compiling_icode.nit:867 */
13879 if (!once_value_404
) {
13880 if (!once_value_405
) {
13881 fra
.me
.REG
[6] = BOX_NativeString("[]");
13882 REGB1
= TAG_Int(2);
13883 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
13884 once_value_405
= fra
.me
.REG
[6];
13885 register_static_object(&once_value_405
);
13886 } else fra
.me
.REG
[6] = once_value_405
;
13887 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13888 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
13889 once_value_404
= fra
.me
.REG
[6];
13890 register_static_object(&once_value_404
);
13891 } else fra
.me
.REG
[6] = once_value_404
;
13892 fra
.me
.REG
[6] = fra
.me
.REG
[6];
13893 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
13894 if (UNTAG_Bool(REGB1
)) {
13896 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
13899 if (UNTAG_Bool(REGB1
)) {
13900 /* compiling/compiling_icode.nit:868 */
13901 REGB1
= TAG_Int(5);
13902 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
13903 if (!once_value_406
) {
13904 fra
.me
.REG
[7] = BOX_NativeString("TAG_Char(UNBOX_NativeString(");
13905 REGB1
= TAG_Int(28);
13906 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13907 once_value_406
= fra
.me
.REG
[7];
13908 register_static_object(&once_value_406
);
13909 } else fra
.me
.REG
[7] = once_value_406
;
13910 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13912 REGB1
= TAG_Int(0);
13913 /* ../lib/standard/collection/array.nit:279 */
13914 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13915 /* ../lib/standard/collection/array.nit:281 */
13916 REGB2
= TAG_Int(0);
13917 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13918 if (UNTAG_Bool(REGB0
)) {
13920 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13922 /* ../lib/standard/kernel.nit:243 */
13923 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13924 /* ../lib/standard/collection/array.nit:281 */
13925 if (UNTAG_Bool(REGB2
)) {
13926 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13927 if (UNTAG_Bool(REGB2
)) {
13929 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13931 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13932 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13933 if (UNTAG_Bool(REGB0
)) {
13935 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13937 /* ../lib/standard/kernel.nit:242 */
13938 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13940 /* ../lib/standard/collection/array.nit:281 */
13941 REGB0
= TAG_Bool(0);
13944 if (UNTAG_Bool(REGB2
)) {
13946 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
13948 /* ../lib/standard/collection/array.nit:282 */
13949 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
13950 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
13951 if (UNTAG_Bool(REGB2
)) {
13952 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
13954 /* ../lib/standard/collection/array.nit:725 */
13955 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
13956 /* ../lib/standard/collection/array.nit:282 */
13958 label407
: while(0);
13959 /* compiling/compiling_icode.nit:868 */
13960 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13961 if (!once_value_408
) {
13962 fra
.me
.REG
[7] = BOX_NativeString(")[UNTAG_Int(");
13963 REGB1
= TAG_Int(12);
13964 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
13965 once_value_408
= fra
.me
.REG
[7];
13966 register_static_object(&once_value_408
);
13967 } else fra
.me
.REG
[7] = once_value_408
;
13968 fra
.me
.REG
[7] = fra
.me
.REG
[7];
13969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
13970 REGB1
= TAG_Int(1);
13971 /* ../lib/standard/collection/array.nit:279 */
13972 fra
.me
.REG
[7] = fra
.me
.REG
[4];
13973 /* ../lib/standard/collection/array.nit:281 */
13974 REGB2
= TAG_Int(0);
13975 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13976 if (UNTAG_Bool(REGB0
)) {
13978 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13980 /* ../lib/standard/kernel.nit:243 */
13981 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
13982 /* ../lib/standard/collection/array.nit:281 */
13983 if (UNTAG_Bool(REGB2
)) {
13984 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
13985 if (UNTAG_Bool(REGB2
)) {
13987 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
13989 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
13990 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
13991 if (UNTAG_Bool(REGB0
)) {
13993 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
13995 /* ../lib/standard/kernel.nit:242 */
13996 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
13998 /* ../lib/standard/collection/array.nit:281 */
13999 REGB0
= TAG_Bool(0);
14002 if (UNTAG_Bool(REGB2
)) {
14004 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14006 /* ../lib/standard/collection/array.nit:282 */
14007 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14008 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14009 if (UNTAG_Bool(REGB2
)) {
14010 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14012 /* ../lib/standard/collection/array.nit:725 */
14013 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14014 /* ../lib/standard/collection/array.nit:282 */
14016 label409
: while(0);
14017 /* compiling/compiling_icode.nit:868 */
14018 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14019 if (!once_value_410
) {
14020 fra
.me
.REG
[7] = BOX_NativeString(")])");
14021 REGB1
= TAG_Int(3);
14022 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14023 once_value_410
= fra
.me
.REG
[7];
14024 register_static_object(&once_value_410
);
14025 } else fra
.me
.REG
[7] = once_value_410
;
14026 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14027 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14028 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14029 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14031 /* compiling/compiling_icode.nit:869 */
14032 if (!once_value_411
) {
14033 if (!once_value_412
) {
14034 fra
.me
.REG
[6] = BOX_NativeString("[]=");
14035 REGB1
= TAG_Int(3);
14036 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14037 once_value_412
= fra
.me
.REG
[6];
14038 register_static_object(&once_value_412
);
14039 } else fra
.me
.REG
[6] = once_value_412
;
14040 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14041 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14042 once_value_411
= fra
.me
.REG
[6];
14043 register_static_object(&once_value_411
);
14044 } else fra
.me
.REG
[6] = once_value_411
;
14045 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14046 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14047 if (UNTAG_Bool(REGB1
)) {
14049 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14052 if (UNTAG_Bool(REGB1
)) {
14053 /* compiling/compiling_icode.nit:870 */
14054 REGB1
= TAG_Int(7);
14055 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14056 if (!once_value_413
) {
14057 fra
.me
.REG
[7] = BOX_NativeString("UNBOX_NativeString(");
14058 REGB1
= TAG_Int(19);
14059 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14060 once_value_413
= fra
.me
.REG
[7];
14061 register_static_object(&once_value_413
);
14062 } else fra
.me
.REG
[7] = once_value_413
;
14063 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14065 REGB1
= TAG_Int(0);
14066 /* ../lib/standard/collection/array.nit:279 */
14067 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14068 /* ../lib/standard/collection/array.nit:281 */
14069 REGB2
= TAG_Int(0);
14070 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14071 if (UNTAG_Bool(REGB0
)) {
14073 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14075 /* ../lib/standard/kernel.nit:243 */
14076 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14077 /* ../lib/standard/collection/array.nit:281 */
14078 if (UNTAG_Bool(REGB2
)) {
14079 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14080 if (UNTAG_Bool(REGB2
)) {
14082 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14084 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14085 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14086 if (UNTAG_Bool(REGB0
)) {
14088 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14090 /* ../lib/standard/kernel.nit:242 */
14091 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14093 /* ../lib/standard/collection/array.nit:281 */
14094 REGB0
= TAG_Bool(0);
14097 if (UNTAG_Bool(REGB2
)) {
14099 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14101 /* ../lib/standard/collection/array.nit:282 */
14102 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14103 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14104 if (UNTAG_Bool(REGB2
)) {
14105 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14107 /* ../lib/standard/collection/array.nit:725 */
14108 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14109 /* ../lib/standard/collection/array.nit:282 */
14111 label414
: while(0);
14112 /* compiling/compiling_icode.nit:870 */
14113 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14114 if (!once_value_415
) {
14115 fra
.me
.REG
[7] = BOX_NativeString(")[UNTAG_Int(");
14116 REGB1
= TAG_Int(12);
14117 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14118 once_value_415
= fra
.me
.REG
[7];
14119 register_static_object(&once_value_415
);
14120 } else fra
.me
.REG
[7] = once_value_415
;
14121 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14123 REGB1
= TAG_Int(1);
14124 /* ../lib/standard/collection/array.nit:279 */
14125 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14126 /* ../lib/standard/collection/array.nit:281 */
14127 REGB2
= TAG_Int(0);
14128 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14129 if (UNTAG_Bool(REGB0
)) {
14131 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14133 /* ../lib/standard/kernel.nit:243 */
14134 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14135 /* ../lib/standard/collection/array.nit:281 */
14136 if (UNTAG_Bool(REGB2
)) {
14137 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14138 if (UNTAG_Bool(REGB2
)) {
14140 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14142 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14143 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14144 if (UNTAG_Bool(REGB0
)) {
14146 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14148 /* ../lib/standard/kernel.nit:242 */
14149 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14151 /* ../lib/standard/collection/array.nit:281 */
14152 REGB0
= TAG_Bool(0);
14155 if (UNTAG_Bool(REGB2
)) {
14157 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14159 /* ../lib/standard/collection/array.nit:282 */
14160 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14161 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14162 if (UNTAG_Bool(REGB2
)) {
14163 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14165 /* ../lib/standard/collection/array.nit:725 */
14166 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14167 /* ../lib/standard/collection/array.nit:282 */
14169 label416
: while(0);
14170 /* compiling/compiling_icode.nit:870 */
14171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14172 if (!once_value_417
) {
14173 fra
.me
.REG
[7] = BOX_NativeString(")]=UNTAG_Char(");
14174 REGB1
= TAG_Int(14);
14175 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14176 once_value_417
= fra
.me
.REG
[7];
14177 register_static_object(&once_value_417
);
14178 } else fra
.me
.REG
[7] = once_value_417
;
14179 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14180 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14181 REGB1
= TAG_Int(2);
14182 /* ../lib/standard/collection/array.nit:279 */
14183 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14184 /* ../lib/standard/collection/array.nit:281 */
14185 REGB2
= TAG_Int(0);
14186 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14187 if (UNTAG_Bool(REGB0
)) {
14189 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14191 /* ../lib/standard/kernel.nit:243 */
14192 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14193 /* ../lib/standard/collection/array.nit:281 */
14194 if (UNTAG_Bool(REGB2
)) {
14195 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14196 if (UNTAG_Bool(REGB2
)) {
14198 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14200 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14201 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14202 if (UNTAG_Bool(REGB0
)) {
14204 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14206 /* ../lib/standard/kernel.nit:242 */
14207 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14209 /* ../lib/standard/collection/array.nit:281 */
14210 REGB0
= TAG_Bool(0);
14213 if (UNTAG_Bool(REGB2
)) {
14215 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14217 /* ../lib/standard/collection/array.nit:282 */
14218 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14219 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14220 if (UNTAG_Bool(REGB2
)) {
14221 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14223 /* ../lib/standard/collection/array.nit:725 */
14224 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14225 /* ../lib/standard/collection/array.nit:282 */
14227 label418
: while(0);
14228 /* compiling/compiling_icode.nit:870 */
14229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14230 if (!once_value_419
) {
14231 fra
.me
.REG
[7] = BOX_NativeString(");");
14232 REGB1
= TAG_Int(2);
14233 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14234 once_value_419
= fra
.me
.REG
[7];
14235 register_static_object(&once_value_419
);
14236 } else fra
.me
.REG
[7] = once_value_419
;
14237 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14238 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14239 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14240 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14242 /* compiling/compiling_icode.nit:871 */
14243 if (!once_value_420
) {
14244 if (!once_value_421
) {
14245 fra
.me
.REG
[6] = BOX_NativeString("copy_to");
14246 REGB1
= TAG_Int(7);
14247 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14248 once_value_421
= fra
.me
.REG
[6];
14249 register_static_object(&once_value_421
);
14250 } else fra
.me
.REG
[6] = once_value_421
;
14251 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14252 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14253 once_value_420
= fra
.me
.REG
[6];
14254 register_static_object(&once_value_420
);
14255 } else fra
.me
.REG
[6] = once_value_420
;
14256 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14257 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14258 if (UNTAG_Bool(REGB1
)) {
14260 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14263 if (UNTAG_Bool(REGB1
)) {
14264 /* compiling/compiling_icode.nit:872 */
14265 REGB1
= TAG_Int(11);
14266 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14267 if (!once_value_422
) {
14268 fra
.me
.REG
[7] = BOX_NativeString("(void)memcpy(UNBOX_NativeString(");
14269 REGB1
= TAG_Int(32);
14270 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14271 once_value_422
= fra
.me
.REG
[7];
14272 register_static_object(&once_value_422
);
14273 } else fra
.me
.REG
[7] = once_value_422
;
14274 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14275 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14276 REGB1
= TAG_Int(1);
14277 /* ../lib/standard/collection/array.nit:279 */
14278 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14279 /* ../lib/standard/collection/array.nit:281 */
14280 REGB2
= TAG_Int(0);
14281 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14282 if (UNTAG_Bool(REGB0
)) {
14284 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14286 /* ../lib/standard/kernel.nit:243 */
14287 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14288 /* ../lib/standard/collection/array.nit:281 */
14289 if (UNTAG_Bool(REGB2
)) {
14290 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14291 if (UNTAG_Bool(REGB2
)) {
14293 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14295 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14296 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14297 if (UNTAG_Bool(REGB0
)) {
14299 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14301 /* ../lib/standard/kernel.nit:242 */
14302 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14304 /* ../lib/standard/collection/array.nit:281 */
14305 REGB0
= TAG_Bool(0);
14308 if (UNTAG_Bool(REGB2
)) {
14310 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14312 /* ../lib/standard/collection/array.nit:282 */
14313 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14314 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14315 if (UNTAG_Bool(REGB2
)) {
14316 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14318 /* ../lib/standard/collection/array.nit:725 */
14319 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14320 /* ../lib/standard/collection/array.nit:282 */
14322 label423
: while(0);
14323 /* compiling/compiling_icode.nit:872 */
14324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14325 if (!once_value_424
) {
14326 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
14327 REGB1
= TAG_Int(12);
14328 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14329 once_value_424
= fra
.me
.REG
[7];
14330 register_static_object(&once_value_424
);
14331 } else fra
.me
.REG
[7] = once_value_424
;
14332 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14334 REGB1
= TAG_Int(4);
14335 /* ../lib/standard/collection/array.nit:279 */
14336 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14337 /* ../lib/standard/collection/array.nit:281 */
14338 REGB2
= TAG_Int(0);
14339 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14340 if (UNTAG_Bool(REGB0
)) {
14342 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14344 /* ../lib/standard/kernel.nit:243 */
14345 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14346 /* ../lib/standard/collection/array.nit:281 */
14347 if (UNTAG_Bool(REGB2
)) {
14348 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14349 if (UNTAG_Bool(REGB2
)) {
14351 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14353 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14354 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14355 if (UNTAG_Bool(REGB0
)) {
14357 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14359 /* ../lib/standard/kernel.nit:242 */
14360 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14362 /* ../lib/standard/collection/array.nit:281 */
14363 REGB0
= TAG_Bool(0);
14366 if (UNTAG_Bool(REGB2
)) {
14368 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14370 /* ../lib/standard/collection/array.nit:282 */
14371 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14372 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14373 if (UNTAG_Bool(REGB2
)) {
14374 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14376 /* ../lib/standard/collection/array.nit:725 */
14377 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14378 /* ../lib/standard/collection/array.nit:282 */
14380 label425
: while(0);
14381 /* compiling/compiling_icode.nit:872 */
14382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14383 if (!once_value_426
) {
14384 fra
.me
.REG
[7] = BOX_NativeString("), UNBOX_NativeString(");
14385 REGB1
= TAG_Int(22);
14386 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14387 once_value_426
= fra
.me
.REG
[7];
14388 register_static_object(&once_value_426
);
14389 } else fra
.me
.REG
[7] = once_value_426
;
14390 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14392 REGB1
= TAG_Int(0);
14393 /* ../lib/standard/collection/array.nit:279 */
14394 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14395 /* ../lib/standard/collection/array.nit:281 */
14396 REGB2
= TAG_Int(0);
14397 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14398 if (UNTAG_Bool(REGB0
)) {
14400 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14402 /* ../lib/standard/kernel.nit:243 */
14403 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14404 /* ../lib/standard/collection/array.nit:281 */
14405 if (UNTAG_Bool(REGB2
)) {
14406 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14407 if (UNTAG_Bool(REGB2
)) {
14409 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14411 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14412 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14413 if (UNTAG_Bool(REGB0
)) {
14415 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14417 /* ../lib/standard/kernel.nit:242 */
14418 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14420 /* ../lib/standard/collection/array.nit:281 */
14421 REGB0
= TAG_Bool(0);
14424 if (UNTAG_Bool(REGB2
)) {
14426 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14428 /* ../lib/standard/collection/array.nit:282 */
14429 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14430 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14431 if (UNTAG_Bool(REGB2
)) {
14432 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14434 /* ../lib/standard/collection/array.nit:725 */
14435 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14436 /* ../lib/standard/collection/array.nit:282 */
14438 label427
: while(0);
14439 /* compiling/compiling_icode.nit:872 */
14440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14441 if (!once_value_428
) {
14442 fra
.me
.REG
[7] = BOX_NativeString(")+UNTAG_Int(");
14443 REGB1
= TAG_Int(12);
14444 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14445 once_value_428
= fra
.me
.REG
[7];
14446 register_static_object(&once_value_428
);
14447 } else fra
.me
.REG
[7] = once_value_428
;
14448 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14450 REGB1
= TAG_Int(3);
14451 /* ../lib/standard/collection/array.nit:279 */
14452 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14453 /* ../lib/standard/collection/array.nit:281 */
14454 REGB2
= TAG_Int(0);
14455 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14456 if (UNTAG_Bool(REGB0
)) {
14458 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14460 /* ../lib/standard/kernel.nit:243 */
14461 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14462 /* ../lib/standard/collection/array.nit:281 */
14463 if (UNTAG_Bool(REGB2
)) {
14464 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14465 if (UNTAG_Bool(REGB2
)) {
14467 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14469 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14470 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14471 if (UNTAG_Bool(REGB0
)) {
14473 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14475 /* ../lib/standard/kernel.nit:242 */
14476 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14478 /* ../lib/standard/collection/array.nit:281 */
14479 REGB0
= TAG_Bool(0);
14482 if (UNTAG_Bool(REGB2
)) {
14484 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14486 /* ../lib/standard/collection/array.nit:282 */
14487 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14488 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14489 if (UNTAG_Bool(REGB2
)) {
14490 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14492 /* ../lib/standard/collection/array.nit:725 */
14493 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14494 /* ../lib/standard/collection/array.nit:282 */
14496 label429
: while(0);
14497 /* compiling/compiling_icode.nit:872 */
14498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14499 if (!once_value_430
) {
14500 fra
.me
.REG
[7] = BOX_NativeString("), UNTAG_Int(");
14501 REGB1
= TAG_Int(13);
14502 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14503 once_value_430
= fra
.me
.REG
[7];
14504 register_static_object(&once_value_430
);
14505 } else fra
.me
.REG
[7] = once_value_430
;
14506 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14508 REGB1
= TAG_Int(2);
14509 /* ../lib/standard/collection/array.nit:279 */
14510 fra
.me
.REG
[7] = fra
.me
.REG
[4];
14511 /* ../lib/standard/collection/array.nit:281 */
14512 REGB2
= TAG_Int(0);
14513 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14514 if (UNTAG_Bool(REGB0
)) {
14516 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14518 /* ../lib/standard/kernel.nit:243 */
14519 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14520 /* ../lib/standard/collection/array.nit:281 */
14521 if (UNTAG_Bool(REGB2
)) {
14522 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
14523 if (UNTAG_Bool(REGB2
)) {
14525 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14527 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
14528 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14529 if (UNTAG_Bool(REGB0
)) {
14531 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14533 /* ../lib/standard/kernel.nit:242 */
14534 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14536 /* ../lib/standard/collection/array.nit:281 */
14537 REGB0
= TAG_Bool(0);
14540 if (UNTAG_Bool(REGB2
)) {
14542 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14544 /* ../lib/standard/collection/array.nit:282 */
14545 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
14546 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
14547 if (UNTAG_Bool(REGB2
)) {
14548 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14550 /* ../lib/standard/collection/array.nit:725 */
14551 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
14552 /* ../lib/standard/collection/array.nit:282 */
14554 label431
: while(0);
14555 /* compiling/compiling_icode.nit:872 */
14556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14557 if (!once_value_432
) {
14558 fra
.me
.REG
[7] = BOX_NativeString("));");
14559 REGB1
= TAG_Int(3);
14560 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
14561 once_value_432
= fra
.me
.REG
[7];
14562 register_static_object(&once_value_432
);
14563 } else fra
.me
.REG
[7] = once_value_432
;
14564 fra
.me
.REG
[7] = fra
.me
.REG
[7];
14565 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
14566 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14567 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14574 /* compiling/compiling_icode.nit:874 */
14575 if (!once_value_433
) {
14576 if (!once_value_434
) {
14577 fra
.me
.REG
[6] = BOX_NativeString("Sys");
14578 REGB1
= TAG_Int(3);
14579 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14580 once_value_434
= fra
.me
.REG
[6];
14581 register_static_object(&once_value_434
);
14582 } else fra
.me
.REG
[6] = once_value_434
;
14583 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14584 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14585 once_value_433
= fra
.me
.REG
[6];
14586 register_static_object(&once_value_433
);
14587 } else fra
.me
.REG
[6] = once_value_433
;
14588 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14589 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[6]));
14590 if (UNTAG_Bool(REGB1
)) {
14592 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
14595 if (UNTAG_Bool(REGB1
)) {
14596 /* compiling/compiling_icode.nit:875 */
14597 if (!once_value_435
) {
14598 if (!once_value_436
) {
14599 fra
.me
.REG
[6] = BOX_NativeString("force_garbage_collection");
14600 REGB1
= TAG_Int(24);
14601 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14602 once_value_436
= fra
.me
.REG
[6];
14603 register_static_object(&once_value_436
);
14604 } else fra
.me
.REG
[6] = once_value_436
;
14605 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14606 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14607 once_value_435
= fra
.me
.REG
[6];
14608 register_static_object(&once_value_435
);
14609 } else fra
.me
.REG
[6] = once_value_435
;
14610 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14611 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14612 if (UNTAG_Bool(REGB1
)) {
14614 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14617 if (UNTAG_Bool(REGB1
)) {
14618 /* compiling/compiling_icode.nit:876 */
14619 if (!once_value_437
) {
14620 fra
.me
.REG
[6] = BOX_NativeString("Nit_gc_force_garbage_collection()");
14621 REGB1
= TAG_Int(33);
14622 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14623 once_value_437
= fra
.me
.REG
[6];
14624 register_static_object(&once_value_437
);
14625 } else fra
.me
.REG
[6] = once_value_437
;
14626 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14627 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14629 /* compiling/compiling_icode.nit:877 */
14630 if (!once_value_438
) {
14631 if (!once_value_439
) {
14632 fra
.me
.REG
[6] = BOX_NativeString("native_argc");
14633 REGB1
= TAG_Int(11);
14634 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14635 once_value_439
= fra
.me
.REG
[6];
14636 register_static_object(&once_value_439
);
14637 } else fra
.me
.REG
[6] = once_value_439
;
14638 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14639 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14640 once_value_438
= fra
.me
.REG
[6];
14641 register_static_object(&once_value_438
);
14642 } else fra
.me
.REG
[6] = once_value_438
;
14643 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14644 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14645 if (UNTAG_Bool(REGB1
)) {
14647 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14650 if (UNTAG_Bool(REGB1
)) {
14651 /* compiling/compiling_icode.nit:878 */
14652 if (!once_value_440
) {
14653 fra
.me
.REG
[6] = BOX_NativeString("TAG_Int(glob_argc)");
14654 REGB1
= TAG_Int(18);
14655 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14656 once_value_440
= fra
.me
.REG
[6];
14657 register_static_object(&once_value_440
);
14658 } else fra
.me
.REG
[6] = once_value_440
;
14659 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14660 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14662 /* compiling/compiling_icode.nit:879 */
14663 if (!once_value_441
) {
14664 if (!once_value_442
) {
14665 fra
.me
.REG
[6] = BOX_NativeString("native_argv");
14666 REGB1
= TAG_Int(11);
14667 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14668 once_value_442
= fra
.me
.REG
[6];
14669 register_static_object(&once_value_442
);
14670 } else fra
.me
.REG
[6] = once_value_442
;
14671 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14672 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14673 once_value_441
= fra
.me
.REG
[6];
14674 register_static_object(&once_value_441
);
14675 } else fra
.me
.REG
[6] = once_value_441
;
14676 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14677 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14678 if (UNTAG_Bool(REGB1
)) {
14680 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14683 if (UNTAG_Bool(REGB1
)) {
14684 /* compiling/compiling_icode.nit:880 */
14685 REGB1
= TAG_Int(3);
14686 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14687 if (!once_value_443
) {
14688 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString(glob_argv[UNTAG_Int(");
14689 REGB1
= TAG_Int(37);
14690 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
14691 once_value_443
= fra
.me
.REG
[2];
14692 register_static_object(&once_value_443
);
14693 } else fra
.me
.REG
[2] = once_value_443
;
14694 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14695 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14696 REGB1
= TAG_Int(1);
14697 /* ../lib/standard/collection/array.nit:279 */
14698 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14699 /* ../lib/standard/collection/array.nit:281 */
14700 REGB2
= TAG_Int(0);
14701 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14702 if (UNTAG_Bool(REGB0
)) {
14704 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14706 /* ../lib/standard/kernel.nit:243 */
14707 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14708 /* ../lib/standard/collection/array.nit:281 */
14709 if (UNTAG_Bool(REGB2
)) {
14710 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14711 if (UNTAG_Bool(REGB2
)) {
14713 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14715 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14716 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14717 if (UNTAG_Bool(REGB0
)) {
14719 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14721 /* ../lib/standard/kernel.nit:242 */
14722 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14724 /* ../lib/standard/collection/array.nit:281 */
14725 REGB0
= TAG_Bool(0);
14728 if (UNTAG_Bool(REGB2
)) {
14730 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14732 /* ../lib/standard/collection/array.nit:282 */
14733 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14734 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14735 if (UNTAG_Bool(REGB2
)) {
14736 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14738 /* ../lib/standard/collection/array.nit:725 */
14739 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14740 /* ../lib/standard/collection/array.nit:282 */
14742 label444
: while(0);
14743 /* compiling/compiling_icode.nit:880 */
14744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14745 if (!once_value_445
) {
14746 fra
.me
.REG
[2] = BOX_NativeString(")])");
14747 REGB1
= TAG_Int(3);
14748 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
14749 once_value_445
= fra
.me
.REG
[2];
14750 register_static_object(&once_value_445
);
14751 } else fra
.me
.REG
[2] = once_value_445
;
14752 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14753 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14754 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14755 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14760 /* compiling/compiling_icode.nit:882 */
14761 if (!once_value_446
) {
14762 if (!once_value_447
) {
14763 fra
.me
.REG
[6] = BOX_NativeString("object_id");
14764 REGB1
= TAG_Int(9);
14765 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14766 once_value_447
= fra
.me
.REG
[6];
14767 register_static_object(&once_value_447
);
14768 } else fra
.me
.REG
[6] = once_value_447
;
14769 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14770 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14771 once_value_446
= fra
.me
.REG
[6];
14772 register_static_object(&once_value_446
);
14773 } else fra
.me
.REG
[6] = once_value_446
;
14774 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14775 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14776 if (UNTAG_Bool(REGB1
)) {
14778 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14781 if (UNTAG_Bool(REGB1
)) {
14782 /* compiling/compiling_icode.nit:883 */
14783 REGB1
= TAG_Int(3);
14784 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14785 if (!once_value_448
) {
14786 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int((bigint)((obj_t)");
14787 REGB1
= TAG_Int(24);
14788 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
14789 once_value_448
= fra
.me
.REG
[2];
14790 register_static_object(&once_value_448
);
14791 } else fra
.me
.REG
[2] = once_value_448
;
14792 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14793 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14794 REGB1
= TAG_Int(0);
14795 /* ../lib/standard/collection/array.nit:279 */
14796 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14797 /* ../lib/standard/collection/array.nit:281 */
14798 REGB2
= TAG_Int(0);
14799 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14800 if (UNTAG_Bool(REGB0
)) {
14802 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14804 /* ../lib/standard/kernel.nit:243 */
14805 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14806 /* ../lib/standard/collection/array.nit:281 */
14807 if (UNTAG_Bool(REGB2
)) {
14808 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14809 if (UNTAG_Bool(REGB2
)) {
14811 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14813 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14814 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14815 if (UNTAG_Bool(REGB0
)) {
14817 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14819 /* ../lib/standard/kernel.nit:242 */
14820 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14822 /* ../lib/standard/collection/array.nit:281 */
14823 REGB0
= TAG_Bool(0);
14826 if (UNTAG_Bool(REGB2
)) {
14828 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14830 /* ../lib/standard/collection/array.nit:282 */
14831 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14832 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14833 if (UNTAG_Bool(REGB2
)) {
14834 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14836 /* ../lib/standard/collection/array.nit:725 */
14837 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14838 /* ../lib/standard/collection/array.nit:282 */
14840 label449
: while(0);
14841 /* compiling/compiling_icode.nit:883 */
14842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14843 if (!once_value_450
) {
14844 fra
.me
.REG
[2] = BOX_NativeString(")[1].object_id)");
14845 REGB1
= TAG_Int(15);
14846 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
14847 once_value_450
= fra
.me
.REG
[2];
14848 register_static_object(&once_value_450
);
14849 } else fra
.me
.REG
[2] = once_value_450
;
14850 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14852 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14853 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14855 /* compiling/compiling_icode.nit:884 */
14856 if (!once_value_451
) {
14857 if (!once_value_452
) {
14858 fra
.me
.REG
[6] = BOX_NativeString("sys");
14859 REGB1
= TAG_Int(3);
14860 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14861 once_value_452
= fra
.me
.REG
[6];
14862 register_static_object(&once_value_452
);
14863 } else fra
.me
.REG
[6] = once_value_452
;
14864 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14865 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14866 once_value_451
= fra
.me
.REG
[6];
14867 register_static_object(&once_value_451
);
14868 } else fra
.me
.REG
[6] = once_value_451
;
14869 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14870 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14871 if (UNTAG_Bool(REGB1
)) {
14873 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14876 if (UNTAG_Bool(REGB1
)) {
14877 /* compiling/compiling_icode.nit:885 */
14878 if (!once_value_453
) {
14879 fra
.me
.REG
[6] = BOX_NativeString("(G_sys)");
14880 REGB1
= TAG_Int(7);
14881 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14882 once_value_453
= fra
.me
.REG
[6];
14883 register_static_object(&once_value_453
);
14884 } else fra
.me
.REG
[6] = once_value_453
;
14885 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14886 fra
.me
.REG
[5] = fra
.me
.REG
[6];
14888 /* compiling/compiling_icode.nit:886 */
14889 if (!once_value_454
) {
14890 if (!once_value_455
) {
14891 fra
.me
.REG
[6] = BOX_NativeString("is_same_type");
14892 REGB1
= TAG_Int(12);
14893 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
14894 once_value_455
= fra
.me
.REG
[6];
14895 register_static_object(&once_value_455
);
14896 } else fra
.me
.REG
[6] = once_value_455
;
14897 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14898 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
14899 once_value_454
= fra
.me
.REG
[6];
14900 register_static_object(&once_value_454
);
14901 } else fra
.me
.REG
[6] = once_value_454
;
14902 fra
.me
.REG
[6] = fra
.me
.REG
[6];
14903 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
14904 if (UNTAG_Bool(REGB1
)) {
14906 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
14909 if (UNTAG_Bool(REGB1
)) {
14910 /* compiling/compiling_icode.nit:887 */
14911 REGB1
= TAG_Int(5);
14912 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
14913 if (!once_value_456
) {
14914 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool((VAL2VFT(");
14915 REGB1
= TAG_Int(18);
14916 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
14917 once_value_456
= fra
.me
.REG
[2];
14918 register_static_object(&once_value_456
);
14919 } else fra
.me
.REG
[2] = once_value_456
;
14920 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14922 REGB1
= TAG_Int(0);
14923 /* ../lib/standard/collection/array.nit:279 */
14924 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14925 /* ../lib/standard/collection/array.nit:281 */
14926 REGB2
= TAG_Int(0);
14927 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14928 if (UNTAG_Bool(REGB0
)) {
14930 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14932 /* ../lib/standard/kernel.nit:243 */
14933 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14934 /* ../lib/standard/collection/array.nit:281 */
14935 if (UNTAG_Bool(REGB2
)) {
14936 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14937 if (UNTAG_Bool(REGB2
)) {
14939 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14941 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
14942 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14943 if (UNTAG_Bool(REGB0
)) {
14945 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14947 /* ../lib/standard/kernel.nit:242 */
14948 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
14950 /* ../lib/standard/collection/array.nit:281 */
14951 REGB0
= TAG_Bool(0);
14954 if (UNTAG_Bool(REGB2
)) {
14956 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
14958 /* ../lib/standard/collection/array.nit:282 */
14959 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
14960 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
14961 if (UNTAG_Bool(REGB2
)) {
14962 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
14964 /* ../lib/standard/collection/array.nit:725 */
14965 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
14966 /* ../lib/standard/collection/array.nit:282 */
14968 label457
: while(0);
14969 /* compiling/compiling_icode.nit:887 */
14970 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14971 if (!once_value_458
) {
14972 fra
.me
.REG
[2] = BOX_NativeString(")==VAL2VFT(");
14973 REGB1
= TAG_Int(11);
14974 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
14975 once_value_458
= fra
.me
.REG
[2];
14976 register_static_object(&once_value_458
);
14977 } else fra
.me
.REG
[2] = once_value_458
;
14978 fra
.me
.REG
[2] = fra
.me
.REG
[2];
14979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
14980 REGB1
= TAG_Int(1);
14981 /* ../lib/standard/collection/array.nit:279 */
14982 fra
.me
.REG
[2] = fra
.me
.REG
[4];
14983 /* ../lib/standard/collection/array.nit:281 */
14984 REGB2
= TAG_Int(0);
14985 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
14986 if (UNTAG_Bool(REGB0
)) {
14988 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
14990 /* ../lib/standard/kernel.nit:243 */
14991 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
14992 /* ../lib/standard/collection/array.nit:281 */
14993 if (UNTAG_Bool(REGB2
)) {
14994 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
14995 if (UNTAG_Bool(REGB2
)) {
14997 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
14999 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15000 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15001 if (UNTAG_Bool(REGB0
)) {
15003 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15005 /* ../lib/standard/kernel.nit:242 */
15006 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15008 /* ../lib/standard/collection/array.nit:281 */
15009 REGB0
= TAG_Bool(0);
15012 if (UNTAG_Bool(REGB2
)) {
15014 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
15016 /* ../lib/standard/collection/array.nit:282 */
15017 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15018 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15019 if (UNTAG_Bool(REGB2
)) {
15020 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
15022 /* ../lib/standard/collection/array.nit:725 */
15023 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15024 /* ../lib/standard/collection/array.nit:282 */
15026 label459
: while(0);
15027 /* compiling/compiling_icode.nit:887 */
15028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15029 if (!once_value_460
) {
15030 fra
.me
.REG
[2] = BOX_NativeString(")))");
15031 REGB1
= TAG_Int(3);
15032 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15033 once_value_460
= fra
.me
.REG
[2];
15034 register_static_object(&once_value_460
);
15035 } else fra
.me
.REG
[2] = once_value_460
;
15036 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15038 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15039 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15041 /* compiling/compiling_icode.nit:888 */
15042 if (!once_value_461
) {
15043 if (!once_value_462
) {
15044 fra
.me
.REG
[6] = BOX_NativeString("exit");
15045 REGB1
= TAG_Int(4);
15046 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15047 once_value_462
= fra
.me
.REG
[6];
15048 register_static_object(&once_value_462
);
15049 } else fra
.me
.REG
[6] = once_value_462
;
15050 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15051 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15052 once_value_461
= fra
.me
.REG
[6];
15053 register_static_object(&once_value_461
);
15054 } else fra
.me
.REG
[6] = once_value_461
;
15055 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15056 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15057 if (UNTAG_Bool(REGB1
)) {
15059 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15062 if (UNTAG_Bool(REGB1
)) {
15063 /* compiling/compiling_icode.nit:889 */
15064 REGB1
= TAG_Int(3);
15065 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15066 if (!once_value_463
) {
15067 fra
.me
.REG
[2] = BOX_NativeString("exit(UNTAG_Int(");
15068 REGB1
= TAG_Int(15);
15069 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15070 once_value_463
= fra
.me
.REG
[2];
15071 register_static_object(&once_value_463
);
15072 } else fra
.me
.REG
[2] = once_value_463
;
15073 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15075 REGB1
= TAG_Int(1);
15076 /* ../lib/standard/collection/array.nit:279 */
15077 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15078 /* ../lib/standard/collection/array.nit:281 */
15079 REGB2
= TAG_Int(0);
15080 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15081 if (UNTAG_Bool(REGB0
)) {
15083 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15085 /* ../lib/standard/kernel.nit:243 */
15086 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15087 /* ../lib/standard/collection/array.nit:281 */
15088 if (UNTAG_Bool(REGB2
)) {
15089 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15090 if (UNTAG_Bool(REGB2
)) {
15092 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
15094 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15095 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15096 if (UNTAG_Bool(REGB0
)) {
15098 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15100 /* ../lib/standard/kernel.nit:242 */
15101 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15103 /* ../lib/standard/collection/array.nit:281 */
15104 REGB0
= TAG_Bool(0);
15107 if (UNTAG_Bool(REGB2
)) {
15109 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
15111 /* ../lib/standard/collection/array.nit:282 */
15112 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15113 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15114 if (UNTAG_Bool(REGB2
)) {
15115 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
15117 /* ../lib/standard/collection/array.nit:725 */
15118 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15119 /* ../lib/standard/collection/array.nit:282 */
15121 label464
: while(0);
15122 /* compiling/compiling_icode.nit:889 */
15123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15124 if (!once_value_465
) {
15125 fra
.me
.REG
[2] = BOX_NativeString("));");
15126 REGB1
= TAG_Int(3);
15127 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15128 once_value_465
= fra
.me
.REG
[2];
15129 register_static_object(&once_value_465
);
15130 } else fra
.me
.REG
[2] = once_value_465
;
15131 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15133 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15134 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15136 /* compiling/compiling_icode.nit:890 */
15137 if (!once_value_466
) {
15138 if (!once_value_467
) {
15139 fra
.me
.REG
[6] = BOX_NativeString("calloc_array");
15140 REGB1
= TAG_Int(12);
15141 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15142 once_value_467
= fra
.me
.REG
[6];
15143 register_static_object(&once_value_467
);
15144 } else fra
.me
.REG
[6] = once_value_467
;
15145 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15146 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15147 once_value_466
= fra
.me
.REG
[6];
15148 register_static_object(&once_value_466
);
15149 } else fra
.me
.REG
[6] = once_value_466
;
15150 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15151 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15152 if (UNTAG_Bool(REGB1
)) {
15154 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15157 if (UNTAG_Bool(REGB1
)) {
15158 /* compiling/compiling_icode.nit:891 */
15159 REGB1
= TAG_Int(3);
15160 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15161 if (!once_value_468
) {
15162 fra
.me
.REG
[2] = BOX_NativeString("NEW_NativeArray(UNTAG_Int(");
15163 REGB1
= TAG_Int(26);
15164 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15165 once_value_468
= fra
.me
.REG
[2];
15166 register_static_object(&once_value_468
);
15167 } else fra
.me
.REG
[2] = once_value_468
;
15168 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15170 REGB1
= TAG_Int(1);
15171 /* ../lib/standard/collection/array.nit:279 */
15172 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15173 /* ../lib/standard/collection/array.nit:281 */
15174 REGB2
= TAG_Int(0);
15175 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15176 if (UNTAG_Bool(REGB0
)) {
15178 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15180 /* ../lib/standard/kernel.nit:243 */
15181 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15182 /* ../lib/standard/collection/array.nit:281 */
15183 if (UNTAG_Bool(REGB2
)) {
15184 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15185 if (UNTAG_Bool(REGB2
)) {
15187 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
15189 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15190 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15191 if (UNTAG_Bool(REGB0
)) {
15193 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15195 /* ../lib/standard/kernel.nit:242 */
15196 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15198 /* ../lib/standard/collection/array.nit:281 */
15199 REGB0
= TAG_Bool(0);
15202 if (UNTAG_Bool(REGB2
)) {
15204 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
15206 /* ../lib/standard/collection/array.nit:282 */
15207 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15208 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15209 if (UNTAG_Bool(REGB2
)) {
15210 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
15212 /* ../lib/standard/collection/array.nit:725 */
15213 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15214 /* ../lib/standard/collection/array.nit:282 */
15216 label469
: while(0);
15217 /* compiling/compiling_icode.nit:891 */
15218 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15219 if (!once_value_470
) {
15220 fra
.me
.REG
[2] = BOX_NativeString("), sizeof(val_t))");
15221 REGB1
= TAG_Int(17);
15222 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15223 once_value_470
= fra
.me
.REG
[2];
15224 register_static_object(&once_value_470
);
15225 } else fra
.me
.REG
[2] = once_value_470
;
15226 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15228 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15229 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15231 /* compiling/compiling_icode.nit:892 */
15232 if (!once_value_471
) {
15233 if (!once_value_472
) {
15234 fra
.me
.REG
[6] = BOX_NativeString("calloc_string");
15235 REGB1
= TAG_Int(13);
15236 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15237 once_value_472
= fra
.me
.REG
[6];
15238 register_static_object(&once_value_472
);
15239 } else fra
.me
.REG
[6] = once_value_472
;
15240 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15241 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15242 once_value_471
= fra
.me
.REG
[6];
15243 register_static_object(&once_value_471
);
15244 } else fra
.me
.REG
[6] = once_value_471
;
15245 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15246 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15247 if (UNTAG_Bool(REGB1
)) {
15249 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15252 if (UNTAG_Bool(REGB1
)) {
15253 /* compiling/compiling_icode.nit:893 */
15254 REGB1
= TAG_Int(3);
15255 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15256 if (!once_value_473
) {
15257 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString((char*)raw_alloc((UNTAG_Int(");
15258 REGB1
= TAG_Int(45);
15259 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15260 once_value_473
= fra
.me
.REG
[2];
15261 register_static_object(&once_value_473
);
15262 } else fra
.me
.REG
[2] = once_value_473
;
15263 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15265 REGB1
= TAG_Int(1);
15266 /* ../lib/standard/collection/array.nit:279 */
15267 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15268 /* ../lib/standard/collection/array.nit:281 */
15269 REGB2
= TAG_Int(0);
15270 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15271 if (UNTAG_Bool(REGB0
)) {
15273 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15275 /* ../lib/standard/kernel.nit:243 */
15276 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15277 /* ../lib/standard/collection/array.nit:281 */
15278 if (UNTAG_Bool(REGB2
)) {
15279 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15280 if (UNTAG_Bool(REGB2
)) {
15282 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
15284 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15285 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15286 if (UNTAG_Bool(REGB0
)) {
15288 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15290 /* ../lib/standard/kernel.nit:242 */
15291 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15293 /* ../lib/standard/collection/array.nit:281 */
15294 REGB0
= TAG_Bool(0);
15297 if (UNTAG_Bool(REGB2
)) {
15299 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
15301 /* ../lib/standard/collection/array.nit:282 */
15302 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15303 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15304 if (UNTAG_Bool(REGB2
)) {
15305 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
15307 /* ../lib/standard/collection/array.nit:725 */
15308 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15309 /* ../lib/standard/collection/array.nit:282 */
15311 label474
: while(0);
15312 /* compiling/compiling_icode.nit:893 */
15313 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15314 if (!once_value_475
) {
15315 fra
.me
.REG
[2] = BOX_NativeString(") * sizeof(char))))");
15316 REGB1
= TAG_Int(19);
15317 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15318 once_value_475
= fra
.me
.REG
[2];
15319 register_static_object(&once_value_475
);
15320 } else fra
.me
.REG
[2] = once_value_475
;
15321 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15323 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15324 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15326 /* compiling/compiling_icode.nit:895 */
15327 if (!once_value_476
) {
15328 if (!once_value_477
) {
15329 fra
.me
.REG
[6] = BOX_NativeString("output_class_name");
15330 REGB1
= TAG_Int(17);
15331 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15332 once_value_477
= fra
.me
.REG
[6];
15333 register_static_object(&once_value_477
);
15334 } else fra
.me
.REG
[6] = once_value_477
;
15335 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15336 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15337 once_value_476
= fra
.me
.REG
[6];
15338 register_static_object(&once_value_476
);
15339 } else fra
.me
.REG
[6] = once_value_476
;
15340 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15341 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15342 if (UNTAG_Bool(REGB1
)) {
15344 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15347 if (UNTAG_Bool(REGB1
)) {
15348 /* compiling/compiling_icode.nit:896 */
15349 REGB1
= TAG_Int(3);
15350 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15351 if (!once_value_478
) {
15352 fra
.me
.REG
[2] = BOX_NativeString("printf(\"%s\\n\", VAL2VFT(");
15353 REGB1
= TAG_Int(23);
15354 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15355 once_value_478
= fra
.me
.REG
[2];
15356 register_static_object(&once_value_478
);
15357 } else fra
.me
.REG
[2] = once_value_478
;
15358 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15360 REGB1
= TAG_Int(0);
15361 /* ../lib/standard/collection/array.nit:279 */
15362 fra
.me
.REG
[2] = fra
.me
.REG
[4];
15363 /* ../lib/standard/collection/array.nit:281 */
15364 REGB2
= TAG_Int(0);
15365 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15366 if (UNTAG_Bool(REGB0
)) {
15368 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15370 /* ../lib/standard/kernel.nit:243 */
15371 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15372 /* ../lib/standard/collection/array.nit:281 */
15373 if (UNTAG_Bool(REGB2
)) {
15374 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15375 if (UNTAG_Bool(REGB2
)) {
15377 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
15379 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
15380 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15381 if (UNTAG_Bool(REGB0
)) {
15383 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15385 /* ../lib/standard/kernel.nit:242 */
15386 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15388 /* ../lib/standard/collection/array.nit:281 */
15389 REGB0
= TAG_Bool(0);
15392 if (UNTAG_Bool(REGB2
)) {
15394 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
15396 /* ../lib/standard/collection/array.nit:282 */
15397 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
15398 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
15399 if (UNTAG_Bool(REGB2
)) {
15400 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
15402 /* ../lib/standard/collection/array.nit:725 */
15403 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
15404 /* ../lib/standard/collection/array.nit:282 */
15406 label479
: while(0);
15407 /* compiling/compiling_icode.nit:896 */
15408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15409 if (!once_value_480
) {
15410 fra
.me
.REG
[2] = BOX_NativeString(")[2].cname);");
15411 REGB1
= TAG_Int(12);
15412 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
15413 once_value_480
= fra
.me
.REG
[2];
15414 register_static_object(&once_value_480
);
15415 } else fra
.me
.REG
[2] = once_value_480
;
15416 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
15418 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15419 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15421 /* compiling/compiling_icode.nit:898 */
15422 if (!once_value_481
) {
15423 if (!once_value_482
) {
15424 fra
.me
.REG
[6] = BOX_NativeString("native_class_name");
15425 REGB1
= TAG_Int(17);
15426 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15427 once_value_482
= fra
.me
.REG
[6];
15428 register_static_object(&once_value_482
);
15429 } else fra
.me
.REG
[6] = once_value_482
;
15430 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15431 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15432 once_value_481
= fra
.me
.REG
[6];
15433 register_static_object(&once_value_481
);
15434 } else fra
.me
.REG
[6] = once_value_481
;
15435 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15436 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[6]));
15437 if (UNTAG_Bool(REGB1
)) {
15439 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
15442 if (UNTAG_Bool(REGB1
)) {
15443 /* compiling/compiling_icode.nit:899 */
15444 REGB1
= TAG_Int(3);
15445 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15446 if (!once_value_483
) {
15447 fra
.me
.REG
[3] = BOX_NativeString("BOX_NativeString(VAL2VFT(");
15448 REGB1
= TAG_Int(25);
15449 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
15450 once_value_483
= fra
.me
.REG
[3];
15451 register_static_object(&once_value_483
);
15452 } else fra
.me
.REG
[3] = once_value_483
;
15453 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
15455 REGB1
= TAG_Int(0);
15456 /* ../lib/standard/collection/array.nit:281 */
15457 REGB2
= TAG_Int(0);
15458 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15459 if (UNTAG_Bool(REGB0
)) {
15461 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15463 /* ../lib/standard/kernel.nit:243 */
15464 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
15465 /* ../lib/standard/collection/array.nit:281 */
15466 if (UNTAG_Bool(REGB2
)) {
15467 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
15468 if (UNTAG_Bool(REGB2
)) {
15470 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
15472 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
15473 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
15474 if (UNTAG_Bool(REGB0
)) {
15476 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15478 /* ../lib/standard/kernel.nit:242 */
15479 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
15481 /* ../lib/standard/collection/array.nit:281 */
15482 REGB0
= TAG_Bool(0);
15485 if (UNTAG_Bool(REGB2
)) {
15487 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
15489 /* ../lib/standard/collection/array.nit:282 */
15490 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
15491 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15492 if (UNTAG_Bool(REGB2
)) {
15493 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
15495 /* ../lib/standard/collection/array.nit:725 */
15496 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
15497 /* ../lib/standard/collection/array.nit:282 */
15499 label484
: while(0);
15500 /* compiling/compiling_icode.nit:899 */
15501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
15502 if (!once_value_485
) {
15503 fra
.me
.REG
[4] = BOX_NativeString(")[2].cname);");
15504 REGB1
= TAG_Int(12);
15505 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
15506 once_value_485
= fra
.me
.REG
[4];
15507 register_static_object(&once_value_485
);
15508 } else fra
.me
.REG
[4] = once_value_485
;
15509 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15510 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
15511 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15512 fra
.me
.REG
[5] = fra
.me
.REG
[6];
15528 /* compiling/compiling_icode.nit:902 */
15529 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
15530 if (UNTAG_Bool(REGB1
)) {
15532 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
15533 if (UNTAG_Bool(REGB2
)) {
15534 REGB2
= TAG_Bool(0);
15537 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
15541 if (UNTAG_Bool(REGB1
)) {
15542 /* compiling/compiling_icode.nit:903 */
15543 fra
.me
.REG
[6] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15544 /* compiling/compiling_icode.nit:904 */
15545 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15546 if (UNTAG_Bool(REGB1
)) {
15548 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15549 if (UNTAG_Bool(REGB2
)) {
15550 REGB2
= TAG_Bool(0);
15553 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
15557 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
15558 if (UNTAG_Bool(REGB1
)) {
15559 REGB1
= TAG_Int(3);
15560 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15561 if (!once_value_486
) {
15562 fra
.me
.REG
[3] = BOX_NativeString("fprintf(stderr, \"");
15563 REGB1
= TAG_Int(17);
15564 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
15565 once_value_486
= fra
.me
.REG
[3];
15566 register_static_object(&once_value_486
);
15567 } else fra
.me
.REG
[3] = once_value_486
;
15568 fra
.me
.REG
[3] = fra
.me
.REG
[3];
15569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
15570 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
15571 if (UNTAG_Bool(REGB1
)) {
15572 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 904);
15574 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15575 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15576 if (!once_value_487
) {
15577 fra
.me
.REG
[6] = BOX_NativeString(": \");");
15578 REGB1
= TAG_Int(5);
15579 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15580 once_value_487
= fra
.me
.REG
[6];
15581 register_static_object(&once_value_487
);
15582 } else fra
.me
.REG
[6] = once_value_487
;
15583 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15585 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15586 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15588 /* compiling/compiling_icode.nit:905 */
15589 REGB1
= TAG_Int(3);
15590 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
15591 if (!once_value_488
) {
15592 fra
.me
.REG
[6] = BOX_NativeString("fprintf(stderr, \"Fatal error: unknown intern method ");
15593 REGB1
= TAG_Int(52);
15594 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15595 once_value_488
= fra
.me
.REG
[6];
15596 register_static_object(&once_value_488
);
15597 } else fra
.me
.REG
[6] = once_value_488
;
15598 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15599 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15600 fra
.me
.REG
[6] = CALL_icode___icode_base___INative___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15601 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
15602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15603 if (!once_value_489
) {
15604 fra
.me
.REG
[6] = BOX_NativeString(".\\n\");");
15605 REGB1
= TAG_Int(6);
15606 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15607 once_value_489
= fra
.me
.REG
[6];
15608 register_static_object(&once_value_489
);
15609 } else fra
.me
.REG
[6] = once_value_489
;
15610 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15612 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
15613 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15614 /* compiling/compiling_icode.nit:906 */
15615 if (!once_value_490
) {
15616 fra
.me
.REG
[4] = BOX_NativeString("nit_exit(1);");
15617 REGB1
= TAG_Int(12);
15618 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
15619 once_value_490
= fra
.me
.REG
[4];
15620 register_static_object(&once_value_490
);
15621 } else fra
.me
.REG
[4] = once_value_490
;
15622 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15623 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
15624 /* compiling/compiling_icode.nit:907 */
15625 if (!once_value_491
) {
15626 fra
.me
.REG
[4] = BOX_NativeString("NIT_NULL");
15627 REGB1
= TAG_Int(8);
15628 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
15629 once_value_491
= fra
.me
.REG
[4];
15630 register_static_object(&once_value_491
);
15631 } else fra
.me
.REG
[4] = once_value_491
;
15632 fra
.me
.REG
[4] = fra
.me
.REG
[4];
15633 fra
.me
.REG
[5] = fra
.me
.REG
[4];
15635 /* compiling/compiling_icode.nit:909 */
15636 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15637 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15638 if (UNTAG_Bool(REGB1
)) {
15640 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
15641 if (UNTAG_Bool(REGB2
)) {
15642 REGB2
= TAG_Bool(0);
15645 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
15649 if (UNTAG_Bool(REGB1
)) {
15650 /* compiling/compiling_icode.nit:910 */
15651 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15652 fra
.me
.REG
[4] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
15653 if (!once_value_492
) {
15654 fra
.me
.REG
[6] = BOX_NativeString(";\n");
15655 REGB1
= TAG_Int(2);
15656 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
15657 once_value_492
= fra
.me
.REG
[6];
15658 register_static_object(&once_value_492
);
15659 } else fra
.me
.REG
[6] = once_value_492
;
15660 fra
.me
.REG
[6] = fra
.me
.REG
[6];
15661 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
15663 /* compiling/compiling_icode.nit:911 */
15664 REGB1
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15665 if (UNTAG_Bool(REGB1
)) {
15666 /* compiling/compiling_icode.nit:912 */
15667 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15668 /* compiling/compiling_icode.nit:913 */
15669 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
15672 stack_frame_head
= fra
.me
.prev
;
15675 static const char LOCATE_compiling___compiling_icode___IIntValue___compile_to_c
[] = "compiling_icode::IIntValue::(compiling_icode::ICode::compile_to_c)";
15676 void compiling___compiling_icode___IIntValue___compile_to_c(val_t p0
, val_t p1
){
15677 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15680 static val_t once_value_1
; /* Once value */
15681 static val_t once_value_2
; /* Once value */
15682 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15683 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15685 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIntValue___compile_to_c
;
15686 fra
.me
.has_broke
= 0;
15687 fra
.me
.REG_size
= 3;
15688 fra
.me
.nitni_local_ref_head
= NULL
;
15689 fra
.me
.REG
[0] = NIT_NULL
;
15690 fra
.me
.REG
[1] = NIT_NULL
;
15691 fra
.me
.REG
[2] = NIT_NULL
;
15692 fra
.me
.REG
[0] = p0
;
15693 fra
.me
.REG
[1] = p1
;
15694 /* compiling/compiling_icode.nit:921 */
15695 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15696 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15697 /* compiling/compiling_icode.nit:922 */
15698 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15699 /* compiling/compiling_icode.nit:923 */
15700 if (!once_value_1
) {
15701 fra
.me
.REG
[2] = BOX_NativeString("TAG_Int(");
15702 REGB0
= TAG_Int(8);
15703 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15704 once_value_1
= fra
.me
.REG
[2];
15705 register_static_object(&once_value_1
);
15706 } else fra
.me
.REG
[2] = once_value_1
;
15707 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15708 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15709 fra
.me
.REG
[0] = CALL_icode___icode_base___IIntValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15710 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15711 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15712 if (!once_value_2
) {
15713 fra
.me
.REG
[2] = BOX_NativeString(")");
15714 REGB0
= TAG_Int(1);
15715 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15716 once_value_2
= fra
.me
.REG
[2];
15717 register_static_object(&once_value_2
);
15718 } else fra
.me
.REG
[2] = once_value_2
;
15719 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15720 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15721 stack_frame_head
= fra
.me
.prev
;
15724 static const char LOCATE_compiling___compiling_icode___IBoolValue___compile_to_c
[] = "compiling_icode::IBoolValue::(compiling_icode::ICode::compile_to_c)";
15725 void compiling___compiling_icode___IBoolValue___compile_to_c(val_t p0
, val_t p1
){
15726 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15729 static val_t once_value_1
; /* Once value */
15730 static val_t once_value_2
; /* Once value */
15731 static val_t once_value_3
; /* Once value */
15732 static val_t once_value_4
; /* Once value */
15733 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15734 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15736 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IBoolValue___compile_to_c
;
15737 fra
.me
.has_broke
= 0;
15738 fra
.me
.REG_size
= 3;
15739 fra
.me
.nitni_local_ref_head
= NULL
;
15740 fra
.me
.REG
[0] = NIT_NULL
;
15741 fra
.me
.REG
[1] = NIT_NULL
;
15742 fra
.me
.REG
[2] = NIT_NULL
;
15743 fra
.me
.REG
[0] = p0
;
15744 fra
.me
.REG
[1] = p1
;
15745 /* compiling/compiling_icode.nit:930 */
15746 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15747 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15748 /* compiling/compiling_icode.nit:931 */
15749 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15750 /* compiling/compiling_icode.nit:932 */
15751 if (!once_value_1
) {
15752 fra
.me
.REG
[2] = BOX_NativeString("TAG_Bool(");
15753 REGB0
= TAG_Int(9);
15754 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15755 once_value_1
= fra
.me
.REG
[2];
15756 register_static_object(&once_value_1
);
15757 } else fra
.me
.REG
[2] = once_value_1
;
15758 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15759 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15760 /* compiling/compiling_icode.nit:933 */
15761 REGB0
= CALL_icode___icode_base___IBoolValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15762 if (UNTAG_Bool(REGB0
)) {
15763 if (!once_value_2
) {
15764 fra
.me
.REG
[0] = BOX_NativeString("1");
15765 REGB0
= TAG_Int(1);
15766 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
15767 once_value_2
= fra
.me
.REG
[0];
15768 register_static_object(&once_value_2
);
15769 } else fra
.me
.REG
[0] = once_value_2
;
15770 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15771 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15773 if (!once_value_3
) {
15774 fra
.me
.REG
[0] = BOX_NativeString("0");
15775 REGB0
= TAG_Int(1);
15776 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
15777 once_value_3
= fra
.me
.REG
[0];
15778 register_static_object(&once_value_3
);
15779 } else fra
.me
.REG
[0] = once_value_3
;
15780 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15781 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15783 /* compiling/compiling_icode.nit:934 */
15784 if (!once_value_4
) {
15785 fra
.me
.REG
[0] = BOX_NativeString(")");
15786 REGB0
= TAG_Int(1);
15787 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
15788 once_value_4
= fra
.me
.REG
[0];
15789 register_static_object(&once_value_4
);
15790 } else fra
.me
.REG
[0] = once_value_4
;
15791 fra
.me
.REG
[0] = fra
.me
.REG
[0];
15792 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
15793 stack_frame_head
= fra
.me
.prev
;
15796 static const char LOCATE_compiling___compiling_icode___ICharValue___compile_to_c
[] = "compiling_icode::ICharValue::(compiling_icode::ICode::compile_to_c)";
15797 void compiling___compiling_icode___ICharValue___compile_to_c(val_t p0
, val_t p1
){
15798 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15801 static val_t once_value_1
; /* Once value */
15802 static val_t once_value_2
; /* Once value */
15803 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15804 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15806 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ICharValue___compile_to_c
;
15807 fra
.me
.has_broke
= 0;
15808 fra
.me
.REG_size
= 3;
15809 fra
.me
.nitni_local_ref_head
= NULL
;
15810 fra
.me
.REG
[0] = NIT_NULL
;
15811 fra
.me
.REG
[1] = NIT_NULL
;
15812 fra
.me
.REG
[2] = NIT_NULL
;
15813 fra
.me
.REG
[0] = p0
;
15814 fra
.me
.REG
[1] = p1
;
15815 /* compiling/compiling_icode.nit:941 */
15816 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15817 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15818 /* compiling/compiling_icode.nit:942 */
15819 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15820 /* compiling/compiling_icode.nit:943 */
15821 if (!once_value_1
) {
15822 fra
.me
.REG
[2] = BOX_NativeString("TAG_Char(");
15823 REGB0
= TAG_Int(9);
15824 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15825 once_value_1
= fra
.me
.REG
[2];
15826 register_static_object(&once_value_1
);
15827 } else fra
.me
.REG
[2] = once_value_1
;
15828 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15829 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15830 fra
.me
.REG
[0] = CALL_icode___icode_base___ICharValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15831 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15832 if (!once_value_2
) {
15833 fra
.me
.REG
[2] = BOX_NativeString(")");
15834 REGB0
= TAG_Int(1);
15835 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15836 once_value_2
= fra
.me
.REG
[2];
15837 register_static_object(&once_value_2
);
15838 } else fra
.me
.REG
[2] = once_value_2
;
15839 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15840 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15841 stack_frame_head
= fra
.me
.prev
;
15844 static const char LOCATE_compiling___compiling_icode___IFloatValue___compile_to_c
[] = "compiling_icode::IFloatValue::(compiling_icode::ICode::compile_to_c)";
15845 void compiling___compiling_icode___IFloatValue___compile_to_c(val_t p0
, val_t p1
){
15846 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15849 static val_t once_value_1
; /* Once value */
15850 static val_t once_value_2
; /* Once value */
15851 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15852 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15854 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IFloatValue___compile_to_c
;
15855 fra
.me
.has_broke
= 0;
15856 fra
.me
.REG_size
= 3;
15857 fra
.me
.nitni_local_ref_head
= NULL
;
15858 fra
.me
.REG
[0] = NIT_NULL
;
15859 fra
.me
.REG
[1] = NIT_NULL
;
15860 fra
.me
.REG
[2] = NIT_NULL
;
15861 fra
.me
.REG
[0] = p0
;
15862 fra
.me
.REG
[1] = p1
;
15863 /* compiling/compiling_icode.nit:950 */
15864 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15865 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15866 /* compiling/compiling_icode.nit:951 */
15867 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15868 /* compiling/compiling_icode.nit:952 */
15869 if (!once_value_1
) {
15870 fra
.me
.REG
[2] = BOX_NativeString("BOX_Float(");
15871 REGB0
= TAG_Int(10);
15872 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15873 once_value_1
= fra
.me
.REG
[2];
15874 register_static_object(&once_value_1
);
15875 } else fra
.me
.REG
[2] = once_value_1
;
15876 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15877 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15878 fra
.me
.REG
[0] = CALL_icode___icode_base___IFloatValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15879 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15880 if (!once_value_2
) {
15881 fra
.me
.REG
[2] = BOX_NativeString(")");
15882 REGB0
= TAG_Int(1);
15883 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15884 once_value_2
= fra
.me
.REG
[2];
15885 register_static_object(&once_value_2
);
15886 } else fra
.me
.REG
[2] = once_value_2
;
15887 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15888 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15889 stack_frame_head
= fra
.me
.prev
;
15892 static const char LOCATE_compiling___compiling_icode___IStringValue___compile_to_c
[] = "compiling_icode::IStringValue::(compiling_icode::ICode::compile_to_c)";
15893 void compiling___compiling_icode___IStringValue___compile_to_c(val_t p0
, val_t p1
){
15894 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15897 static val_t once_value_1
; /* Once value */
15898 static val_t once_value_2
; /* Once value */
15899 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15900 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15902 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IStringValue___compile_to_c
;
15903 fra
.me
.has_broke
= 0;
15904 fra
.me
.REG_size
= 3;
15905 fra
.me
.nitni_local_ref_head
= NULL
;
15906 fra
.me
.REG
[0] = NIT_NULL
;
15907 fra
.me
.REG
[1] = NIT_NULL
;
15908 fra
.me
.REG
[2] = NIT_NULL
;
15909 fra
.me
.REG
[0] = p0
;
15910 fra
.me
.REG
[1] = p1
;
15911 /* compiling/compiling_icode.nit:959 */
15912 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15913 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15914 /* compiling/compiling_icode.nit:960 */
15915 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
15916 /* compiling/compiling_icode.nit:961 */
15917 if (!once_value_1
) {
15918 fra
.me
.REG
[2] = BOX_NativeString("BOX_NativeString(\"");
15919 REGB0
= TAG_Int(18);
15920 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15921 once_value_1
= fra
.me
.REG
[2];
15922 register_static_object(&once_value_1
);
15923 } else fra
.me
.REG
[2] = once_value_1
;
15924 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15925 fra
.me
.REG
[2] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15926 fra
.me
.REG
[0] = CALL_icode___icode_base___IStringValue___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15927 fra
.me
.REG
[0] = CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
15928 if (!once_value_2
) {
15929 fra
.me
.REG
[2] = BOX_NativeString("\")");
15930 REGB0
= TAG_Int(2);
15931 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15932 once_value_2
= fra
.me
.REG
[2];
15933 register_static_object(&once_value_2
);
15934 } else fra
.me
.REG
[2] = once_value_2
;
15935 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15936 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
15937 stack_frame_head
= fra
.me
.prev
;
15940 static const char LOCATE_compiling___compiling_icode___IAbort___compile_to_c
[] = "compiling_icode::IAbort::(compiling_icode::ICode::compile_to_c)";
15941 void compiling___compiling_icode___IAbort___compile_to_c(val_t p0
, val_t p1
){
15942 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
15947 static val_t once_value_1
; /* Once value */
15948 static val_t once_value_3
; /* Once value */
15949 static val_t once_value_5
; /* Once value */
15950 static val_t once_value_6
; /* Once value */
15951 static val_t once_value_7
; /* Once value */
15952 static val_t once_value_8
; /* Once value */
15953 static val_t once_value_9
; /* Once value */
15954 static val_t once_value_10
; /* Once value */
15955 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
15956 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
15958 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAbort___compile_to_c
;
15959 fra
.me
.has_broke
= 0;
15960 fra
.me
.REG_size
= 3;
15961 fra
.me
.nitni_local_ref_head
= NULL
;
15962 fra
.me
.REG
[0] = NIT_NULL
;
15963 fra
.me
.REG
[1] = NIT_NULL
;
15964 fra
.me
.REG
[2] = NIT_NULL
;
15965 fra
.me
.REG
[0] = p0
;
15966 fra
.me
.REG
[1] = p1
;
15967 /* compiling/compiling_icode.nit:968 */
15968 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15969 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15970 /* compiling/compiling_icode.nit:969 */
15971 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
15972 /* compiling/compiling_icode.nit:970 */
15973 if (!once_value_1
) {
15974 fra
.me
.REG
[2] = BOX_NativeString("nit_abort(\"");
15975 REGB0
= TAG_Int(11);
15976 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
15977 once_value_1
= fra
.me
.REG
[2];
15978 register_static_object(&once_value_1
);
15979 } else fra
.me
.REG
[2] = once_value_1
;
15980 fra
.me
.REG
[2] = fra
.me
.REG
[2];
15981 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
15982 /* compiling/compiling_icode.nit:971 */
15983 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
15984 REGB0
= TAG_Int(0);
15985 /* ../lib/standard/collection/array.nit:281 */
15986 REGB1
= TAG_Int(0);
15987 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
15988 if (UNTAG_Bool(REGB2
)) {
15990 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
15992 /* ../lib/standard/kernel.nit:243 */
15993 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
15994 /* ../lib/standard/collection/array.nit:281 */
15995 if (UNTAG_Bool(REGB1
)) {
15996 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
15997 if (UNTAG_Bool(REGB1
)) {
15999 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
16001 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
16002 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
16003 if (UNTAG_Bool(REGB2
)) {
16005 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
16007 /* ../lib/standard/kernel.nit:242 */
16008 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
16010 /* ../lib/standard/collection/array.nit:281 */
16011 REGB2
= TAG_Bool(0);
16014 if (UNTAG_Bool(REGB1
)) {
16016 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
16018 /* ../lib/standard/collection/array.nit:282 */
16019 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
16020 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
16021 if (UNTAG_Bool(REGB1
)) {
16022 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
16024 /* ../lib/standard/collection/array.nit:725 */
16025 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
16026 /* ../lib/standard/collection/array.nit:282 */
16029 /* compiling/compiling_icode.nit:971 */
16030 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16031 /* compiling/compiling_icode.nit:972 */
16032 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16033 /* ../lib/standard/collection/array.nit:24 */
16034 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
16035 if (UNTAG_Bool(REGB0
)) {
16037 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
16039 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
16040 /* compiling/compiling_icode.nit:972 */
16041 REGB1
= TAG_Int(1);
16042 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
16043 if (UNTAG_Bool(REGB2
)) {
16045 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
16047 /* ../lib/standard/kernel.nit:244 */
16048 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
16049 /* compiling/compiling_icode.nit:972 */
16050 if (UNTAG_Bool(REGB1
)) {
16051 /* compiling/compiling_icode.nit:973 */
16052 if (!once_value_3
) {
16053 fra
.me
.REG
[2] = BOX_NativeString("\", \"");
16054 REGB1
= TAG_Int(4);
16055 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
16056 once_value_3
= fra
.me
.REG
[2];
16057 register_static_object(&once_value_3
);
16058 } else fra
.me
.REG
[2] = once_value_3
;
16059 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16060 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16061 /* compiling/compiling_icode.nit:974 */
16062 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16063 REGB1
= TAG_Int(1);
16064 /* ../lib/standard/collection/array.nit:281 */
16065 REGB0
= TAG_Int(0);
16066 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
16067 if (UNTAG_Bool(REGB2
)) {
16069 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
16071 /* ../lib/standard/kernel.nit:243 */
16072 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
16073 /* ../lib/standard/collection/array.nit:281 */
16074 if (UNTAG_Bool(REGB0
)) {
16075 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
16076 if (UNTAG_Bool(REGB0
)) {
16078 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
16080 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
16081 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
16082 if (UNTAG_Bool(REGB2
)) {
16084 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
16086 /* ../lib/standard/kernel.nit:242 */
16087 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
16089 /* ../lib/standard/collection/array.nit:281 */
16090 REGB2
= TAG_Bool(0);
16093 if (UNTAG_Bool(REGB0
)) {
16095 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
16097 /* ../lib/standard/collection/array.nit:282 */
16098 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
16099 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
16100 if (UNTAG_Bool(REGB0
)) {
16101 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
16103 /* ../lib/standard/collection/array.nit:725 */
16104 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
16105 /* ../lib/standard/collection/array.nit:282 */
16108 /* compiling/compiling_icode.nit:974 */
16109 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16110 /* compiling/compiling_icode.nit:975 */
16111 if (!once_value_5
) {
16112 fra
.me
.REG
[2] = BOX_NativeString("\"");
16113 REGB1
= TAG_Int(1);
16114 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
16115 once_value_5
= fra
.me
.REG
[2];
16116 register_static_object(&once_value_5
);
16117 } else fra
.me
.REG
[2] = once_value_5
;
16118 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16119 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16121 /* compiling/compiling_icode.nit:977 */
16122 if (!once_value_6
) {
16123 fra
.me
.REG
[2] = BOX_NativeString("\", NULL");
16124 REGB1
= TAG_Int(7);
16125 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
16126 once_value_6
= fra
.me
.REG
[2];
16127 register_static_object(&once_value_6
);
16128 } else fra
.me
.REG
[2] = once_value_6
;
16129 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16130 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16132 /* compiling/compiling_icode.nit:979 */
16133 if (!once_value_7
) {
16134 fra
.me
.REG
[2] = BOX_NativeString(", LOCATE_");
16135 REGB1
= TAG_Int(9);
16136 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
16137 once_value_7
= fra
.me
.REG
[2];
16138 register_static_object(&once_value_7
);
16139 } else fra
.me
.REG
[2] = once_value_7
;
16140 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16141 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16142 /* compiling/compiling_icode.nit:980 */
16143 fra
.me
.REG
[2] = CALL_icode___icode_base___IAbort___module_location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16144 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMModule___cname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16145 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16146 /* compiling/compiling_icode.nit:981 */
16147 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16148 /* compiling/compiling_icode.nit:982 */
16149 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
16150 if (UNTAG_Bool(REGB1
)) {
16152 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
16153 if (UNTAG_Bool(REGB0
)) {
16154 REGB0
= TAG_Bool(0);
16157 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
16161 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
16162 if (UNTAG_Bool(REGB1
)) {
16163 /* compiling/compiling_icode.nit:983 */
16164 if (!once_value_8
) {
16165 fra
.me
.REG
[2] = BOX_NativeString(", ");
16166 REGB1
= TAG_Int(2);
16167 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
16168 once_value_8
= fra
.me
.REG
[2];
16169 register_static_object(&once_value_8
);
16170 } else fra
.me
.REG
[2] = once_value_8
;
16171 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16172 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16173 /* compiling/compiling_icode.nit:984 */
16174 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
16175 if (UNTAG_Bool(REGB1
)) {
16176 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 984);
16178 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16179 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
16180 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16182 /* compiling/compiling_icode.nit:986 */
16183 if (!once_value_9
) {
16184 fra
.me
.REG
[0] = BOX_NativeString(", 0");
16185 REGB1
= TAG_Int(3);
16186 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
16187 once_value_9
= fra
.me
.REG
[0];
16188 register_static_object(&once_value_9
);
16189 } else fra
.me
.REG
[0] = once_value_9
;
16190 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16191 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16193 /* compiling/compiling_icode.nit:988 */
16194 if (!once_value_10
) {
16195 fra
.me
.REG
[0] = BOX_NativeString(");\n");
16196 REGB1
= TAG_Int(3);
16197 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
16198 once_value_10
= fra
.me
.REG
[0];
16199 register_static_object(&once_value_10
);
16200 } else fra
.me
.REG
[0] = once_value_10
;
16201 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16202 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16203 stack_frame_head
= fra
.me
.prev
;
16206 static const char LOCATE_compiling___compiling_icode___IMove___compile_to_c
[] = "compiling_icode::IMove::(compiling_icode::ICode::compile_to_c)";
16207 void compiling___compiling_icode___IMove___compile_to_c(val_t p0
, val_t p1
){
16208 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
16212 static val_t once_value_2
; /* Once value */
16213 static val_t once_value_3
; /* Once value */
16214 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16215 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16217 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IMove___compile_to_c
;
16218 fra
.me
.has_broke
= 0;
16219 fra
.me
.REG_size
= 5;
16220 fra
.me
.nitni_local_ref_head
= NULL
;
16221 fra
.me
.REG
[0] = NIT_NULL
;
16222 fra
.me
.REG
[1] = NIT_NULL
;
16223 fra
.me
.REG
[2] = NIT_NULL
;
16224 fra
.me
.REG
[3] = NIT_NULL
;
16225 fra
.me
.REG
[4] = NIT_NULL
;
16226 fra
.me
.REG
[0] = p0
;
16227 fra
.me
.REG
[1] = p1
;
16228 /* compiling/compiling_icode.nit:993 */
16229 fra
.me
.REG
[2] = fra
.me
.REG
[0];
16230 /* compiling/compiling_icode.nit:995 */
16231 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16232 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16233 if (UNTAG_Bool(REGB0
)) {
16236 /* compiling/compiling_icode.nit:996 */
16237 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16238 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16239 /* compiling/compiling_icode.nit:997 */
16240 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16241 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*/;
16242 if (UNTAG_Bool(REGB0
)) {
16244 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 997);
16246 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16247 /* compiling/compiling_icode.nit:998 */
16248 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
16249 if (UNTAG_Bool(REGB0
)) {
16251 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16254 if (UNTAG_Bool(REGB0
)) {
16257 /* compiling/compiling_icode.nit:999 */
16258 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
16259 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16260 /* compiling/compiling_icode.nit:1000 */
16261 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16262 /* compiling/compiling_icode.nit:1001 */
16263 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16264 /* compiling/compiling_icode.nit:1002 */
16265 if (!once_value_2
) {
16266 fra
.me
.REG
[4] = BOX_NativeString(" = ");
16267 REGB0
= TAG_Int(3);
16268 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16269 once_value_2
= fra
.me
.REG
[4];
16270 register_static_object(&once_value_2
);
16271 } else fra
.me
.REG
[4] = once_value_2
;
16272 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16273 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
16274 /* compiling/compiling_icode.nit:1003 */
16275 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16276 /* compiling/compiling_icode.nit:1004 */
16277 if (!once_value_3
) {
16278 fra
.me
.REG
[3] = BOX_NativeString(";\n");
16279 REGB0
= TAG_Int(2);
16280 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16281 once_value_3
= fra
.me
.REG
[3];
16282 register_static_object(&once_value_3
);
16283 } else fra
.me
.REG
[3] = once_value_3
;
16284 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16285 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16287 stack_frame_head
= fra
.me
.prev
;
16290 static const char LOCATE_compiling___compiling_icode___IAttrRead___compile_to_c
[] = "compiling_icode::IAttrRead::(compiling_icode::ICode::compile_to_c)";
16291 void compiling___compiling_icode___IAttrRead___compile_to_c(val_t p0
, val_t p1
){
16292 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16295 static val_t once_value_2
; /* Once value */
16296 static val_t once_value_3
; /* Once value */
16297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16298 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16299 fra
.me
.line
= 1009;
16300 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrRead___compile_to_c
;
16301 fra
.me
.has_broke
= 0;
16302 fra
.me
.REG_size
= 4;
16303 fra
.me
.nitni_local_ref_head
= NULL
;
16304 fra
.me
.REG
[0] = NIT_NULL
;
16305 fra
.me
.REG
[1] = NIT_NULL
;
16306 fra
.me
.REG
[2] = NIT_NULL
;
16307 fra
.me
.REG
[3] = NIT_NULL
;
16308 fra
.me
.REG
[0] = p0
;
16309 fra
.me
.REG
[1] = p1
;
16310 /* compiling/compiling_icode.nit:1011 */
16311 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16312 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16313 if (UNTAG_Bool(REGB0
)) {
16316 /* compiling/compiling_icode.nit:1012 */
16317 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16318 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16319 /* compiling/compiling_icode.nit:1013 */
16320 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16321 /* compiling/compiling_icode.nit:1014 */
16322 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrRead___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16323 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16324 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16325 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16326 /* compiling/compiling_icode.nit:1015 */
16327 if (!once_value_2
) {
16328 fra
.me
.REG
[3] = BOX_NativeString("(");
16329 REGB0
= TAG_Int(1);
16330 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16331 once_value_2
= fra
.me
.REG
[3];
16332 register_static_object(&once_value_2
);
16333 } else fra
.me
.REG
[3] = once_value_2
;
16334 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16335 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16336 /* compiling/compiling_icode.nit:1016 */
16337 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16338 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16339 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16340 /* compiling/compiling_icode.nit:1017 */
16341 if (!once_value_3
) {
16342 fra
.me
.REG
[0] = BOX_NativeString(")");
16343 REGB0
= TAG_Int(1);
16344 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
16345 once_value_3
= fra
.me
.REG
[0];
16346 register_static_object(&once_value_3
);
16347 } else fra
.me
.REG
[0] = once_value_3
;
16348 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16349 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16351 stack_frame_head
= fra
.me
.prev
;
16354 static const char LOCATE_compiling___compiling_icode___IAttrIsset___compile_to_c
[] = "compiling_icode::IAttrIsset::(compiling_icode::ICode::compile_to_c)";
16355 void compiling___compiling_icode___IAttrIsset___compile_to_c(val_t p0
, val_t p1
){
16356 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16359 static val_t once_value_2
; /* Once value */
16360 static val_t once_value_3
; /* Once value */
16361 static val_t once_value_4
; /* Once value */
16362 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16363 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16364 fra
.me
.line
= 1022;
16365 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrIsset___compile_to_c
;
16366 fra
.me
.has_broke
= 0;
16367 fra
.me
.REG_size
= 4;
16368 fra
.me
.nitni_local_ref_head
= NULL
;
16369 fra
.me
.REG
[0] = NIT_NULL
;
16370 fra
.me
.REG
[1] = NIT_NULL
;
16371 fra
.me
.REG
[2] = NIT_NULL
;
16372 fra
.me
.REG
[3] = NIT_NULL
;
16373 fra
.me
.REG
[0] = p0
;
16374 fra
.me
.REG
[1] = p1
;
16375 /* compiling/compiling_icode.nit:1024 */
16376 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16377 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16378 if (UNTAG_Bool(REGB0
)) {
16381 /* compiling/compiling_icode.nit:1025 */
16382 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16383 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16384 /* compiling/compiling_icode.nit:1026 */
16385 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16386 /* compiling/compiling_icode.nit:1027 */
16387 if (!once_value_2
) {
16388 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
16389 REGB0
= TAG_Int(9);
16390 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16391 once_value_2
= fra
.me
.REG
[3];
16392 register_static_object(&once_value_2
);
16393 } else fra
.me
.REG
[3] = once_value_2
;
16394 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16395 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16396 /* compiling/compiling_icode.nit:1028 */
16397 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrIsset___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16398 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16399 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16400 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16401 /* compiling/compiling_icode.nit:1029 */
16402 if (!once_value_3
) {
16403 fra
.me
.REG
[3] = BOX_NativeString("(");
16404 REGB0
= TAG_Int(1);
16405 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16406 once_value_3
= fra
.me
.REG
[3];
16407 register_static_object(&once_value_3
);
16408 } else fra
.me
.REG
[3] = once_value_3
;
16409 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16410 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16411 /* compiling/compiling_icode.nit:1030 */
16412 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16413 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16414 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16415 /* compiling/compiling_icode.nit:1031 */
16416 if (!once_value_4
) {
16417 fra
.me
.REG
[0] = BOX_NativeString(")!=NIT_NULL)");
16418 REGB0
= TAG_Int(12);
16419 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
16420 once_value_4
= fra
.me
.REG
[0];
16421 register_static_object(&once_value_4
);
16422 } else fra
.me
.REG
[0] = once_value_4
;
16423 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16424 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16426 stack_frame_head
= fra
.me
.prev
;
16429 static const char LOCATE_compiling___compiling_icode___IAttrWrite___compile_to_c
[] = "compiling_icode::IAttrWrite::(compiling_icode::ICode::compile_to_c)";
16430 void compiling___compiling_icode___IAttrWrite___compile_to_c(val_t p0
, val_t p1
){
16431 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
16434 static val_t once_value_1
; /* Once value */
16435 static val_t once_value_2
; /* Once value */
16436 static val_t once_value_3
; /* Once value */
16437 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16438 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16439 fra
.me
.line
= 1036;
16440 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IAttrWrite___compile_to_c
;
16441 fra
.me
.has_broke
= 0;
16442 fra
.me
.REG_size
= 4;
16443 fra
.me
.nitni_local_ref_head
= NULL
;
16444 fra
.me
.REG
[0] = NIT_NULL
;
16445 fra
.me
.REG
[1] = NIT_NULL
;
16446 fra
.me
.REG
[2] = NIT_NULL
;
16447 fra
.me
.REG
[3] = NIT_NULL
;
16448 fra
.me
.REG
[0] = p0
;
16449 fra
.me
.REG
[1] = p1
;
16450 /* compiling/compiling_icode.nit:1038 */
16451 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16452 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16453 /* compiling/compiling_icode.nit:1039 */
16454 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___new_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16455 /* compiling/compiling_icode.nit:1040 */
16456 fra
.me
.REG
[3] = CALL_icode___icode_base___IAttrWrite___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16457 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16458 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMGlobalProperty___attr_access(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16459 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16460 /* compiling/compiling_icode.nit:1041 */
16461 if (!once_value_1
) {
16462 fra
.me
.REG
[3] = BOX_NativeString("(");
16463 REGB0
= TAG_Int(1);
16464 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16465 once_value_1
= fra
.me
.REG
[3];
16466 register_static_object(&once_value_1
);
16467 } else fra
.me
.REG
[3] = once_value_1
;
16468 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16469 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16470 /* compiling/compiling_icode.nit:1042 */
16471 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16472 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16473 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16474 /* compiling/compiling_icode.nit:1043 */
16475 if (!once_value_2
) {
16476 fra
.me
.REG
[3] = BOX_NativeString(") = ");
16477 REGB0
= TAG_Int(4);
16478 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16479 once_value_2
= fra
.me
.REG
[3];
16480 register_static_object(&once_value_2
);
16481 } else fra
.me
.REG
[3] = once_value_2
;
16482 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16483 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16484 /* compiling/compiling_icode.nit:1044 */
16485 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16486 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16487 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16488 /* compiling/compiling_icode.nit:1045 */
16489 if (!once_value_3
) {
16490 fra
.me
.REG
[0] = BOX_NativeString(";\n");
16491 REGB0
= TAG_Int(2);
16492 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
16493 once_value_3
= fra
.me
.REG
[0];
16494 register_static_object(&once_value_3
);
16495 } else fra
.me
.REG
[0] = once_value_3
;
16496 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16497 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
16498 stack_frame_head
= fra
.me
.prev
;
16501 static const char LOCATE_compiling___compiling_icode___ITypeCheck___compile_to_c
[] = "compiling_icode::ITypeCheck::(compiling_icode::ICode::compile_to_c)";
16502 void compiling___compiling_icode___ITypeCheck___compile_to_c(val_t p0
, val_t p1
){
16503 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16507 static val_t once_value_2
; /* Once value */
16508 static val_t once_value_3
; /* Once value */
16509 static val_t once_value_4
; /* Once value */
16510 static val_t once_value_5
; /* Once value */
16511 static val_t once_value_6
; /* Once value */
16512 static val_t once_value_7
; /* Once value */
16513 static val_t once_value_8
; /* Once value */
16514 static val_t once_value_9
; /* Once value */
16515 static val_t once_value_10
; /* Once value */
16516 static val_t once_value_11
; /* Once value */
16517 static val_t once_value_12
; /* Once value */
16518 static val_t once_value_13
; /* Once value */
16519 static val_t once_value_14
; /* Once value */
16520 static val_t once_value_15
; /* Once value */
16521 static val_t once_value_16
; /* Once value */
16522 static val_t once_value_17
; /* Once value */
16523 static val_t once_value_18
; /* Once value */
16524 static val_t once_value_19
; /* Once value */
16525 static val_t once_value_20
; /* Once value */
16526 static val_t once_value_21
; /* Once value */
16527 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16528 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16529 fra
.me
.line
= 1050;
16530 fra
.me
.meth
= LOCATE_compiling___compiling_icode___ITypeCheck___compile_to_c
;
16531 fra
.me
.has_broke
= 0;
16532 fra
.me
.REG_size
= 6;
16533 fra
.me
.nitni_local_ref_head
= NULL
;
16534 fra
.me
.REG
[0] = NIT_NULL
;
16535 fra
.me
.REG
[1] = NIT_NULL
;
16536 fra
.me
.REG
[2] = NIT_NULL
;
16537 fra
.me
.REG
[3] = NIT_NULL
;
16538 fra
.me
.REG
[4] = NIT_NULL
;
16539 fra
.me
.REG
[5] = NIT_NULL
;
16540 fra
.me
.REG
[0] = p0
;
16541 fra
.me
.REG
[1] = p1
;
16542 /* compiling/compiling_icode.nit:1052 */
16543 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16544 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16545 if (UNTAG_Bool(REGB0
)) {
16548 /* compiling/compiling_icode.nit:1053 */
16549 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16550 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16551 /* compiling/compiling_icode.nit:1054 */
16552 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16553 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16554 /* compiling/compiling_icode.nit:1055 */
16555 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16556 /* compiling/compiling_icode.nit:1056 */
16557 if (!once_value_2
) {
16558 fra
.me
.REG
[4] = BOX_NativeString("TAG_Bool(");
16559 REGB0
= TAG_Int(9);
16560 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16561 once_value_2
= fra
.me
.REG
[4];
16562 register_static_object(&once_value_2
);
16563 } else fra
.me
.REG
[4] = once_value_2
;
16564 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16565 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16566 /* compiling/compiling_icode.nit:1057 */
16567 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16568 fra
.me
.REG
[4] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16569 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16570 if (UNTAG_Bool(REGB0
)) {
16571 /* compiling/compiling_icode.nit:1058 */
16572 fra
.me
.REG
[4] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16573 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16574 if (UNTAG_Bool(REGB0
)) {
16575 /* compiling/compiling_icode.nit:1059 */
16576 if (!once_value_3
) {
16577 fra
.me
.REG
[4] = BOX_NativeString("(");
16578 REGB0
= TAG_Int(1);
16579 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16580 once_value_3
= fra
.me
.REG
[4];
16581 register_static_object(&once_value_3
);
16582 } else fra
.me
.REG
[4] = once_value_3
;
16583 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16584 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16585 /* compiling/compiling_icode.nit:1060 */
16586 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16587 /* compiling/compiling_icode.nit:1061 */
16588 if (!once_value_4
) {
16589 fra
.me
.REG
[4] = BOX_NativeString("==NIT_NULL) || ");
16590 REGB0
= TAG_Int(15);
16591 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16592 once_value_4
= fra
.me
.REG
[4];
16593 register_static_object(&once_value_4
);
16594 } else fra
.me
.REG
[4] = once_value_4
;
16595 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16596 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16598 /* compiling/compiling_icode.nit:1062 */
16599 fra
.me
.REG
[4] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16600 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16601 fra
.me
.REG
[5] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16602 fra
.me
.REG
[5] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16603 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[5]));
16604 if (UNTAG_Bool(REGB0
)) {
16606 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
16609 if (UNTAG_Bool(REGB0
)) {
16610 /* compiling/compiling_icode.nit:1063 */
16611 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16612 /* compiling/compiling_icode.nit:1064 */
16613 if (!once_value_5
) {
16614 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL)");
16615 REGB0
= TAG_Int(11);
16616 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
16617 once_value_5
= fra
.me
.REG
[5];
16618 register_static_object(&once_value_5
);
16619 } else fra
.me
.REG
[5] = once_value_5
;
16620 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16621 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16622 /* compiling/compiling_icode.nit:1065 */
16625 /* compiling/compiling_icode.nit:1067 */
16626 if (!once_value_6
) {
16627 fra
.me
.REG
[5] = BOX_NativeString("(");
16628 REGB0
= TAG_Int(1);
16629 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
16630 once_value_6
= fra
.me
.REG
[5];
16631 register_static_object(&once_value_6
);
16632 } else fra
.me
.REG
[5] = once_value_6
;
16633 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16634 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16635 /* compiling/compiling_icode.nit:1068 */
16636 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16637 /* compiling/compiling_icode.nit:1069 */
16638 if (!once_value_7
) {
16639 fra
.me
.REG
[5] = BOX_NativeString("!=NIT_NULL) && ");
16640 REGB0
= TAG_Int(15);
16641 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
16642 once_value_7
= fra
.me
.REG
[5];
16643 register_static_object(&once_value_7
);
16644 } else fra
.me
.REG
[5] = once_value_7
;
16645 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16646 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16650 /* compiling/compiling_icode.nit:1073 */
16651 fra
.me
.REG
[5] = CALL_icode___icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16652 /* compiling/compiling_icode.nit:1074 */
16653 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[5], COLOR_metamodel___virtualtype___MMVirtualType
, ID_metamodel___virtualtype___MMVirtualType
)) /*cast MMVirtualType*/;
16654 if (UNTAG_Bool(REGB0
)) {
16655 /* compiling/compiling_icode.nit:1075 */
16656 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16657 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
16658 /* compiling/compiling_icode.nit:1076 */
16659 fra
.me
.REG
[1] = CALL_metamodel___virtualtype___MMVirtualType___property(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16660 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16661 /* compiling/compiling_icode.nit:1077 */
16662 if (!once_value_8
) {
16663 fra
.me
.REG
[4] = BOX_NativeString("VAL_ISA(");
16664 REGB0
= TAG_Int(8);
16665 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16666 once_value_8
= fra
.me
.REG
[4];
16667 register_static_object(&once_value_8
);
16668 } else fra
.me
.REG
[4] = once_value_8
;
16669 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16670 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16671 /* compiling/compiling_icode.nit:1078 */
16672 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16673 /* compiling/compiling_icode.nit:1079 */
16674 if (!once_value_9
) {
16675 fra
.me
.REG
[4] = BOX_NativeString(", ");
16676 REGB0
= TAG_Int(2);
16677 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16678 once_value_9
= fra
.me
.REG
[4];
16679 register_static_object(&once_value_9
);
16680 } else fra
.me
.REG
[4] = once_value_9
;
16681 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16682 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16683 /* compiling/compiling_icode.nit:1080 */
16684 fra
.me
.REG
[4] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_color(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16685 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16686 /* compiling/compiling_icode.nit:1081 */
16687 if (!once_value_10
) {
16688 fra
.me
.REG
[4] = BOX_NativeString("(");
16689 REGB0
= TAG_Int(1);
16690 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16691 once_value_10
= fra
.me
.REG
[4];
16692 register_static_object(&once_value_10
);
16693 } else fra
.me
.REG
[4] = once_value_10
;
16694 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16695 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16696 /* compiling/compiling_icode.nit:1082 */
16697 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16698 /* compiling/compiling_icode.nit:1083 */
16699 if (!once_value_11
) {
16700 fra
.me
.REG
[4] = BOX_NativeString(")");
16701 REGB0
= TAG_Int(1);
16702 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16703 once_value_11
= fra
.me
.REG
[4];
16704 register_static_object(&once_value_11
);
16705 } else fra
.me
.REG
[4] = once_value_11
;
16706 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16707 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16708 /* compiling/compiling_icode.nit:1084 */
16709 if (!once_value_12
) {
16710 fra
.me
.REG
[4] = BOX_NativeString(", ");
16711 REGB0
= TAG_Int(2);
16712 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
16713 once_value_12
= fra
.me
.REG
[4];
16714 register_static_object(&once_value_12
);
16715 } else fra
.me
.REG
[4] = once_value_12
;
16716 fra
.me
.REG
[4] = fra
.me
.REG
[4];
16717 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
16718 /* compiling/compiling_icode.nit:1085 */
16719 fra
.me
.REG
[1] = CALL_compiling___compiling_base___MMGlobalProperty___vt_class_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
16720 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16721 /* compiling/compiling_icode.nit:1086 */
16722 if (!once_value_13
) {
16723 fra
.me
.REG
[1] = BOX_NativeString("(");
16724 REGB0
= TAG_Int(1);
16725 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
16726 once_value_13
= fra
.me
.REG
[1];
16727 register_static_object(&once_value_13
);
16728 } else fra
.me
.REG
[1] = once_value_13
;
16729 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16730 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16731 /* compiling/compiling_icode.nit:1087 */
16732 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16733 /* compiling/compiling_icode.nit:1088 */
16734 if (!once_value_14
) {
16735 fra
.me
.REG
[0] = BOX_NativeString(")");
16736 REGB0
= TAG_Int(1);
16737 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
16738 once_value_14
= fra
.me
.REG
[0];
16739 register_static_object(&once_value_14
);
16740 } else fra
.me
.REG
[0] = once_value_14
;
16741 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16742 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16743 /* compiling/compiling_icode.nit:1089 */
16744 if (!once_value_15
) {
16745 fra
.me
.REG
[0] = BOX_NativeString(")) /*cast ");
16746 REGB0
= TAG_Int(10);
16747 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
16748 once_value_15
= fra
.me
.REG
[0];
16749 register_static_object(&once_value_15
);
16750 } else fra
.me
.REG
[0] = once_value_15
;
16751 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16752 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16753 /* compiling/compiling_icode.nit:1090 */
16754 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16755 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16756 /* compiling/compiling_icode.nit:1091 */
16757 if (!once_value_16
) {
16758 fra
.me
.REG
[0] = BOX_NativeString("*/");
16759 REGB0
= TAG_Int(2);
16760 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
16761 once_value_16
= fra
.me
.REG
[0];
16762 register_static_object(&once_value_16
);
16763 } else fra
.me
.REG
[0] = once_value_16
;
16764 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16765 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16767 /* compiling/compiling_icode.nit:1093 */
16768 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16769 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16770 /* compiling/compiling_icode.nit:1094 */
16771 if (!once_value_17
) {
16772 fra
.me
.REG
[1] = BOX_NativeString("VAL_ISA(");
16773 REGB0
= TAG_Int(8);
16774 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
16775 once_value_17
= fra
.me
.REG
[1];
16776 register_static_object(&once_value_17
);
16777 } else fra
.me
.REG
[1] = once_value_17
;
16778 fra
.me
.REG
[1] = fra
.me
.REG
[1];
16779 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
16780 /* compiling/compiling_icode.nit:1095 */
16781 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16782 /* compiling/compiling_icode.nit:1096 */
16783 if (!once_value_18
) {
16784 fra
.me
.REG
[2] = BOX_NativeString(", ");
16785 REGB0
= TAG_Int(2);
16786 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
16787 once_value_18
= fra
.me
.REG
[2];
16788 register_static_object(&once_value_18
);
16789 } else fra
.me
.REG
[2] = once_value_18
;
16790 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16791 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16792 /* compiling/compiling_icode.nit:1097 */
16793 fra
.me
.REG
[2] = CALL_compiling___compiling_base___MMGlobalClass___color_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16794 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16795 /* compiling/compiling_icode.nit:1098 */
16796 if (!once_value_19
) {
16797 fra
.me
.REG
[2] = BOX_NativeString(", ");
16798 REGB0
= TAG_Int(2);
16799 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
16800 once_value_19
= fra
.me
.REG
[2];
16801 register_static_object(&once_value_19
);
16802 } else fra
.me
.REG
[2] = once_value_19
;
16803 fra
.me
.REG
[2] = fra
.me
.REG
[2];
16804 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
16805 /* compiling/compiling_icode.nit:1099 */
16806 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalClass___id_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16807 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16808 /* compiling/compiling_icode.nit:1100 */
16809 if (!once_value_20
) {
16810 fra
.me
.REG
[0] = BOX_NativeString(")) /*cast ");
16811 REGB0
= TAG_Int(10);
16812 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
16813 once_value_20
= fra
.me
.REG
[0];
16814 register_static_object(&once_value_20
);
16815 } else fra
.me
.REG
[0] = once_value_20
;
16816 fra
.me
.REG
[0] = fra
.me
.REG
[0];
16817 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
16818 /* compiling/compiling_icode.nit:1101 */
16819 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
16820 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16821 /* compiling/compiling_icode.nit:1102 */
16822 if (!once_value_21
) {
16823 fra
.me
.REG
[5] = BOX_NativeString("*/");
16824 REGB0
= TAG_Int(2);
16825 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
16826 once_value_21
= fra
.me
.REG
[5];
16827 register_static_object(&once_value_21
);
16828 } else fra
.me
.REG
[5] = once_value_21
;
16829 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16830 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
16833 stack_frame_head
= fra
.me
.prev
;
16836 static const char LOCATE_compiling___compiling_icode___IIs___compile_to_c
[] = "compiling_icode::IIs::(compiling_icode::ICode::compile_to_c)";
16837 void compiling___compiling_icode___IIs___compile_to_c(val_t p0
, val_t p1
){
16838 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
16841 static val_t once_value_2
; /* Once value */
16842 static val_t once_value_3
; /* Once value */
16843 static val_t once_value_4
; /* Once value */
16844 static val_t once_value_5
; /* Once value */
16845 static val_t once_value_6
; /* Once value */
16846 static val_t once_value_7
; /* Once value */
16847 static val_t once_value_8
; /* Once value */
16848 static val_t once_value_9
; /* Once value */
16849 static val_t once_value_10
; /* Once value */
16850 static val_t once_value_11
; /* Once value */
16851 static val_t once_value_12
; /* Once value */
16852 static val_t once_value_13
; /* Once value */
16853 static val_t once_value_14
; /* Once value */
16854 static val_t once_value_15
; /* Once value */
16855 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16856 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
16857 fra
.me
.line
= 1108;
16858 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IIs___compile_to_c
;
16859 fra
.me
.has_broke
= 0;
16860 fra
.me
.REG_size
= 6;
16861 fra
.me
.nitni_local_ref_head
= NULL
;
16862 fra
.me
.REG
[0] = NIT_NULL
;
16863 fra
.me
.REG
[1] = NIT_NULL
;
16864 fra
.me
.REG
[2] = NIT_NULL
;
16865 fra
.me
.REG
[3] = NIT_NULL
;
16866 fra
.me
.REG
[4] = NIT_NULL
;
16867 fra
.me
.REG
[5] = NIT_NULL
;
16868 fra
.me
.REG
[0] = p0
;
16869 fra
.me
.REG
[1] = p1
;
16870 /* compiling/compiling_icode.nit:1110 */
16871 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16872 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
16873 if (UNTAG_Bool(REGB0
)) {
16876 /* compiling/compiling_icode.nit:1111 */
16877 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16878 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
16879 /* compiling/compiling_icode.nit:1112 */
16880 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
16881 /* compiling/compiling_icode.nit:1113 */
16882 if (!once_value_2
) {
16883 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
16884 REGB0
= TAG_Int(9);
16885 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16886 once_value_2
= fra
.me
.REG
[3];
16887 register_static_object(&once_value_2
);
16888 } else fra
.me
.REG
[3] = once_value_2
;
16889 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16890 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16891 /* compiling/compiling_icode.nit:1114 */
16892 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16893 fra
.me
.REG
[3] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16894 /* compiling/compiling_icode.nit:1115 */
16895 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16896 fra
.me
.REG
[4] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16897 /* compiling/compiling_icode.nit:1116 */
16898 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16899 if (UNTAG_Bool(REGB0
)) {
16900 /* compiling/compiling_icode.nit:1117 */
16901 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16902 if (UNTAG_Bool(REGB0
)) {
16903 /* compiling/compiling_icode.nit:1118 */
16904 if (!once_value_3
) {
16905 fra
.me
.REG
[5] = BOX_NativeString("1)");
16906 REGB0
= TAG_Int(2);
16907 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
16908 once_value_3
= fra
.me
.REG
[5];
16909 register_static_object(&once_value_3
);
16910 } else fra
.me
.REG
[5] = once_value_3
;
16911 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16912 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16913 /* compiling/compiling_icode.nit:1119 */
16916 /* compiling/compiling_icode.nit:1120 */
16917 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16918 if (UNTAG_Bool(REGB0
)) {
16919 /* compiling/compiling_icode.nit:1121 */
16920 fra
.me
.REG
[5] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16921 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
16922 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16923 /* compiling/compiling_icode.nit:1122 */
16924 if (!once_value_4
) {
16925 fra
.me
.REG
[5] = BOX_NativeString("==NIT_NULL)");
16926 REGB0
= TAG_Int(11);
16927 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
16928 once_value_4
= fra
.me
.REG
[5];
16929 register_static_object(&once_value_4
);
16930 } else fra
.me
.REG
[5] = once_value_4
;
16931 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16932 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16933 /* compiling/compiling_icode.nit:1123 */
16936 /* compiling/compiling_icode.nit:1125 */
16937 if (!once_value_5
) {
16938 fra
.me
.REG
[5] = BOX_NativeString("0)");
16939 REGB0
= TAG_Int(2);
16940 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
16941 once_value_5
= fra
.me
.REG
[5];
16942 register_static_object(&once_value_5
);
16943 } else fra
.me
.REG
[5] = once_value_5
;
16944 fra
.me
.REG
[5] = fra
.me
.REG
[5];
16945 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
16946 /* compiling/compiling_icode.nit:1126 */
16951 /* compiling/compiling_icode.nit:1128 */
16952 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
16953 if (UNTAG_Bool(REGB0
)) {
16954 /* compiling/compiling_icode.nit:1129 */
16955 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
16956 if (UNTAG_Bool(REGB0
)) {
16957 /* compiling/compiling_icode.nit:1130 */
16958 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
16959 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
16960 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16961 /* compiling/compiling_icode.nit:1131 */
16962 if (!once_value_6
) {
16963 fra
.me
.REG
[3] = BOX_NativeString("==NIT_NULL)");
16964 REGB0
= TAG_Int(11);
16965 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16966 once_value_6
= fra
.me
.REG
[3];
16967 register_static_object(&once_value_6
);
16968 } else fra
.me
.REG
[3] = once_value_6
;
16969 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16970 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16971 /* compiling/compiling_icode.nit:1132 */
16974 /* compiling/compiling_icode.nit:1133 */
16975 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
16976 if (UNTAG_Bool(REGB0
)) {
16977 /* compiling/compiling_icode.nit:1134 */
16978 if (!once_value_7
) {
16979 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_NN(");
16980 REGB0
= TAG_Int(12);
16981 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16982 once_value_7
= fra
.me
.REG
[3];
16983 register_static_object(&once_value_7
);
16984 } else fra
.me
.REG
[3] = once_value_7
;
16985 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16986 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16988 /* compiling/compiling_icode.nit:1136 */
16989 if (!once_value_8
) {
16990 fra
.me
.REG
[3] = BOX_NativeString("IS_EQUAL_ON(");
16991 REGB0
= TAG_Int(12);
16992 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
16993 once_value_8
= fra
.me
.REG
[3];
16994 register_static_object(&once_value_8
);
16995 } else fra
.me
.REG
[3] = once_value_8
;
16996 fra
.me
.REG
[3] = fra
.me
.REG
[3];
16997 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
16998 /* compiling/compiling_icode.nit:1137 */
16999 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17000 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17001 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17002 /* compiling/compiling_icode.nit:1138 */
17003 if (!once_value_9
) {
17004 fra
.me
.REG
[3] = BOX_NativeString(",");
17005 REGB0
= TAG_Int(1);
17006 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17007 once_value_9
= fra
.me
.REG
[3];
17008 register_static_object(&once_value_9
);
17009 } else fra
.me
.REG
[3] = once_value_9
;
17010 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17011 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17012 /* compiling/compiling_icode.nit:1139 */
17013 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17014 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17015 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17016 /* compiling/compiling_icode.nit:1140 */
17017 if (!once_value_10
) {
17018 fra
.me
.REG
[3] = BOX_NativeString("))");
17019 REGB0
= TAG_Int(2);
17020 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17021 once_value_10
= fra
.me
.REG
[3];
17022 register_static_object(&once_value_10
);
17023 } else fra
.me
.REG
[3] = once_value_10
;
17024 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17025 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17026 /* compiling/compiling_icode.nit:1141 */
17031 /* compiling/compiling_icode.nit:1144 */
17032 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_metamodel___static_type___MMTypeNone
, ID_metamodel___static_type___MMTypeNone
)) /*cast MMTypeNone*/;
17033 if (UNTAG_Bool(REGB0
)) {
17034 /* compiling/compiling_icode.nit:1145 */
17035 if (!once_value_11
) {
17036 fra
.me
.REG
[3] = BOX_NativeString("0)");
17037 REGB0
= TAG_Int(2);
17038 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17039 once_value_11
= fra
.me
.REG
[3];
17040 register_static_object(&once_value_11
);
17041 } else fra
.me
.REG
[3] = once_value_11
;
17042 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17043 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17044 /* compiling/compiling_icode.nit:1146 */
17047 /* compiling/compiling_icode.nit:1147 */
17048 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17049 if (UNTAG_Bool(REGB0
)) {
17050 /* compiling/compiling_icode.nit:1148 */
17051 if (!once_value_12
) {
17052 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_ON(");
17053 REGB0
= TAG_Int(12);
17054 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
17055 once_value_12
= fra
.me
.REG
[4];
17056 register_static_object(&once_value_12
);
17057 } else fra
.me
.REG
[4] = once_value_12
;
17058 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17059 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17061 /* compiling/compiling_icode.nit:1150 */
17062 if (!once_value_13
) {
17063 fra
.me
.REG
[4] = BOX_NativeString("IS_EQUAL_OO(");
17064 REGB0
= TAG_Int(12);
17065 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
17066 once_value_13
= fra
.me
.REG
[4];
17067 register_static_object(&once_value_13
);
17068 } else fra
.me
.REG
[4] = once_value_13
;
17069 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17070 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17075 /* compiling/compiling_icode.nit:1153 */
17076 fra
.me
.REG
[4] = CALL_icode___icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17077 fra
.me
.REG
[4] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17078 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17079 /* compiling/compiling_icode.nit:1154 */
17080 if (!once_value_14
) {
17081 fra
.me
.REG
[4] = BOX_NativeString(",");
17082 REGB0
= TAG_Int(1);
17083 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
17084 once_value_14
= fra
.me
.REG
[4];
17085 register_static_object(&once_value_14
);
17086 } else fra
.me
.REG
[4] = once_value_14
;
17087 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17088 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17089 /* compiling/compiling_icode.nit:1155 */
17090 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17091 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17092 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17093 /* compiling/compiling_icode.nit:1156 */
17094 if (!once_value_15
) {
17095 fra
.me
.REG
[0] = BOX_NativeString("))");
17096 REGB0
= TAG_Int(2);
17097 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
17098 once_value_15
= fra
.me
.REG
[0];
17099 register_static_object(&once_value_15
);
17100 } else fra
.me
.REG
[0] = once_value_15
;
17101 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17102 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17104 stack_frame_head
= fra
.me
.prev
;
17107 static const char LOCATE_compiling___compiling_icode___INot___compile_to_c
[] = "compiling_icode::INot::(compiling_icode::ICode::compile_to_c)";
17108 void compiling___compiling_icode___INot___compile_to_c(val_t p0
, val_t p1
){
17109 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
17112 static val_t once_value_2
; /* Once value */
17113 static val_t once_value_3
; /* Once value */
17114 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17115 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17116 fra
.me
.line
= 1161;
17117 fra
.me
.meth
= LOCATE_compiling___compiling_icode___INot___compile_to_c
;
17118 fra
.me
.has_broke
= 0;
17119 fra
.me
.REG_size
= 4;
17120 fra
.me
.nitni_local_ref_head
= NULL
;
17121 fra
.me
.REG
[0] = NIT_NULL
;
17122 fra
.me
.REG
[1] = NIT_NULL
;
17123 fra
.me
.REG
[2] = NIT_NULL
;
17124 fra
.me
.REG
[3] = NIT_NULL
;
17125 fra
.me
.REG
[0] = p0
;
17126 fra
.me
.REG
[1] = p1
;
17127 /* compiling/compiling_icode.nit:1163 */
17128 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17129 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17130 if (UNTAG_Bool(REGB0
)) {
17133 /* compiling/compiling_icode.nit:1164 */
17134 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17135 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17136 /* compiling/compiling_icode.nit:1165 */
17137 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17138 /* compiling/compiling_icode.nit:1166 */
17139 if (!once_value_2
) {
17140 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(!UNTAG_Bool(");
17141 REGB0
= TAG_Int(21);
17142 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17143 once_value_2
= fra
.me
.REG
[3];
17144 register_static_object(&once_value_2
);
17145 } else fra
.me
.REG
[3] = once_value_2
;
17146 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17147 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17148 /* compiling/compiling_icode.nit:1167 */
17149 fra
.me
.REG
[0] = CALL_icode___icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17150 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17151 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17152 /* compiling/compiling_icode.nit:1168 */
17153 if (!once_value_3
) {
17154 fra
.me
.REG
[0] = BOX_NativeString("))");
17155 REGB0
= TAG_Int(2);
17156 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
17157 once_value_3
= fra
.me
.REG
[0];
17158 register_static_object(&once_value_3
);
17159 } else fra
.me
.REG
[0] = once_value_3
;
17160 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17161 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17163 stack_frame_head
= fra
.me
.prev
;
17166 static const char LOCATE_compiling___compiling_icode___IOnce___compile_to_c
[] = "compiling_icode::IOnce::(compiling_icode::ICode::compile_to_c)";
17167 void compiling___compiling_icode___IOnce___compile_to_c(val_t p0
, val_t p1
){
17168 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
17172 static val_t once_value_1
; /* Once value */
17173 static val_t once_value_2
; /* Once value */
17174 static val_t once_value_3
; /* Once value */
17175 static val_t once_value_4
; /* Once value */
17176 static val_t once_value_5
; /* Once value */
17177 static val_t once_value_6
; /* Once value */
17178 static val_t once_value_7
; /* Once value */
17179 static val_t once_value_8
; /* Once value */
17180 static val_t once_value_9
; /* Once value */
17181 static val_t once_value_10
; /* Once value */
17182 static val_t once_value_11
; /* Once value */
17183 static val_t once_value_12
; /* Once value */
17184 static val_t once_value_13
; /* Once value */
17185 static val_t once_value_14
; /* Once value */
17186 static val_t once_value_15
; /* Once value */
17187 static val_t once_value_16
; /* Once value */
17188 static val_t once_value_17
; /* Once value */
17189 static val_t once_value_18
; /* Once value */
17190 static val_t once_value_19
; /* Once value */
17191 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17192 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17193 fra
.me
.line
= 1173;
17194 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IOnce___compile_to_c
;
17195 fra
.me
.has_broke
= 0;
17196 fra
.me
.REG_size
= 6;
17197 fra
.me
.nitni_local_ref_head
= NULL
;
17198 fra
.me
.REG
[0] = NIT_NULL
;
17199 fra
.me
.REG
[1] = NIT_NULL
;
17200 fra
.me
.REG
[2] = NIT_NULL
;
17201 fra
.me
.REG
[3] = NIT_NULL
;
17202 fra
.me
.REG
[4] = NIT_NULL
;
17203 fra
.me
.REG
[5] = NIT_NULL
;
17204 fra
.me
.REG
[0] = p0
;
17205 fra
.me
.REG
[1] = p1
;
17206 /* compiling/compiling_icode.nit:1173 */
17207 fra
.me
.REG
[2] = fra
.me
.REG
[0];
17208 /* compiling/compiling_icode.nit:1175 */
17209 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17210 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17211 /* compiling/compiling_icode.nit:1176 */
17212 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17213 /* compiling/compiling_icode.nit:1177 */
17214 fra
.me
.REG
[3] = CALL_icode___icode_base___ICode___result(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17215 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*/;
17216 if (UNTAG_Bool(REGB1
)) {
17218 nit_abort("Cast failed", NULL
, LOCATE_compiling___compiling_icode
, 1177);
17220 /* compiling/compiling_icode.nit:1178 */
17221 fra
.me
.REG
[0] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17222 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17223 if (UNTAG_Bool(REGB1
)) {
17224 /* compiling/compiling_icode.nit:1179 */
17225 REGB1
= TAG_Int(5);
17226 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17227 if (!once_value_1
) {
17228 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
17229 REGB1
= TAG_Int(24);
17230 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17231 once_value_1
= fra
.me
.REG
[4];
17232 register_static_object(&once_value_1
);
17233 } else fra
.me
.REG
[4] = once_value_1
;
17234 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17235 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17236 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17238 if (!once_value_2
) {
17239 fra
.me
.REG
[4] = BOX_NativeString("; static int once_bool_");
17240 REGB1
= TAG_Int(23);
17241 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17242 once_value_2
= fra
.me
.REG
[4];
17243 register_static_object(&once_value_2
);
17244 } else fra
.me
.REG
[4] = once_value_2
;
17245 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17247 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17248 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17249 if (!once_value_3
) {
17250 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
17251 REGB1
= TAG_Int(18);
17252 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17253 once_value_3
= fra
.me
.REG
[4];
17254 register_static_object(&once_value_3
);
17255 } else fra
.me
.REG
[4] = once_value_3
;
17256 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17258 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17259 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17260 /* compiling/compiling_icode.nit:1180 */
17261 REGB1
= TAG_Int(3);
17262 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17263 if (!once_value_4
) {
17264 fra
.me
.REG
[4] = BOX_NativeString("if (!once_bool_");
17265 REGB1
= TAG_Int(15);
17266 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17267 once_value_4
= fra
.me
.REG
[4];
17268 register_static_object(&once_value_4
);
17269 } else fra
.me
.REG
[4] = once_value_4
;
17270 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17272 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17274 if (!once_value_5
) {
17275 fra
.me
.REG
[4] = BOX_NativeString(") {");
17276 REGB1
= TAG_Int(3);
17277 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17278 once_value_5
= fra
.me
.REG
[4];
17279 register_static_object(&once_value_5
);
17280 } else fra
.me
.REG
[4] = once_value_5
;
17281 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17283 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17284 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17286 /* compiling/compiling_icode.nit:1183 */
17287 REGB1
= TAG_Int(3);
17288 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17289 if (!once_value_6
) {
17290 fra
.me
.REG
[4] = BOX_NativeString("static val_t once_value_");
17291 REGB1
= TAG_Int(24);
17292 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17293 once_value_6
= fra
.me
.REG
[4];
17294 register_static_object(&once_value_6
);
17295 } else fra
.me
.REG
[4] = once_value_6
;
17296 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17298 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17300 if (!once_value_7
) {
17301 fra
.me
.REG
[4] = BOX_NativeString("; /* Once value */");
17302 REGB1
= TAG_Int(18);
17303 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17304 once_value_7
= fra
.me
.REG
[4];
17305 register_static_object(&once_value_7
);
17306 } else fra
.me
.REG
[4] = once_value_7
;
17307 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17308 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17309 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17310 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_decl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17311 /* compiling/compiling_icode.nit:1184 */
17312 REGB1
= TAG_Int(3);
17313 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17314 if (!once_value_8
) {
17315 fra
.me
.REG
[4] = BOX_NativeString("if (!once_value_");
17316 REGB1
= TAG_Int(16);
17317 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17318 once_value_8
= fra
.me
.REG
[4];
17319 register_static_object(&once_value_8
);
17320 } else fra
.me
.REG
[4] = once_value_8
;
17321 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17323 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17325 if (!once_value_9
) {
17326 fra
.me
.REG
[4] = BOX_NativeString(") {");
17327 REGB1
= TAG_Int(3);
17328 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17329 once_value_9
= fra
.me
.REG
[4];
17330 register_static_object(&once_value_9
);
17331 } else fra
.me
.REG
[4] = once_value_9
;
17332 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
17334 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17335 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17337 /* compiling/compiling_icode.nit:1186 */
17338 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17339 /* compiling/compiling_icode.nit:1187 */
17340 fra
.me
.REG
[0] = CALL_icode___icode_base___IOnce___body(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17341 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17342 /* compiling/compiling_icode.nit:1188 */
17343 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17344 /* compiling/compiling_icode.nit:1189 */
17345 REGB1
= TAG_Int(5);
17346 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17347 if (!once_value_10
) {
17348 fra
.me
.REG
[5] = BOX_NativeString("once_value_");
17349 REGB1
= TAG_Int(11);
17350 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
17351 once_value_10
= fra
.me
.REG
[5];
17352 register_static_object(&once_value_10
);
17353 } else fra
.me
.REG
[5] = once_value_10
;
17354 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17355 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17356 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17358 if (!once_value_11
) {
17359 fra
.me
.REG
[5] = BOX_NativeString(" = ");
17360 REGB1
= TAG_Int(3);
17361 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
17362 once_value_11
= fra
.me
.REG
[5];
17363 register_static_object(&once_value_11
);
17364 } else fra
.me
.REG
[5] = once_value_11
;
17365 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
17368 if (!once_value_12
) {
17369 fra
.me
.REG
[5] = BOX_NativeString(";");
17370 REGB1
= TAG_Int(1);
17371 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
17372 once_value_12
= fra
.me
.REG
[5];
17373 register_static_object(&once_value_12
);
17374 } else fra
.me
.REG
[5] = once_value_12
;
17375 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17377 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17378 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17379 /* compiling/compiling_icode.nit:1190 */
17380 REGB1
= TAG_Int(3);
17381 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17382 if (!once_value_13
) {
17383 fra
.me
.REG
[5] = BOX_NativeString("register_static_object(&once_value_");
17384 REGB1
= TAG_Int(35);
17385 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
17386 once_value_13
= fra
.me
.REG
[5];
17387 register_static_object(&once_value_13
);
17388 } else fra
.me
.REG
[5] = once_value_13
;
17389 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17391 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17393 if (!once_value_14
) {
17394 fra
.me
.REG
[5] = BOX_NativeString(");");
17395 REGB1
= TAG_Int(2);
17396 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
17397 once_value_14
= fra
.me
.REG
[5];
17398 register_static_object(&once_value_14
);
17399 } else fra
.me
.REG
[5] = once_value_14
;
17400 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
17402 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17403 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17404 /* compiling/compiling_icode.nit:1191 */
17405 fra
.me
.REG
[3] = CALL_icode___icode_base___IRegister___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17406 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17407 if (UNTAG_Bool(REGB1
)) {
17408 REGB1
= TAG_Int(3);
17409 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17410 if (!once_value_15
) {
17411 fra
.me
.REG
[4] = BOX_NativeString("once_bool_");
17412 REGB1
= TAG_Int(10);
17413 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17414 once_value_15
= fra
.me
.REG
[4];
17415 register_static_object(&once_value_15
);
17416 } else fra
.me
.REG
[4] = once_value_15
;
17417 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17418 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17419 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17420 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17421 if (!once_value_16
) {
17422 fra
.me
.REG
[4] = BOX_NativeString(" = true;");
17423 REGB1
= TAG_Int(8);
17424 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17425 once_value_16
= fra
.me
.REG
[4];
17426 register_static_object(&once_value_16
);
17427 } else fra
.me
.REG
[4] = once_value_16
;
17428 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17430 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17431 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17433 /* compiling/compiling_icode.nit:1192 */
17434 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17435 /* compiling/compiling_icode.nit:1193 */
17436 REGB1
= TAG_Int(5);
17437 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17438 if (!once_value_17
) {
17439 fra
.me
.REG
[4] = BOX_NativeString("} else ");
17440 REGB1
= TAG_Int(7);
17441 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17442 once_value_17
= fra
.me
.REG
[4];
17443 register_static_object(&once_value_17
);
17444 } else fra
.me
.REG
[4] = once_value_17
;
17445 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
17448 if (!once_value_18
) {
17449 fra
.me
.REG
[4] = BOX_NativeString(" = once_value_");
17450 REGB1
= TAG_Int(14);
17451 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
17452 once_value_18
= fra
.me
.REG
[4];
17453 register_static_object(&once_value_18
);
17454 } else fra
.me
.REG
[4] = once_value_18
;
17455 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17457 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
17458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17459 if (!once_value_19
) {
17460 fra
.me
.REG
[4] = BOX_NativeString(";");
17461 REGB0
= TAG_Int(1);
17462 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
17463 once_value_19
= fra
.me
.REG
[4];
17464 register_static_object(&once_value_19
);
17465 } else fra
.me
.REG
[4] = once_value_19
;
17466 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17468 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17469 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17470 /* compiling/compiling_icode.nit:1194 */
17471 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
17472 /* compiling/compiling_icode.nit:1195 */
17473 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17474 stack_frame_head
= fra
.me
.prev
;
17477 static const char LOCATE_compiling___compiling_icode___IClosCall___compile_to_c
[] = "compiling_icode::IClosCall::(compiling_icode::ICode::compile_to_c)";
17478 void compiling___compiling_icode___IClosCall___compile_to_c(val_t p0
, val_t p1
){
17479 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
17483 static val_t once_value_1
; /* Once value */
17484 static val_t once_value_2
; /* Once value */
17485 static val_t once_value_3
; /* Once value */
17486 static val_t once_value_4
; /* Once value */
17487 static val_t once_value_5
; /* Once value */
17488 static val_t once_value_6
; /* Once value */
17489 static val_t once_value_7
; /* Once value */
17490 static val_t once_value_8
; /* Once value */
17491 static val_t once_value_9
; /* Once value */
17492 static val_t once_value_10
; /* Once value */
17493 static val_t once_value_11
; /* Once value */
17494 static val_t once_value_12
; /* Once value */
17495 static val_t once_value_13
; /* Once value */
17496 static val_t once_value_14
; /* Once value */
17497 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17498 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17499 fra
.me
.line
= 1200;
17500 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IClosCall___compile_to_c
;
17501 fra
.me
.has_broke
= 0;
17502 fra
.me
.REG_size
= 7;
17503 fra
.me
.nitni_local_ref_head
= NULL
;
17504 fra
.me
.REG
[0] = NIT_NULL
;
17505 fra
.me
.REG
[1] = NIT_NULL
;
17506 fra
.me
.REG
[2] = NIT_NULL
;
17507 fra
.me
.REG
[3] = NIT_NULL
;
17508 fra
.me
.REG
[4] = NIT_NULL
;
17509 fra
.me
.REG
[5] = NIT_NULL
;
17510 fra
.me
.REG
[6] = NIT_NULL
;
17511 fra
.me
.REG
[0] = p0
;
17512 fra
.me
.REG
[1] = p1
;
17513 /* compiling/compiling_icode.nit:1202 */
17514 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17515 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17516 /* compiling/compiling_icode.nit:1205 */
17517 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17518 if (UNTAG_Bool(REGB0
)) {
17519 /* compiling/compiling_icode.nit:1206 */
17520 REGB0
= TAG_Int(3);
17521 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17522 if (!once_value_1
) {
17523 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
17524 REGB0
= TAG_Int(22);
17525 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17526 once_value_1
= fra
.me
.REG
[3];
17527 register_static_object(&once_value_1
);
17528 } else fra
.me
.REG
[3] = once_value_1
;
17529 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17530 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17531 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17532 fra
.me
.REG
[4] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17533 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17535 if (!once_value_2
) {
17536 fra
.me
.REG
[4] = BOX_NativeString("]");
17537 REGB0
= TAG_Int(1);
17538 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
17539 once_value_2
= fra
.me
.REG
[4];
17540 register_static_object(&once_value_2
);
17541 } else fra
.me
.REG
[4] = once_value_2
;
17542 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17544 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17545 /* compiling/compiling_icode.nit:1207 */
17546 REGB0
= TAG_Int(1);
17547 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17548 if (!once_value_3
) {
17549 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_ctx");
17550 REGB0
= TAG_Int(20);
17551 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17552 once_value_3
= fra
.me
.REG
[3];
17553 register_static_object(&once_value_3
);
17554 } else fra
.me
.REG
[3] = once_value_3
;
17555 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
17558 /* compiling/compiling_icode.nit:1209 */
17559 REGB0
= TAG_Int(3);
17560 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17561 if (!once_value_4
) {
17562 fra
.me
.REG
[5] = BOX_NativeString("CREG[");
17563 REGB0
= TAG_Int(5);
17564 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
17565 once_value_4
= fra
.me
.REG
[5];
17566 register_static_object(&once_value_4
);
17567 } else fra
.me
.REG
[5] = once_value_4
;
17568 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17570 fra
.me
.REG
[5] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17571 fra
.me
.REG
[6] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17572 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
17573 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17574 if (!once_value_5
) {
17575 fra
.me
.REG
[6] = BOX_NativeString("]");
17576 REGB0
= TAG_Int(1);
17577 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
17578 once_value_5
= fra
.me
.REG
[6];
17579 register_static_object(&once_value_5
);
17580 } else fra
.me
.REG
[6] = once_value_5
;
17581 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17583 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17584 fra
.me
.REG
[2] = fra
.me
.REG
[3];
17585 /* compiling/compiling_icode.nit:1210 */
17586 REGB0
= TAG_Int(1);
17587 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17588 if (!once_value_6
) {
17589 fra
.me
.REG
[6] = BOX_NativeString("closctx_param");
17590 REGB0
= TAG_Int(13);
17591 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
17592 once_value_6
= fra
.me
.REG
[6];
17593 register_static_object(&once_value_6
);
17594 } else fra
.me
.REG
[6] = once_value_6
;
17595 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17597 fra
.me
.REG
[4] = fra
.me
.REG
[3];
17599 /* compiling/compiling_icode.nit:1212 */
17600 fra
.me
.REG
[3] = CALL_icode___icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17601 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___registers(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
17602 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
17603 /* compiling/compiling_icode.nit:1214 */
17604 REGB0
= TAG_Int(7);
17605 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17606 if (!once_value_7
) {
17607 fra
.me
.REG
[6] = BOX_NativeString("((");
17608 REGB0
= TAG_Int(2);
17609 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
17610 once_value_7
= fra
.me
.REG
[6];
17611 register_static_object(&once_value_7
);
17612 } else fra
.me
.REG
[6] = once_value_7
;
17613 fra
.me
.REG
[6] = fra
.me
.REG
[6];
17614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
17615 fra
.me
.REG
[6] = CALL_compiling___compiling_icode___I2CCompilerVisitor___clostypes(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17616 fra
.me
.REG
[5] = CALL_icode___icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17617 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
17618 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17619 if (!once_value_8
) {
17620 fra
.me
.REG
[5] = BOX_NativeString(")(");
17621 REGB0
= TAG_Int(2);
17622 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
17623 once_value_8
= fra
.me
.REG
[5];
17624 register_static_object(&once_value_8
);
17625 } else fra
.me
.REG
[5] = once_value_8
;
17626 fra
.me
.REG
[5] = fra
.me
.REG
[5];
17627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
17628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17629 if (!once_value_9
) {
17630 fra
.me
.REG
[2] = BOX_NativeString("))(");
17631 REGB0
= TAG_Int(3);
17632 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
17633 once_value_9
= fra
.me
.REG
[2];
17634 register_static_object(&once_value_9
);
17635 } else fra
.me
.REG
[2] = once_value_9
;
17636 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17638 if (!once_value_10
) {
17639 fra
.me
.REG
[2] = BOX_NativeString(", ");
17640 REGB0
= TAG_Int(2);
17641 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
17642 once_value_10
= fra
.me
.REG
[2];
17643 register_static_object(&once_value_10
);
17644 } else fra
.me
.REG
[2] = once_value_10
;
17645 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17646 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
17647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17648 if (!once_value_11
) {
17649 fra
.me
.REG
[2] = BOX_NativeString(")");
17650 REGB0
= TAG_Int(1);
17651 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
17652 once_value_11
= fra
.me
.REG
[2];
17653 register_static_object(&once_value_11
);
17654 } else fra
.me
.REG
[2] = once_value_11
;
17655 fra
.me
.REG
[2] = fra
.me
.REG
[2];
17656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
17657 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
17658 /* compiling/compiling_icode.nit:1215 */
17659 fra
.me
.REG
[2] = NEW_Writer_compiling_writer___Writer___init();
17660 /* compiling/compiling_icode.nit:1216 */
17661 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17662 /* compiling/compiling_icode.nit:1217 */
17663 CALL_compiling___compiling_icode___ICode___store_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
17664 /* compiling/compiling_icode.nit:1220 */
17665 REGB0
= TAG_Int(3);
17666 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
17667 if (!once_value_12
) {
17668 fra
.me
.REG
[3] = BOX_NativeString("if (");
17669 REGB0
= TAG_Int(4);
17670 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17671 once_value_12
= fra
.me
.REG
[3];
17672 register_static_object(&once_value_12
);
17673 } else fra
.me
.REG
[3] = once_value_12
;
17674 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17675 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17676 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
17677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17678 if (!once_value_13
) {
17679 fra
.me
.REG
[4] = BOX_NativeString("->has_broke) {");
17680 REGB0
= TAG_Int(14);
17681 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
17682 once_value_13
= fra
.me
.REG
[4];
17683 register_static_object(&once_value_13
);
17684 } else fra
.me
.REG
[4] = once_value_13
;
17685 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17687 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17688 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17689 /* compiling/compiling_icode.nit:1221 */
17690 CALL_compiling___compiling_icode___I2CCompilerVisitor___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17691 /* compiling/compiling_icode.nit:1222 */
17692 fra
.me
.REG
[0] = CALL_icode___icode_base___IClosCall___break_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17693 /* compiling/compiling_icode.nit:1223 */
17694 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17695 if (UNTAG_Bool(REGB0
)) {
17697 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17698 if (UNTAG_Bool(REGB1
)) {
17699 REGB1
= TAG_Bool(0);
17702 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
17706 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17707 if (UNTAG_Bool(REGB0
)) {
17708 /* compiling/compiling_icode.nit:1224 */
17709 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
17710 if (UNTAG_Bool(REGB0
)) {
17711 nit_abort("Reciever is null", NULL
, LOCATE_compiling___compiling_icode
, 1224);
17713 CALL_compiling___compiling_icode___ICode___compile_to_c(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17715 /* compiling/compiling_icode.nit:1226 */
17716 fra
.me
.REG
[0] = CALL_compiling___compiling_icode___I2CCompilerVisitor___iroutine(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17717 fra
.me
.REG
[0] = CALL_icode___icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17718 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_goto(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17719 /* compiling/compiling_icode.nit:1227 */
17720 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17721 /* compiling/compiling_icode.nit:1228 */
17722 if (!once_value_14
) {
17723 fra
.me
.REG
[0] = BOX_NativeString("}");
17724 REGB0
= TAG_Int(1);
17725 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
17726 once_value_14
= fra
.me
.REG
[0];
17727 register_static_object(&once_value_14
);
17728 } else fra
.me
.REG
[0] = once_value_14
;
17729 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17730 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17731 stack_frame_head
= fra
.me
.prev
;
17734 static const char LOCATE_compiling___compiling_icode___IHasClos___compile_to_c
[] = "compiling_icode::IHasClos::(compiling_icode::ICode::compile_to_c)";
17735 void compiling___compiling_icode___IHasClos___compile_to_c(val_t p0
, val_t p1
){
17736 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
17739 static val_t once_value_2
; /* Once value */
17740 static val_t once_value_3
; /* Once value */
17741 static val_t once_value_4
; /* Once value */
17742 static val_t once_value_5
; /* Once value */
17743 static val_t once_value_6
; /* Once value */
17744 static val_t once_value_7
; /* Once value */
17745 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17746 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17747 fra
.me
.line
= 1233;
17748 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IHasClos___compile_to_c
;
17749 fra
.me
.has_broke
= 0;
17750 fra
.me
.REG_size
= 5;
17751 fra
.me
.nitni_local_ref_head
= NULL
;
17752 fra
.me
.REG
[0] = NIT_NULL
;
17753 fra
.me
.REG
[1] = NIT_NULL
;
17754 fra
.me
.REG
[2] = NIT_NULL
;
17755 fra
.me
.REG
[3] = NIT_NULL
;
17756 fra
.me
.REG
[4] = NIT_NULL
;
17757 fra
.me
.REG
[0] = p0
;
17758 fra
.me
.REG
[1] = p1
;
17759 /* compiling/compiling_icode.nit:1235 */
17760 REGB0
= CALL_compiling___compiling_icode___ICode___need_result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17761 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
17762 if (UNTAG_Bool(REGB0
)) {
17765 /* compiling/compiling_icode.nit:1236 */
17766 fra
.me
.REG
[2] = CALL_icode___icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17767 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_location(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
17768 /* compiling/compiling_icode.nit:1237 */
17769 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___ICode___new_result(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
17770 /* compiling/compiling_icode.nit:1238 */
17771 if (!once_value_2
) {
17772 fra
.me
.REG
[3] = BOX_NativeString("TAG_Bool(");
17773 REGB0
= TAG_Int(9);
17774 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17775 once_value_2
= fra
.me
.REG
[3];
17776 register_static_object(&once_value_2
);
17777 } else fra
.me
.REG
[3] = once_value_2
;
17778 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17779 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17780 /* compiling/compiling_icode.nit:1239 */
17781 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17782 if (UNTAG_Bool(REGB0
)) {
17783 /* compiling/compiling_icode.nit:1240 */
17784 if (!once_value_3
) {
17785 fra
.me
.REG
[3] = BOX_NativeString("closctx->closure_funs[");
17786 REGB0
= TAG_Int(22);
17787 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
17788 once_value_3
= fra
.me
.REG
[3];
17789 register_static_object(&once_value_3
);
17790 } else fra
.me
.REG
[3] = once_value_3
;
17791 fra
.me
.REG
[3] = fra
.me
.REG
[3];
17792 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
17793 /* compiling/compiling_icode.nit:1241 */
17794 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17795 fra
.me
.REG
[4] = CALL_icode___icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17796 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
17797 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17798 /* compiling/compiling_icode.nit:1242 */
17799 if (!once_value_4
) {
17800 fra
.me
.REG
[4] = BOX_NativeString("]");
17801 REGB0
= TAG_Int(1);
17802 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
17803 once_value_4
= fra
.me
.REG
[4];
17804 register_static_object(&once_value_4
);
17805 } else fra
.me
.REG
[4] = once_value_4
;
17806 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17807 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17809 /* compiling/compiling_icode.nit:1244 */
17810 if (!once_value_5
) {
17811 fra
.me
.REG
[4] = BOX_NativeString("CREG[");
17812 REGB0
= TAG_Int(5);
17813 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
17814 once_value_5
= fra
.me
.REG
[4];
17815 register_static_object(&once_value_5
);
17816 } else fra
.me
.REG
[4] = once_value_5
;
17817 fra
.me
.REG
[4] = fra
.me
.REG
[4];
17818 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
17819 /* compiling/compiling_icode.nit:1245 */
17820 fra
.me
.REG
[1] = CALL_compiling___compiling_icode___I2CCompilerVisitor___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17821 fra
.me
.REG
[0] = CALL_icode___icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
17822 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17823 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17824 /* compiling/compiling_icode.nit:1246 */
17825 if (!once_value_6
) {
17826 fra
.me
.REG
[0] = BOX_NativeString("]");
17827 REGB0
= TAG_Int(1);
17828 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
17829 once_value_6
= fra
.me
.REG
[0];
17830 register_static_object(&once_value_6
);
17831 } else fra
.me
.REG
[0] = once_value_6
;
17832 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17833 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17835 /* compiling/compiling_icode.nit:1248 */
17836 if (!once_value_7
) {
17837 fra
.me
.REG
[0] = BOX_NativeString(" != NULL)");
17838 REGB0
= TAG_Int(9);
17839 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
17840 once_value_7
= fra
.me
.REG
[0];
17841 register_static_object(&once_value_7
);
17842 } else fra
.me
.REG
[0] = once_value_7
;
17843 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17844 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
17846 stack_frame_head
= fra
.me
.prev
;
17849 static const char LOCATE_compiling___compiling_icode___IClosureDef___compile_closure
[] = "compiling_icode::IClosureDef::compile_closure";
17850 val_t
compiling___compiling_icode___IClosureDef___compile_closure(val_t p0
, val_t p1
){
17851 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
17856 static val_t once_value_1
; /* Once value */
17857 static val_t once_value_2
; /* Once value */
17858 static val_t once_value_3
; /* Once value */
17859 static val_t once_value_4
; /* Once value */
17860 static val_t once_value_5
; /* Once value */
17861 static val_t once_value_6
; /* Once value */
17862 static val_t once_value_7
; /* Once value */
17863 static val_t once_value_8
; /* Once value */
17864 static val_t once_value_9
; /* Once value */
17865 static val_t once_value_10
; /* Once value */
17866 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
17867 fra
.me
.file
= LOCATE_compiling___compiling_icode
;
17868 fra
.me
.line
= 1253;
17869 fra
.me
.meth
= LOCATE_compiling___compiling_icode___IClosureDef___compile_closure
;
17870 fra
.me
.has_broke
= 0;
17871 fra
.me
.REG_size
= 9;
17872 fra
.me
.nitni_local_ref_head
= NULL
;
17873 fra
.me
.REG
[0] = NIT_NULL
;
17874 fra
.me
.REG
[1] = NIT_NULL
;
17875 fra
.me
.REG
[2] = NIT_NULL
;
17876 fra
.me
.REG
[3] = NIT_NULL
;
17877 fra
.me
.REG
[4] = NIT_NULL
;
17878 fra
.me
.REG
[5] = NIT_NULL
;
17879 fra
.me
.REG
[6] = NIT_NULL
;
17880 fra
.me
.REG
[7] = NIT_NULL
;
17881 fra
.me
.REG
[8] = NIT_NULL
;
17882 fra
.me
.REG
[0] = p0
;
17883 fra
.me
.REG
[1] = p1
;
17884 /* compiling/compiling_icode.nit:1257 */
17885 fra
.me
.REG
[2] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17886 /* compiling/compiling_icode.nit:1260 */
17887 REGB0
= CALL_compiling___compiling_icode___I2CCompilerVisitor___closure(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17888 /* compiling/compiling_icode.nit:1261 */
17889 REGB1
= TAG_Bool(1);
17890 CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
17891 /* compiling/compiling_icode.nit:1264 */
17892 fra
.me
.REG
[3] = CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17893 /* compiling/compiling_icode.nit:1265 */
17894 fra
.me
.REG
[4] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
17895 CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
17896 /* compiling/compiling_icode.nit:1268 */
17897 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CompilerVisitor___decl_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17898 /* compiling/compiling_icode.nit:1269 */
17899 fra
.me
.REG
[5] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17900 /* compiling/compiling_icode.nit:1270 */
17901 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___top_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17902 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17903 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
17904 /* compiling/compiling_icode.nit:1271 */
17905 fra
.me
.REG
[6] = CALL_compiling___compiling_base___CompilerVisitor___header_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17906 fra
.me
.REG
[6] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17907 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
17908 /* compiling/compiling_icode.nit:1274 */
17909 REGB1
= TAG_Int(5);
17910 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17911 if (!once_value_1
) {
17912 fra
.me
.REG
[7] = BOX_NativeString("OC_");
17913 REGB1
= TAG_Int(3);
17914 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
17915 once_value_1
= fra
.me
.REG
[7];
17916 register_static_object(&once_value_1
);
17917 } else fra
.me
.REG
[7] = once_value_1
;
17918 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17920 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___basecname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17922 if (!once_value_2
) {
17923 fra
.me
.REG
[7] = BOX_NativeString("_");
17924 REGB1
= TAG_Int(1);
17925 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
17926 once_value_2
= fra
.me
.REG
[7];
17927 register_static_object(&once_value_2
);
17928 } else fra
.me
.REG
[7] = once_value_2
;
17929 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17930 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17931 REGB1
= CALL_compiling___compiling_icode___I2CCompilerVisitor___new_number(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17932 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
17933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17934 if (!once_value_3
) {
17935 fra
.me
.REG
[7] = BOX_NativeString("");
17936 REGB1
= TAG_Int(0);
17937 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
17938 once_value_3
= fra
.me
.REG
[7];
17939 register_static_object(&once_value_3
);
17940 } else fra
.me
.REG
[7] = once_value_3
;
17941 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
17943 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
17944 /* compiling/compiling_icode.nit:1275 */
17945 fra
.me
.REG
[7] = CALL_compiling___compiling_icode___I2CCompilerVisitor___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
17946 if (!once_value_4
) {
17947 fra
.me
.REG
[8] = BOX_NativeString("struct stack_frame_t *closctx");
17948 REGB1
= TAG_Int(29);
17949 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
17950 once_value_4
= fra
.me
.REG
[8];
17951 register_static_object(&once_value_4
);
17952 } else fra
.me
.REG
[8] = once_value_4
;
17953 fra
.me
.REG
[8] = fra
.me
.REG
[8];
17954 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
);
17955 /* compiling/compiling_icode.nit:1276 */
17956 fra
.me
.REG
[7] = CALL_compiling___compiling_base___CompilerVisitor___writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
17957 fra
.me
.REG
[7] = CALL_compiling_writer___Writer___sub(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
17958 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
17959 /* compiling/compiling_icode.nit:1278 */
17960 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]);
17961 /* compiling/compiling_icode.nit:1279 */
17962 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
17963 if (UNTAG_Bool(REGB1
)) {
17965 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
17966 if (UNTAG_Bool(REGB2
)) {
17967 REGB2
= TAG_Bool(0);
17970 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
17974 if (UNTAG_Bool(REGB1
)) {
17975 /* compiling/compiling_icode.nit:1280 */
17976 if (!once_value_5
) {
17977 fra
.me
.REG
[0] = BOX_NativeString("return;");
17978 REGB1
= TAG_Int(7);
17979 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
17980 once_value_5
= fra
.me
.REG
[0];
17981 register_static_object(&once_value_5
);
17982 } else fra
.me
.REG
[0] = once_value_5
;
17983 fra
.me
.REG
[0] = fra
.me
.REG
[0];
17984 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
17986 /* compiling/compiling_icode.nit:1282 */
17987 REGB1
= TAG_Int(3);
17988 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
17989 if (!once_value_6
) {
17990 fra
.me
.REG
[7] = BOX_NativeString("return ");
17991 REGB1
= TAG_Int(7);
17992 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
17993 once_value_6
= fra
.me
.REG
[7];
17994 register_static_object(&once_value_6
);
17995 } else fra
.me
.REG
[7] = once_value_6
;
17996 fra
.me
.REG
[7] = fra
.me
.REG
[7];
17997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
17998 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
17999 if (!once_value_7
) {
18000 fra
.me
.REG
[8] = BOX_NativeString(";");
18001 REGB1
= TAG_Int(1);
18002 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
18003 once_value_7
= fra
.me
.REG
[8];
18004 register_static_object(&once_value_7
);
18005 } else fra
.me
.REG
[8] = once_value_7
;
18006 fra
.me
.REG
[8] = fra
.me
.REG
[8];
18007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
18008 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
18009 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
18011 /* compiling/compiling_icode.nit:1284 */
18012 CALL_compiling___compiling_icode___I2CCompilerVisitor___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
18013 /* compiling/compiling_icode.nit:1285 */
18014 if (!once_value_8
) {
18015 fra
.me
.REG
[0] = BOX_NativeString("}");
18016 REGB1
= TAG_Int(1);
18017 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
18018 once_value_8
= fra
.me
.REG
[0];
18019 register_static_object(&once_value_8
);
18020 } else fra
.me
.REG
[0] = once_value_8
;
18021 fra
.me
.REG
[0] = fra
.me
.REG
[0];
18022 CALL_compiling___compiling_icode___I2CCompilerVisitor___add_instr(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
18023 /* compiling/compiling_icode.nit:1288 */
18024 CALL_compiling___compiling_base___CompilerVisitor___writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
18025 /* compiling/compiling_icode.nit:1289 */
18026 CALL_compiling___compiling_base___CompilerVisitor___decl_writer__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
18027 /* compiling/compiling_icode.nit:1290 */
18028 CALL_compiling___compiling_icode___I2CCompilerVisitor___closure__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
18029 /* compiling/compiling_icode.nit:1291 */
18030 CALL_compiling___compiling_icode___I2CCompilerVisitor___local_labels__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
18031 /* compiling/compiling_icode.nit:1292 */
18032 REGB0
= TAG_Int(3);
18033 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
18034 if (!once_value_9
) {
18035 fra
.me
.REG
[1] = BOX_NativeString("((fun_t)");
18036 REGB0
= TAG_Int(8);
18037 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
18038 once_value_9
= fra
.me
.REG
[1];
18039 register_static_object(&once_value_9
);
18040 } else fra
.me
.REG
[1] = once_value_9
;
18041 fra
.me
.REG
[1] = fra
.me
.REG
[1];
18042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
18043 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
18044 if (!once_value_10
) {
18045 fra
.me
.REG
[6] = BOX_NativeString(")");
18046 REGB0
= TAG_Int(1);
18047 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
18048 once_value_10
= fra
.me
.REG
[6];
18049 register_static_object(&once_value_10
);
18050 } else fra
.me
.REG
[6] = once_value_10
;
18051 fra
.me
.REG
[6] = fra
.me
.REG
[6];
18052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
18053 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
18056 stack_frame_head
= fra
.me
.prev
;
18057 return fra
.me
.REG
[3];